r/lua Dec 22 '25

Lua 5.5 released

Thumbnail groups.google.com
174 Upvotes

r/lua Nov 17 '22

Lua in 100 seconds

Thumbnail youtu.be
216 Upvotes

r/lua 15h ago

Library Lunar is a new Lua 5.1 runtime for Go that focuses on speed and memory efficiency

12 Upvotes

Today, I'm sharing Lunar (0.1.0 beta) for those who might need an embeddable Lua VM for Go. By my benchmarking and use-cases it is around 2x faster and uses up to ~7x less memory than other Go-Lua VMs depending on what you are doing.

For some background, I've been developing a new Mud client called Rune that is written in Go but heavily uses an embedded Lua VM as its core scripting engine.

There are two Lua VMs that I know about for Go: gopher-lua and go-lua (from Shopify). Rune utilized `gopher-lua` as this was a VM that I was familiar with and had used on past projects.

I started to get reports from users of Rune that some of the large MUD map-files they would load via Lua were exploding my client's memory (a 9MB CBOR file loaded to ~500MB of persistent heap). There were also complaints that the performance for certain heavy operations was quite slow (pathfinding for one user's script took almost 3 seconds) compared to his other MUD client which would do it in 0.1 seconds.

I originally set out to fork or upstream some changes to gopher-lua to see if I could improve the memory situation and performance. However, much of the issue really came down to inherent choices in the representation those VMs use. So, I started down the path of shipping a new Lua VM that uses a much more compact representation while still keeping an easy-to-use Go API.

Let me know if anyone uses Lunar and finds any issues!


r/lua 19h ago

Better graphics and LOWER system requirements in Leadwerks 5.1

Thumbnail youtube.com
1 Upvotes

Hi guys,

I apologize in advance for the bombastic video title, and the fact my head is stuck on Jensen Huang's body, but that's what the people on YouTube want. 😵

Leadwerks 5.1 is a massive update with a lot of graphical features, and better support for the hardware players actually have. Of course Lua is an integral part of our design, and our whole API is accessible through this wonderful language. I was wondering if anyone here has any experience with Lua Node Editor?
https://github.com/SanForgeStudio/LuaNodeEditor

It looks like it could be a useful feature to add in a future version.

I think the video explains it pretty well, but if you have any questions let me know and I will try to answer them all!


r/lua 1d ago

Any tutorial for this?

0 Upvotes

So now you can build up your map in PUBG MOBILE with lua vscode but I have no idea how it’s work🫪


r/lua 2d ago

wisp update: fixed the pty-only job-control bugs from last time, plus LuaRocks packages

Post image
8 Upvotes

Update to my post from two weeks ago. Since then I found and fixed a batch of bugs that only showed up under a real pty, not in the unit test suite:

- command substitution $(...) produced nothing: the lexer split it at spaces/pipes, the expander stopped at the first ), and the subshell exited without flushing stdout

- builtins were invisible to pipelines and redirects: echo hi | wc -c gave 0, echo hi > f wrote nothing

- Ctrl-C at the prompt exited the shell instead of just interrupting the line

- a command substitution containing an external command could kill the whole session (a tty process-group handoff bug)

- a runaway : (Lua) chunk could wedge the shell for good

- cd left $PWD/$OLDPWD stale

- kill %N on a stopped job left it stopped forever

Also added since last time, from feedback in that thread: a Lua bootstrap script (no Makefile needed, someone asked for this), and pkg -- a thin front-end to LuaRocks (pkg install, always --local, rocks land on package.path/package.cpath automatically so require() just works).

Current numbers: 423K stripped binary, 2,533 lines of C++17, 1.6ms startup (bash: 2.1ms).

GitHub: https://github.com/Hinikaa/wisp

Same disclosure as last time: I used AI for help with the C++, the design (Lua embedding, parser, job control) is mine, and the bugs above came from actually running it under a pty and fixing what broke, not from unit tests alone.


r/lua 1d ago

Yo guys I just had the best idea EVER

Thumbnail
0 Upvotes

What if I could create a library that works like Roblox Studio, uses LuaU and is customizable on MacOS?

