Luckily, Lua 5.1 is open source, so figuring out the internals is as easy as just reading the source, here. In this post I’ll be talking about how you can manipulate that Lua VM in the ROBLOX 2012 client, which you can download here. ROBLOX uses the Lua 5.1 source, which in later versions they heavily modified, however since we’re using an old client we should be fine. This gives us a great chance to dabble with some old ROBLOX clients, easily messing with the Lua VM, If you’re interested in possibly doing this same thing with another game, there’s a list of many, many games that use a Lua VM here Their older clients used a barely, if at all, modified VM. Their current client uses a massively modified Lua VM, from encrypting opcodes, checking return addresses on subroutines, and even stripping the compiler from the client completely and compiling on the server and sending the bytecode. ROBLOX, like many other games, uses an internal Lua VM to execute scripts. Today we’re going to be focusing on one game in particular, you might’ve heard of it… ROBLOX. The reason so many games use Lua as their internal scripting engine is because it is extremely extensible, It’s also extremely lightweight and uses little resources. One of the popular scripting languages used is the Lua language. Many games today rely on scripting languages and an internal API to interface with the game engine itself. Take the info in this with a grain of salt. For example they’ve completely rewritten their lua implementation, not to mention I haven’t touched the current client in a while. NOTE: 2022 Dec 1st – Roblox has changed a LOT even since I wrote this article.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |