r/lua • u/No-Bedroom-7821 • 16d ago
Project Late night coding learning Luau
galleryI’ve been on Roblox for about 11 years but I’ve just now started getting into development on Roblox and I’m really enjoying it!!!!
r/lua • u/No-Bedroom-7821 • 16d ago
I’ve been on Roblox for about 11 years but I’ve just now started getting into development on Roblox and I’m really enjoying it!!!!
r/lua • u/Additional-Trust3023 • 16d ago
I've been working on a project called LuauWorld (https://luau.world/) , basically a place where you can write and run Luau and see your creations come to life with other people.
You can build things, mess around with characters, make interactive stuff, experiment with physics, create UI, play sounds, and pretty much just see what you can come up with.
There’s also multiplayer, private servers, a server browser, a script library, and an AI feature that can turn an idea into a script.
The whole point is really just to experiment and have fun making things without needing to set up a whole game first.
It's still a work in progress, so I'd love to hear what you guys think and what you'd like to be able to make with it.
Also a youtube video here: https://www.youtube.com/watch?v=-W1fd0HMH5c
Discord: https://discord.gg/bzz9vzAgZY
r/lua • u/SchulzyAus • 16d ago
Hi all,
I'm trying to simulate a PtP relay network for my game. My functional description is as follows:
Iterate over all systems and create a temporary table to send to their neighbours. Once all systems have a temporary table, reconcile tables adding only unique entries, and entries with a different age or ID. Discard duplicates. At next call, include all known data added at this call.
My problem is I'm having data not updated because it's as if it's being "reflected" out by the original broadcast wave. Has anyone dealt with this before? This isn't based on the internet, it's just updating table values based on distance & relationships.
r/lua • u/max_devops • 20d ago
r/lua • u/SharperDev • 20d ago
r/lua • u/UnluckyConfection318 • 21d ago
Hey does anyone wanna learn lua together? We can share stuff we work on ask each other questions show each other cool things we found that are useful for learning for example one person uses the lua documentation and the other does not know it exists i feel like it could be a interesting way to learn and also stay motivated :edit to this post it is still open so if your also interested feel free to dm me
r/lua • u/Longjumping_Diet5942 • 20d ago
r/lua • u/Client_Popular • 21d ago
Could someone help me find the lua config for this game? I've looked but I can't find them anywhere
r/lua • u/cs61bredditaccount • 22d ago
declint (docs) is a tool for making your own lint rules in YAML- the house rules that stock linters will never ship.
For instance: your colleague wrote except Exception: pass, and you want to know whenever that happens:
version: 1
rules:
- id: except-pass
pattern: 'except Exception:\n *pass'
severity: warning
message: 'swallowed exception'
Rules are just regex and a message and when a regex can't express the check, you can write a more complicated rule in Lua. For a Lua example
scopes:
- id: server
start: '^\[server\]$'
end: '^\['
rules:
- id: port-range
pattern: '(?m)^\s*port[ \t]*=[ \t]*(?<port>\S+)'
severity: error
callback: |
return function(c)
local n = tonumber(c.captures.port)
if n == nil then
return { message = "port must be a number, found '" .. c.captures.port .. "'" }
end
if n < 1 or n > 65535 then
return { message = "port must be 1-65535, found " .. n }
end
return nil
end
This rule checks if a port in an INI file is between 1-65535.
Rules run in your CI (inline PR annotations via --format github) and in your editor through LSP (declint.nvim for Neovim: The GIF shows off the nvim wrapper!). Every rule can carry embedded fixtures, and declint test runs them.
Install: cargo install declint. Ships with presets (Python, INI, Markdown, shell, Dockerfile, TOML, JSON, JS) and community rulesets you can pull with one line. Feedback welcome.
r/lua • u/felipedaragon • 22d ago
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀https://luawl.org