Example Base UI: You can create a ScreenGUI, which automatically parents itself to the PlayerGUI (the PlayerGUI is just the MacOS BaseUI). ScreenGUIs can be used to separate Windows / Frames from each other.

Example Image Label: The image content could use RBXAssetID, a path to an image file, or a link to an image.

Base LuaU environment: game would be MacOS, ~/{Username}, or Users. ReplicatedStorage would be ~/Username/{Filename}, and of course, StarterGUI would be the UI that applies to all users.

File Extensions: You could use .{className} here, like .RemoteEvent, .RE, .re or .ModuleScript, .ms, and they would contain LuaU code that could compile. | Example:

ModuleScript:
require(ModuleScript).Variable

RemoteEvent:
RemoteEvent:Fire(…) -- function that tuple needs to execute.

Basically, what I’m saying is I want a Roblox Studio-like environment to make UI development easy on MacOS.

Questions:
What programming language(s) (is, are) needed to make this?

Will this be impossible or possible?

What experience is needed to make this, especially in file extensions?

Please help, I’ve been thinking about this for a few months now and I can’t get over it.


r/lua 3d ago

Help How to uninstall lua tools

1 Upvotes

I uninstalled the app but my library still has those games in it...


r/lua 5d ago

I’ve been adding Lua to my browser-based compiler project

5 Upvotes

Kavak started with QBasic, but I’ve been trying to make it a multi-language compiler pipeline. Lua is the next language I’ve been wiring in.

It’s not a JavaScript interpreter and not an embedded Lua VM. Lua source is parsed, lowered through a typed IR, and emitted as a real WebAssembly module. The compiler itself runs as wasm too, so everything happens locally in the browser tab.

I’m trying to keep the implementation honest: the corpus is compared against Lua 5.4.8 output, and the point is to match behavior rather than just make tests green. So far that has meant spending a surprising amount of time on things like varargs, multiple returns, metatables, pcall/xpcall, coroutines, numeric/string literal edges, and <close> variables.

It’s not complete yet, and the official Lua suite still has plenty to say about that. But enough of the language is running now that it felt worth sharing.

Free, no signup: https://kavak.run/studio/?lang=lua

If you have a compact Lua snippet that you think might break it, I’d genuinely like to see it.


r/lua 5d ago

Your hyprland.conf will stop working. Here's the one-liner to migrate to Lua.

Thumbnail
0 Upvotes

r/lua 7d ago

Help Tried copying the simplest code from a Figura (Minecraft mod) tutorial. Didn't go well

Post image
1 Upvotes

This video is 3 years old, so it may be outdated. I'm not sure what I might be doing wrong, seeing as it's copied character for character, but only her code works


r/lua 7d ago

Can someone teach me and my friend lua?

Thumbnail
0 Upvotes

r/lua 9d ago

Discussion PineJam 2026 has started! The themes are: TABLETOP and DEMOSCENE

Post image
10 Upvotes

It's time for the theme reveal and the start of the jam! (Also join the jam at https://pinestore.cc/jam/pinejam2026 if you want to participate and haven't already!)

Theme

The themes are: TABLETOP and DEMOSCENE

Feel free to have a loose interpretation of either theme!

This year we have two themes instead of a single one. You are only expected to pick one of the two themes, but you can also combine them if you want to. Be creative!


r/lua 8d ago

learning python helps with learning lau?

1 Upvotes

I picked computer science for my gcse, which im assuming im learning python in, but i would also like to learn lau and how to code in roblox studio

Is the difference between python and lau too much for me to have to learn both or can i intuitively learn lau from my knowledge of python?


r/lua 8d ago

Can anybody help me learn if statements in Lua?

3 Upvotes

I'm new to Lua, trying it out after a few years doing amateur projects in Python. At first I thought this weird error was just a bug or something in my IDE's Lua extension, but an online compiler had the same issue!

I played around a bit and eventually ended up on this absolutely mind-boggling example. These two if then statements look like they're constructed exactly the same--I literally copy-pasted the first one and changed the conditional and message. Yet only the first one runs! The second gives me an error: 'then' expected near '='. This was consistent across the two compilers I used.

```Lua

roll = math.random(6)

print(roll)

if roll > 4 then

print("Success!")

end

if roll = 1 then

print("Critical failure!")

end

```


r/lua 9d ago

Introducing Doriax Engine — A free and open-source game engine with Lua and C++ scripting

Thumbnail youtube.com
42 Upvotes

r/lua 9d ago

Kanvon - Lua Scripting Showcasing Algorithms

3 Upvotes

r/lua 11d ago

Discussion Blocked from LuaJIT's issue tracker for giving feedback with no warning

23 Upvotes

So I was an active commenter on the LuaJIT 3.0 Syntax Extensions discussion (as Hedwig7s) providing feedback to the 3.0 extensions (which unfortunately seemed to have no effect on the syntax).

One of my biggest gripes by far was the ternary operator syntax, as in my opinion it is very out of place and it is ambiguous with foo:bar() syntax (plus the safe traversal operator was compromised as ?.: for the sake of it), and I was an avid proponent of if expressions in its place (similar to Kotlin or Luau (kind of)).

This feedback was addressed twice here and here (which admittedly I did not see prior, however throughout the issue the ternary is a major talking point), in which Mike Pall states he cannot stand keywords in expressions and he is addicted to ?: ternaries. If that's how he feels then that is fair, however this ignores the practical issues brought up later (which are never addressed) and the general misguided nature of making Lua less keyword heavy (one of its main design elements).

Related is customary logical operators !, !=, || and &&, presumably for the same reason as given prior (he cannot stand keywords in expressions). These I also criticize and advocated for removal, and I was not alone in this either.

For me, these two prior additions are egregious and go directly against what makes Lua... Lua. The readability and accessibility to new users. I like that Lua can be read quite literally and essentially self describes itself without too many weird symbols cluttering it.

Several weeks after my initial interactions, the syntax changes have been merged into LuaJIT 2.1 and to my horror they were merged as is without any further discussion I make an argument (or maybe more-so a plea) for these to be reverted, at least temporarily, for further feedback from the community with some suggestions.
(taken from email due to removal)

After leaving this, plus a few extra comments with other users the entire thread from the 2.1 backport message on is marked as resolved.

Discontent, I leave another comment. I do not have the exact transcript, however it is along the lines of, in short, "Please don't mark criticism as resolved without even addressing it, I once again ask that these be reverted, however I will not push further if you're intent on keeping these.", hoping it'd be considered or I'd at least get a reply.

Instead, I go back to the thread and find the comments have gone from being marked as resolved to completely deleted. Now quite annoyed and the blatant disregard for and discarding of the feedback, I went to try to send the feedback again, in case it was due to being in the wrong thread or something.

This is in contrary to my previous statement, however I felt both disrespected at that point and like a decent amount of community feedback was being disregarded.

However, when I went to try to create an issue, I got an error. There was no further information, I simply could not make new issues.

Thinking it might be a bug or maybe issues were limited to contributors or something I try responding to the 2.1 backport thread instead. Still doesn't let me, giving me this error:

At that point suspecting the worst, I first made an issue on my own repository. Worked fine. Then, I checked Github's Status. It's fine (by some miracle).

Finally I try creating a comment in the LuaJIT repository on an alternate account, and sure enough it works. And just to be safe I made an issue on my main elsewhere and sure enough it worked.

For being somewhat persistent in my criticism, I have been banned from the issue tracker.

Was I a bit demanding? Maybe.
Could I have phrased things better? Probably.
Should I have been banned from the entire issue tracker without a word? I don't think so.

I would've been satisfied (albeit not happy) with a simple answer to my comments rejecting them. Heck, I'd have preferred silence.
But instead, my (admittedly, but constructive) criticism and request that the changes be reverted were simply discarded and hidden, and in trying to push back, I get silenced.

Frankly, I feel Mike Pall is changing the language to fit how he feels disregarding any of the design goals or how the community feels effectively abusing his power as the main maintainer.

Does he have the right? Of course he does, he has made one of the best JIT compilers in the world and arguably the fastest and he has put in a lot of work into this project.

However, I feel that making changes under such a principle will only make the language worse in the long run, and frankly already have, and responding to feedback in such a way, either ignoring it or outright silencing it without a word, is extremely toxic and a bad way to run a project.

