Skip to content

richie0866/Rostruct

Repository files navigation

Rostruct logo

Rostruct

GitHub Actions Release Status GitHub Actions ESLint Status Latest Release Rostruct Documentation
A modern exploiting solution, built for Roblox and Rojo

Rostruct is a project execution framework that runs your code as Roblox instances. This framework substitutes methods that use HttpGetAsync and GetObjects to load and run code. You can use it with Rojo to take advantage of game development tools in your exploits.

Whether you're familiar with Rojo, want easy asset management, or need some dependencies, you might enjoy using this library.

See the original concept here.

See rbxm-suite for a more efficient solution!

Why Rostruct?

When it comes to exploiting, projects are often developed and maintained within a single file. However, scripts that get too large become detrimental to your workflow. Over time, your project becomes more difficult to debug, maintain, and share.

In contrast, with Rojo, your codebase gets turned directly into Roblox Instances. Taking this modular approach to exploiting can significantly improve the development experience.

Rostruct's design complements a Rojo-based workflow, introducing script developers to a professional way to manage projects.

Documentation is available at the GitHub Pages site.

How it works

Rostruct Build Example

Rostruct builds instances following a file conversion model. Files compatible with Rostruct (lua, json, rbxm, etc.) are turned into Roblox instances.

Scripts have preset script and require globals to mirror LocalScript and ModuleScript objects. This way, runtime is similar between Roblox Studio and script executors.

Features

  • Promotes modular programming

    • Keep your codebase readable and maintainable.
  • Instance-based execution

    • Write your code like it's Roblox Studio.
  • GitHub support

    • Build packages from GitHub releases, allowing users to execute your code without manually downloading it.
  • Builds rbxm models

    • Go GetObjects-free by including assets in your project files.
  • Designed for Rojo

    • Test your code in Roblox Studio without an exploit.

Contributing

If there are any features you think are missing, or the code can be improved, feel free to open an issue!

If you'd like to contribute, fork Rostruct and submit a pull request when you're ready.

Setup

  1. Run npm install to install all dependencies used by this project.
  2. Then, run rbxtsc -w to start building the TypeScript source to Lua files as you make changes.

Testing

  1. Run npm run build:prod in a Git Bash terminal to generate an output file. Make sure the out/ directory is up-to-date with rbxtsc!

  2. The command should create a Rostruct.lua file in the root directory. At the end of the script, you'll find this code:

    return Rostruct

    You can replace that line with code that uses Rostruct.

License

Rostruct is available under the MIT license. See LICENSE for more details.