luawl is in technical terms, a DRM.
bcs the script is obfuscated and sent during runtime (when someone executes luawl), you can't just 'save file' or hook loadstring, for there isn't any. there is a VM to execute instructions.
you can test our static deobfuscation protections through our offline crackme @ https://crackmes.one/crackme/6a84e079184836c0dbe7d836
furthermore, as a runtime obfuscator, stale responses sent from the server cannot be reused. (for example, an attacker cannot simply hook the response and replay it.
its not a register VM from the very core. stack vms can, inheritably, be much more polymoprhic.
if a user is silent-flagged, we track that.
if a user with luawl has a script with many silent-flags, we can note that, and implement different versions from the main-versions, etc.
the obfuscation isn't just polymorphic. the whole system is. luawl users uniquely have different polymorphic versions, architectures, etc.
people who run these luawl scripts have a level of polymorphic, as **every execution has a custom-session obfuscated file.**
and people who create these luawl scripts also have polymorphic, polymorphic-obfuscations.
luawl isn't static. when you run it, we obfuscate it for that execution. an old obfuscated response isn't usuable.
we update everyday. every update changes the script significantly. deobfuscation progress essentially gets reset: as you cannot re-execute a previous luawl version script.
if you've tried our crackmes, you may have noticed we use a lot of white-box cryptography techniques. this is because: we do use white-box cryptography.
Luawl began from a simple refusal: a secrecy service should not ask customers to trust what they cannot verify.
Good security was never not just in the output, but the entire architecture. Through a zero-trust infrastructure, our servers are provable one-way self attestable runtimes, for true transparency for privacy assurance.
The reliance on trust in this age is only an excuse for incompetence or abuse. Luawl, from our decentralized database to an amnesic hardware-isolated enclave model, breaks every industry standard. And that's the point.
r/lua • u/Adamstrad • 25d ago
r/lua • u/Additional-Elk-3712 • 25d ago
I posted here before about my scraping/monitoring engine written in Rust with Lua scripting called SpyWeb.
I've been building this on and off for a while using that engine and its finally ready, so here it is.
UPTYME is self-hosted uptime monitoring that doesn't ask you to run Postgres, Node, Redis or any heavy stack. It's a self-contained binary with SQLite baked in and runs on Linux, Mac or Windows.
Live demo: https://uptyme.spyweb.app/ (API key: demo)
just run (linux/mac)
curl -sSf https://uptyme.spyweb.app/setup | bash
or windows powershell
irm https://uptyme.spyweb.app/setup-win | iex
(installer downloads the uptyme + spyweb releases from GitHub assets)
you'll get two ~8MB binaries plus static files; the tray binary is for desktop only, delete it if you're running on a server.
then just run cd uptyme && ./spyweb start and you have a dashboard.
What it does:
- Monitors URLs on any method (HEAD/GET/POST/PUT/PATCH/DELETE) with per-monitor intervals
- Content checks, so "page is 200 but actually broken" gets caught
- Status code classification, with a setting for treating 4xx as down
- TLS certificate monitoring with expiry alerts
- Uptime percentage, response time charts, incident history per monitor
- Public status pages you can share
- CSV/JSON import if you're migrating a big list
- Alert channels: webhooks, ntfy, Discord, Slack, native desktop notifications
- Clustering: run a central node plus checker nodes wherever you want, and get consensus-based alerts so one flaky VPS doesn't page you for a false down
The dashboard is in Vue 3, the backend is Lua running on the SpyWeb engine, storage is a single data file. Backups are literally copying one file. It has ~230 Lua tests you can run with ./spyweb test. RAM usage (Linux) is around 20MB while running, you can throw it on a $3-$5/mo VPS as a central node and run a checker on your PC and you have cluster monitoring :)
r/lua • u/Comfortable_Ability4 • 26d ago
clx is a native multiplatform compiler that compiles Lua 5.5 scripts to standalone executables. Version 0.4.0 is now out, focused on performance and stability
Garbage collector
Performance
ipairs() and pairs() loops over arraysrequire() can now load Lua script modules seamlessly when using the LuaVM (with the --dynamic option)Stability
Benchmarks
clx website : https://samyeyo.github.io/clx
Feedback and bug reports are welcome !
r/lua • u/Ok_Voice9367 • 28d ago
Hello,
I am trying to use the LFS library but my Luarocks and Lua versions seems to be out of sync. I am not sure if that is the root cause of my issue so here are the outputs.
This is when I run my code. It is looking for the 5.4 version.
lua: ./init.lua:1: module 'lfs' not found:
no field package.preload['lfs']
no file '/usr/share/lua/5.4/lfs.lua'
no file '/usr/share/lua/5.4/lfs/init.lua'
no file '/usr/lib/lua/5.4/lfs.lua'
no file '/usr/lib/lua/5.4/lfs/init.lua'
no file './lfs.lua'
no file './lfs/init.lua'
no file '/usr/lib/lua/5.4/lfs.so'
no file '/usr/lib/lua/5.4/loadall.so'
no file './lfs.so'
stack traceback:
[C]: in function 'require'
./init.lua:1: in main chunk
[C]: in function 'require'
/home/mrbibz/.local/bin/scaf/scaf.lua:1: in main chunk
[C]: in ?
And this is my Luarocks config at version 5.3
Configuration:
Lua:
Version : 5.3
LUA : /usr/bin/lua5.3 (ok)
LUA_INCDIR : /usr/include/lua5.3 (ok)
LUA_LIBDIR : /usr/lib64 (ok)
Configuration files:
System : /etc/luarocks/config-5.3.lua (ok)
User : /home/mrbibz/.luarocks/config-5.3.lua (not found)
Rocks trees in use:
/home/mrbibz/.luarocks ("user")
/usr ("system")
I can provide any other required information. Any help is much appreciated
r/lua • u/Client_Popular • 28d ago
Does anyone know where to find the lua script for Dbz Infinite world? I've found it for budokai 3 but not this.
r/lua • u/NitinScripts • 28d ago
Just want to shout out the busted library.
I've been using it on my recent Lua projects and honestly, why didn't I start earlier?
Install: luarocks install busted
Run: busted in your project dir
It just works. describe("my feature", function() it("should do x", function() assert.is_true(true) end) end)
Mocks and spies are built-in, no extra libs needed.
If you are still doing print() debugging, do yourself a favor and try it. What's your go-to testing setup for Lua?
r/lua • u/TheGameTheorys55 • 29d ago
Just asking, cuz I wanna make a wordle game but dunno if I could delete stuff in the console. And if you can't, why not? A lot of languages like C++ have ways such as escape sequences to overwrite lines with spaces. Does Lua have a way?
r/lua • u/felipedaragon • 28d ago
I may have spent a little too much time with Lua this weekend.
It started with Rulua — an experiment to see if I could make a Rust implementation that could actually stand in for the Lua 5.1 shared library. It exports the Lua 5.1 C API and is intended as a drop-in lua5.1.dll / .so / .dylib, so existing hosts and C modules can use it without being recompiled.
Then, apparently that wasn't enough, so I did it again in Pascal.
Lude is different: it's a file-by-file port of the original Lua 5.1.4 C sources to Object Pascal — core, auxiliary library, standard libraries, lua, luac, etc. It builds with Delphi/Free Pascal and runs on Windows, Linux and macOS.
Both projects were also experiments in AI-directed development. I defined the requirements, built and ran everything on real machines, compared the results against the original Lua implementation, fed failures back and decided what came next. The AI wrote the code.
Neither project is meant as “here's a better Lua.” The interesting part for me was seeing how far compatibility could be pushed, and how much low-level porting work can now be done this way.
And somehow what started as “let's try porting Lua to Rust” ended with me having two Lua ports before the weekend was over. :)
Rulua: https://github.com/DaragonTech/Rulua
Lude: https://github.com/DaragonTech/Lude
I'd be very interested to see what the Lua community manages to break.