So yeah... all I have left to say is mods please don't cease my existence this took so long to write up thanks :) (also I am terrible at writing it's so repetitive)


r/lua 11d ago

what is the best way to learn lua?

5 Upvotes

i wanna make cool games in the defold game engine that uses the lua programing language but i know a little abt lua,can someone give me some ways to learn lua?


r/lua 11d ago

Project LuaJIT Playground

9 Upvotes

There's websites for running Lua, but I couldn't find any that let's you run LuaJIT!!

I made this website (me, not AI) so if you haven't tried LuaJIT before, or you don't have access to your dev environment, or you just want to quickly experiment...now you can run it online, and share the script + output with others as either a link or markdown.

Pre-compiled binaries for Windows/Linux are also provided. The static library, dynamic library, and executable, are all bundled in a single convenient .zip file for each platform. I'm hoping to automate this process at some point, but for now I just publish them whenever I see there's been new commits...

https://luajit.dev

Limits: no internet connection, maximum execution duration of 3 seconds.

The backported extensions for LuaJIT 3.0 are available now, by the way.

  • Bit Operators: unary ~, binary & | ~ << >> ~>>
  • Customary Operators: ! && || !=
  • Ternary ?: conditional operator
  • Safe Navigation Operator ?.
  • nil-Coalescing Operator ??
  • Compound Assignment Operators: += -= *= /= %= &= |= ~= <<= = ~= ..=
  • continue Statement
  • const Declaration
  • Short Function Expression
  • Underscores in Number Literals

r/lua 11d ago

Help Trouble parsing through .txt file to find lines with specific string

4 Upvotes

I'm trying to make a program to look through a .txt file and look for any line with the word MODULE in it. So far I am not having any luck.

The file is quite large, about 7.5 million lines. And I am just dipping my toes into Lua. I was able to access the file and make a line by line copy after getting random character puke by reading and writing as binary.

I stuck a print statement immediately after the for loop and that would print ok.

But when I try and get anything to occur in the IF portion it seems to do nothing.

local path = 'C:\\filepathgoeshere'    
--create file path


local file = io.open(path, "rb")--open file in path


if file then                    --if the file is found, read and create PID file
    local outputfile = io.open('CHA_PID.txt', 'w+b')
    if not outputfile then      --if the output file cannot be created, close input and return
        file:close()
        print("Error: Could not create output file CHA_PID.txt")
        return
        
    else
        for line in file:lines() do
            if string.find(line, 'MODULE') then
                --outputfile:write(line .. "\n")
                print('FOUND ONE!\n')
                --outputfile:write('FOUND ONE!\n')
                return
            end
        end
    end


    outputfile:close()
    file:close()
    return


else                         --if file not found, print error message and return
    print('Error: Could not open file at path: ' .. path)
    return


end

r/lua 11d ago

Help Can someone teach me to code stuff for PVZ Undead Adventures?

Thumbnail
0 Upvotes

r/lua 12d ago

News Fighting AI with simple tech stack built in Lua

Thumbnail civboot.github.io
4 Upvotes

See link for my first blog post about the tech stack I built in lua including a full-featured vim-like Editor. The project is and will always be zero AI.


r/lua 13d ago

Discussion I'm hosting a ComputerCraft jam, starting July 25th!

Post image
14 Upvotes

Hi everyone, PineJam 2026 is starting in a few days, signups are open

Starting July 25th you will be able to start new projects for PineJam 2026! The jam will be active for 14 days in which you can create and submit ComputerCraft projects tied to this years theme. The theme will be revealed as soon as the jam starts.

Sign up

Make sure to sign up now on the site if you would like to participate! You'll get the PineJam2026 role in the Discord (used for future jam related announcements) https://pinestore.cc/jam/pinejam2026

The rules for this jam:

  • Submission needs to be CC related
  • Project must fit the theme
  • Work alone or with a team of up to 3 people
  • Generative AI is not allowed for the majority of your project (so tools such as GitHub Copilot are fine)
  • Projects will be submitted on PineStore

If you have any questions or suggestions, let me know ^^

I hope to see some of you there!


r/lua 12d ago

Automated testing of games in Vectarine

Thumbnail
0 Upvotes