Autorun-rs v1.0.0 #39
Vurv78
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
🔨 Breaking Changes
The
sautorun-rs
folder is no longer being used.Autorun will now use simply
autorun
.If you're wondering why that was the name previously, it was supposed to be short for "Simple Autorun-rs", following the folder my original Autorun used. Since this is has gotten much bigger, the "simple" part is not really applicable.
Scripthook will use
Autorun
, not sautorunFor the same reason as the
sautorun-rs
folder being changed, plus one other detail, scripthook will now be passed Autorun, instead of sautorun.Another reason for this is so that there's no use of a lowercase for a global, which violates a lot of basic naming conventions, and just looks awkward, especially when the constants are
SCREAMING_SNAKE_CASE
.sautorun.NAME
->Autorun.NAME
.Much better.
🧩 Plugins System
Added a plugins system to distribute your creations for Autorun and have configurable settings, etc.
With the plugins comes new fields for Autorun:
Hopefully with this an ecosystem for Autorun creations can exist.
Safety has been updated to be a plugin
⚙️ Settings
First, Autorun started as mainly a lua dumper. However, as the name implies, this has grown to focus on being a scripting engine for clients before autorun and a scripthook.
@YohSambre originally had asked for a way to disable this, however I ended up creating a whole system for settings.
Settings are stored as a toml file in your
autorun
folder.You will find it at
autorun/settings.toml
, where it will be generated by Autorun automatically, if it is missing.List of Settings & Their defaults
hide = false
enabled = true
enabled = true
enabled = true
format = "<ip>"
You can find the default toml file here alongside comments as to what these settings mean.
settings
commandYou can see your current overview of settings with the new
settings
command!📜 New Scripthook Fields
Alongside the
Plugin
field added, there is now aCODE_LEN
field in case of null chars in the script hooked.Additionally, the
STARTUP
field will work properly for hook.lua if it is running before autorun. So you can migrate a folder from autorun.lua to hook.lua, if you need to.🐛 Squashing Bugs
Autorun was unstable. You'd crash even leaving a server sometimes. This was from heavy use of global variables across threads and just generally a very bad codebase. Since the refactor of 0.7.0 and many after, it's become a lot easier to maintain.
The biggest change, however, was getting rglua to v3.0.0, which added easier bindings and bindings to INetChannel, so that we could do stuff like grab the IP and Lua State dynamically, instead of unnecessarily hooking into the menu state and lua api. This leaves us with only two necessary detours, one for the lua executor, and the other for hooking lua scripts running.
I've yet to experience a crash with 1.0.0
Quality of Life
1.0.0 has also 'fixed' the random
Unknown nb_ctl request: 4
prints in your console, so there's only prints from Autorun now.See #26
📖 Documentation
As you might've noticed with the readme, I changed things up a bit.
Added some emojis and made it more concise for a better read. You can also find examples on the repo now.
There is now a default EmmyLua annotations file provided, for working with Autorun. You can find that here in the examples
That's pretty much it. It took a while to get here, so if you could support with a 🌟 or join the discord to ask any questions or report issues, it would be greatly appreciated. (This took way too long to write, so could support me for that as well.. 😵💫 )
This discussion was created from the release Autorun-rs v1.0.0.
Beta Was this translation helpful? Give feedback.
All reactions