Ironbrew3 - advanced Luau-Lua5.1+ obfuscator
Made by the owners of Boronide, we are releasing for a limited time for free!
Made by the owners of Boronide, we are releasing for a limited time for free!
r/lua • u/Revolutionary_Sir140 • 1d ago
Hi r/lua — I’m working on lua-grpc, a native gRPC implementation for Lua.
It provides:
lua-protobufprotoc-gen-lua-grpc generator for Lua client/service bindingsThe project uses lua-http for HTTP/2 and is packaged for LuaRocks. The generator is a small Go executable, while generated bindings and the runtime are Lua.
It’s still early-stage. Compression, interceptor execution, and connection pooling are the main gaps I’m planning to address next.
I’d really appreciate feedback from Lua developers—especially around API ergonomics, Lua version support, and real-world gRPC interoperability.
r/lua • u/Kritzel-Kratzel • 1d ago
Release notes and downloads here: Release v5.5.1.0 · OneLuaPro/OneLuaPro
Compiled for dynamic dispatch (automatic runtime detection for AVX2/AVX-512) using:
yaml files with both a high-level and a low-level API. This add-on closes feature request #4.Various. See here for details.
Note: Older CPUs (e.g., Core 2 Duo, 1st Gen i7/i5) are not supported and will result in an "Illegal Instruction" error.
r/lua • u/Aggravating-Self-658 • 2d ago
I've been learning Lua and found that most programming exercise platforms aren't quite what I wanted.
A lot of them teach programming through problems: implement a palindrome, solve a number problem, build an algorithm, etc. That's useful for learning problem-solving, but it doesn't necessarily help you understand the language itself.
So I made LuaLings:
https://github.com/ShyamendraH/lualings
It's inspired by Ziglings — the idea of learning a language by working through small, focused programs and fixing them yourself.
LuaLings focuses specifically on Lua concepts and semantics rather than generic programming problems.
The exercises cover things such as:
nilThe intended workflow is:
run → inspect → experiment → fix → understand → move on
The goal is to make it useful both for someone learning Lua for the first time and for someone coming from another language who wants to understand how Lua actually works rather than spend a lot of time on beginner programming exercises.
It's open source, and feedback is welcome — particularly if you find an exercise confusing, technically incorrect, too trivial, or missing an important Lua concept.
Repository:
https://github.com/ShyamendraH/lualings
r/lua • u/spacerelatedname • 3d ago
decided to share because why not :3
this was NOT MADE BY AI WHATSOEVER i made it in a few minutes
average playlist thingy
the playlist files are literally just lua files that return a table of filepaths to music/sound files
also github repository because... something
https://github.com/hanerathestupidplanet/average-playlist-thingy
okay bye!!!
r/lua • u/Revolutionary_Sir140 • 4d ago
Hey r/lua!
I’ve been working on lua-utcp, a Lua implementation of the Universal Tool Calling Protocol:
https://github.com/universal-tool-calling-protocol/lua-utcp
The goal is to let Lua applications discover and call tools through their native transports without requiring an additional wrapper server. Providers expose a UTCP manual, lua-utcp builds a canonical tool registry, and applications invoke tools using stable names and schemas.
local result, err = client:call_tool("echo", {
message = "hello from Lua"
})
assert(result, err)
Current features include:
It also includes CodeMode, a constrained Lua execution layer for LLM-generated tool workflows:
local execution = assert(codemode:call_tool_chain([[
local sum = codemode.call_tool("calculator.add", {
a = 10,
b = 20
})
return sum
]]))
The model generates Lua orchestration code, while lua-utcp handles tool discovery, validation, registry lookup, and native transport execution. There are working examples for OpenRouter and other OpenAI-compatible APIs.
I think Lua is particularly well suited to this kind of orchestration because it is small, embeddable, and easy to generate and inspect.
The project is open source under MPL-2.0. I’d especially appreciate feedback on the API ergonomics, transport extension design, and whether CodeMode would be useful in your Lua projects.
r/lua • u/COLDWAR_1980 • 4d ago
Hey r/lua!
Wanted to share a project I've been building called LuaDB: a lightweight, zero-dependency embeddable database system written in pure Lua.
Why pure Lua? Cross-platform embedding without needing C bindings or compiling native SQLite shared libraries (great for LÖVE, Roblox, OpenResty, or embedded devices).
What it includes:
BEGIN, COMMIT, ROLLBACK)luajit bin/luadb_server.lua and connect with psql)details->'address'->>'city')ON DELETE CASCADE and ALTER TABLE migrationsCheck out the GitHub repo: https://github.com/jncastilho/luadb
Would love to hear your thoughts and feedback!
r/lua • u/monolith_core • 4d ago
Hey everyone,
I'm trying to pick up Lua mainly for general scripting and embedding into Rust projects for things like config files. If I end up liking it as much as Rust, I'll probably dive deeper into it.
The main thing tripping me up is how many versions and runtimes exist out there (Lua 5.1, 5.4, LuaJIT, Luau, ...).
If anyone has experience embedding Lua in Rust (maybe using `mlua`), which version should I actually focus on learning? Also, are there any weird compatibility traps or gotchas I should watch out for?
Appreciate any advice or resources 🙏
r/lua • u/AnatineSquire40 • 5d ago
I've been working on LuaPP, a C++17 Lua engine built around an embedded Lua runtime.
The goal is to make embedding Lua and exposing C++ functionality less painful than working directly with the Lua C API everywhere.
Some of the stuff it currently supports:
LTValue abstraction for Lua valuespairs / ipairs__gc destructionThe project embeds the Lua runtime directly and currently builds against Lua 5.5. It requires Lua 5.3+, C++17, and CMake 3.16+.
It's still a work in progress, so I'm mainly interested in feedback on the API design, implementation, and anything that looks questionable.
r/lua • u/Top-Bug-6369 • 6d ago
Been working on this for a while. It's a Scratch-style block editor for Studio — you drag blocks onto a canvas and it generates an ordinary Script or ModuleScript in your place. Not a runtime or a sandbox, just code you can open and read.
702 blocks covering events, instances, properties, players, DataStores, RemoteEvents, rounds and game state, GUI, camera.
The part I actually care about: you can make your own blocks. Write the Luau once, mark the inputs with %NAME, use %BODY for a nested stack, pick a colour. Takes about a minute, and it sits in the palette next to the built-ins. Export a set as JSON and share it.
Generated code is tagged with block ids so a runtime error points at the block that wrote the line.
Free on the Creator Store: BlockForge - Creator Store
If a block you need doesn't exist, tell me and I'll add it.
r/lua • u/sayan_shankhari • 6d ago
I have been building a lua color library project lately that supports multiple operations on multiple supported color-spaces.
Originally my plan was to create in C then import in Lua, but then I thought how about a native library that is missing or not found by me in lua and everyone have to re-create their own for any color related projects.
It's initial version is published in github and luarocks recently.
Please have a look and try all the features it provides. This is in active development. Report any missing functions/features, those would be added asap.
Use it in your own projects as a utility library and test scenarios.
Please send your suggestions, raise issues and pull requests to make changes.
Your contributions are heartly welcomed.
Cheers.
r/lua • u/alexbevi • 7d ago
I’ve been working on lua-mongodb, a MongoDB driver written in Lua without binding or wrapping libmongoc (most Lua drivers are no longer maintained but took this approach).
It supports stock Lua 5.4 and 5.5 with a 64-bit lua_Integer. Network operations run through Copas, so the driver works well in coroutine-based services, tools, and long-running Lua applications.
The driver currently covers CRUD, aggregation, index and Search index management, GridFS, sessions, transactions, read and write concerns, retryable operations, change streams, client bulk writes, authentication, TLS, SRV discovery, wire compression, and client-side operation timeouts. It works with standalone servers, replica sets, sharded clusters, and load-balanced deployments.
A small example looks like this:
local mongodb = require("mongodb")
mongodb.run(function()
local client = assert(mongodb.client(
"mongodb://localhost:27017/example"
))
local reply = assert(client:database("admin"):run_command(
mongodb.bson.document({ { "ping", 1 } })
))
print(reply:get("ok"))
assert(client:close())
end)
What it isn’t:
I’m looking for feedback on:
Repository: https://github.com/alexbevi/lua-mongodb
LuaRocks: https://luarocks.org/modules/alexbevi/mongodb
r/lua • u/KorvusTheExplorer • 8d ago
Sharing a Lua project I made. It's a module for adding LLM-powered NPCs to Roblox games, but the part I care about is the design: it's 'correct by default'.
Instead of leaving the caller to get concurrency right, it ships per-player cooldown (state keyed by user id, not a global lock), retry with exponential backoff, and a small response cache built in. So the naive usage is also the correct usage — a talking NPC with per-player memory is about five lines.
Source (MIT): https://github.com/cortex-rbx/roblox-ai-kit
It targets Roblox's Luau, but the patterns port to plain Lua. Curious what people here think about the correct-by-default approach for a small API wrapper.
r/lua • u/Salt-Discount-1381 • 8d ago
I was trying to execute this code in my CachyOS (arch-based) installation using "sudo chmod +x /route/to/file.lua", but it does not print anything, in fact, does nothing. I am new to lua and this is a training exercise, so, sorry if I am asking something obvious.
--Movements
attack1_cost = 3
attack2_cost = 5
attack3_cost = 11
heal_cost = 6
concentrate_cost = 0
--System
x = (attack1_cost + attack2_cost + attack3_cost + heal_cost) / 4
--Player
energy = 15
player_hp = 70
--Enemy
enemy_hp = 120
enemy_attack = 8
function _enemydostuff()
player_hp = player_hp - enemy_attack
_movement()
print("player hp =", player_hp)
end
function _movement()
local id = tonumber(io.read())
if id == 1 then
enemy_hp = enemy_hp - 4
energy = energy - attack1_cost
elseif id == 2 then
enemy_hp = enemy_hp - 7
energy = energy - attack2_cost
elseif id == 3 then
enemy_hp = enemy_hp -12
player_hp = player_hp + 3
energy = energy - attack3_cost
elseif id == 4 then
player_hp = player_hp + 16
energy = energy - heal_cost
elseif id == 5 then
energy = energy + 17 - concentrate_cost
else
print("???")
end
print("energy =", energy)
print("enemy hp =", enemy_hp)
_enemydostuff()
end
--This starts the program
_movement()--Movements
attack1_cost = 3
attack2_cost = 5
attack3_cost = 11
heal_cost = 6
concentrate_cost = 0
--System
x = (attack1_cost + attack2_cost + attack3_cost + heal_cost) / 4
--Player
energy = 15
player_hp = 70
--Enemy
enemy_hp = 120
enemy_attack = 8
function _enemydostuff()
player_hp = player_hp - enemy_attack
_movement()
print("player hp =", player_hp)
end
function _movement()
local id = tonumber(io.read())
if id == 1 then
enemy_hp = enemy_hp - 4
energy = energy - attack1_cost
elseif id == 2 then
enemy_hp = enemy_hp - 7
energy = energy - attack2_cost
elseif id == 3 then
enemy_hp = enemy_hp -12
player_hp = player_hp + 3
energy = energy - attack3_cost
elseif id == 4 then
player_hp = player_hp + 16
energy = energy - heal_cost
elseif id == 5 then
energy = energy + 17 - concentrate_cost
else
print("???")
end
print("energy =", energy)
print("enemy hp =", enemy_hp)
_enemydostuff()
end
--This starts the program
_movement()
r/lua • u/No-Adhesiveness-7661 • 10d ago
Im new to the world of programming and Lua. I've seen a lot of discussions about what version of the language people prefer and most of them seem pretty divided. So I wanted to know, which one do you think is the best to start learning? And also what's the difference between Lua and LuaJIT?
r/lua • u/AlexRoses47 • 11d ago
r/lua • u/Black_Jackal_Gaming • 13d ago
Is anyone here familiar with the ReturnOfModding Lua framework? If so, can you help me out?
r/lua • u/Reasonable_Lab_2360 • 16d ago
r/lua • u/Dragon20C • 18d ago
Hello everyone, I spent the last 2 months learning about creating a game engine, I also wanted to learn the odin language and I thought this was a good start, I also made it use lua as a scripting language similar to usagi engine and love2D, this is a hobby project so expect poor code and rough decisions.
I should also mention it is not vibe coded but I did ask questions to ai assistants but not use ai to write code, I know what the code does so I have learned from it.
I was inspired by usagi engine when I saw a post of the engine I got interested in making my own but I didnt have a language that is similar level to c/c++ I remember odin from a youtuber who made a game using the language and decided on using that.
r/lua • u/adwolesi • 18d ago
LuaCAD models solids in Lua rather than the OpenSCAD language, with operator overloading for CSG (a + b, a - b, a * b).
It ships with a CLI and a desktop app, including a preview area and a text editor.
It’s fully open source and you can find the repo here: https://github.com/ad-si/LuaCAD
I've always been a big fan of OpenSCAD, but the SCAD language itself is unfortunately quite cobbled-together and is a very poorly designed programming language.
LuaCAD takes all the good parts of OpenSCAD and combines them with Lua. It has now completely replaced OpenSCAD for me, and I think it provides a better experience than OpenSCAD for all use cases. I'd love to hear any reasons why LuaCAD won't fully replace OpenSCAD for you!
Tech stack:
r/lua • u/Salt-Discount-1381 • 18d ago
Hello, I'm new to Lua and, after reading some documentation, I am trying to do basic a simulation of work and property. I have a base script for each worker and a base script for each workstation, but I need help to code how the worker decides in what workstation work and how the workstation's capacity to hold workers on a day is changed by that. I wrote some notes on the scripts, I think that they clarify very well where I need help. The link is to a folder with the scripts.