This is an extension for my existing product Rust Magic! Please do not purchase this if you do not already own the base product.
- Fully customisable lightweight pugin
RustMagicAuth.csusing Oxide’s Config, Data, and Lang systems.
- Reads from your existing Rust Magic config file – no need to re-specify what you already entered.
- Uses Rust Magic’s connection logic – no unnecessary RCON connections.
- One single command to view any SteamID’s, Discord ID’s, Discord @’s, or Discord Name’s link data.
- Re-assign a user’s Discord role when they rejoin your Discord server after leaving.
- Revoke permissions if they leave your Discord.
- Re-grant permissions if they decide to join your Discord again.
- Name syncing from in-game to Discord.
- Role syncing that works both ways, depending on how you want it to work.
MySQL Database support.
- User types
/authin-game, and receives a code.
- User PMs this code in a command to your RustMagic bot, e.g.
- User is asked to select which server they received this code on using the same reaction-based menu as with other Rust Magic commands.
- The code is checked against what that server has on record, and if invalid is asked to re-enter their code.
- Once the code is confirmed as valid, the user will receive 3 things:
- All of the oxide groups or permissions you have specified across all of your servers.
- A thank you message on the server they received their code on (if logged in)
- A discord role in your server to show that they are authenticated.
- The authentication flow is now complete.
- Rust Magic > v1.1.0 (“extensions update”)
- A windows, linux, or mac server that is already setup to run Rust Magic
- Knowledge of the Oxide Permissions System
- Extract the ZIP to your Desktop or other appropriate location.
- Select the distribution that most closely resembles your setup (should be the same as your chosen Distribution for Rust Magic)
- Drag the
rustmagicauth.xxxxx.xxfile into your Rust Magic Extensions/ folder
- Ensure your config is setup correctly
- Restart Rust Magic
The plugin uses Oxide’s default systems to handle config, language settings, and data.
It is recommended you clear
oxide/data/RustMagicAuth.json as frequently as you wipe to ensure codes cannot be guessed.
"Chat Icon (Steam64 ID)": 76561199093053926,
"Chat Prefix": "<color=#d464e8>Magic Auth</color>:",
"Valid Auth Code Characters": "1234567890abcdef",
"Auth Code Length": 8,
"Oxide Group To Check User For": "auth"
While most of this is self explanatory, it’s important to note the following:
- Valid Auth Code Characters must match the config for the extension.
- Auth Code Length must match the config for the extension.
- The oxide group to check for is used solely to prevent a user from generating a code after they’ve authenticated. It is assumed that you will grant authenticated users an oxide group instead of a single permission.
sample.json after purchase for fully-detailed explanations on what each option does.
You can get Discord Role/Server/Channel IDs by going to Settings > Appearance > Developer Mode
This bot will work if you want to have logs in a Staff discord, but if this is the case ensure
settings.discord_server_id has been explicitly set.
find <steam64ID, @User, Discord Username, Discord ID>
Retrieves the link data for the specified user if available.
unlink <@User, Steam64 ID, Discord User ID>
This will remove all in-game permissions, their Discord role, and all data about their accounts that the bot has stored.
Allows you to trigger a manual execution of all tasks that would be needed to give a user their rewards.
Useful if, for example, your server is offline when the bot tries to reward the user.
This is a command intended for users of your community! It will allow them to perform a re-execution of all commands only for themself, with a cooldown of 1 hour.
If you’re tired of users saying “I didn’t get my rewards”, this is perfect for you as you can just tell them to run
/rewards and the ticket is resolved.
As of version 1.2.0, you will be required to merge your existing in-game auth.json file!
Once you are using the latest version of the plugin, you will see that there is a now folder:
You can drag and rename your old RustMagicAuth.json data file into here, the new name you want to use is
Additionally, there is a new config option:
Clear Name Data on Wipe which you can set to true to make the (potentially large) date files clear themselves of useless & old data.
The latest version of Rust Magic Auth now has name syncing!
RustMagicAuth.cs plugin gathers all of this information and provides an RCON command that the RustMagic bot will execute perioidcally.
It will set the nickname of people in your Discord server to the latest recorded Steam name that they have (authenticated members only).
Along with name syncing, role syncing is now an available feature.
Please be incredibly careful when setting it up, as it has the power to very easily result in financial losses if you are using it with VIPs and Nitro Boosters.
First of all, two-way syncs can be incredibly dangerous. When RustMagicAuth detects that a user has a Discord role you want to sync, it will perform that command across all servers. This means if setup incorrectly, a user receiving VIP on one server could potentially end up having VIP on all servers.
Secondly, due to the nature of Oxide, there is no simple and efficient way to detect when an oxide group is added or removed from a user. Because of this, data is updated only when the user joins a server. This means the previous data doesn’t persist anywhere, and we’re left only with a list of what groups they currently have.
Finally, it’s important to read the
sample.json file as you may have missed new command configs or new mandatory settings.