Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Rust Magic Auth (Rust Magic Extension) 1.2.0

$20.00

   (1 review)

4 Screenshots

  • 320
  • 4
  • 5.18 MB

About Rust Magic Auth (Rust Magic Extension)

This is an extension for my existing product Rust Magic! Please do not purchase this if you do not already own the base product.

Features

  • Fully customisable lightweight pugin RustMagicAuth.cs using 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 set it up.
  • TBA: MySQL Database support.

Authentication Flow

  1. User types /auth in-game, and receives a code.
  2. User PMs this code in a command to your RustMagic bot, e.g. /auth ab12cd34
  3. User is asked to select which server they received this code on using the same reaction-based menu as with other Rust Magic commands.
  4. The code is checked against what that server has on record, and if invalid is asked to re-enter their code.
  5. 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.
  6. The authentication flow is now complete.

Requirements

  • 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

Installation

  1. Extract the ZIP to your Desktop or other appropriate location.
  2. Select the distribution that most closely resembles your setup (should be the same as your chosen Distribution for Rust Magic)
  3. Drag the rustmagicauth.xxxxx.xx file into your Rust Magic Extensions/ folder
  4. Ensure your config is setup correctly
  5. Restart Rust Magic

Configuration

Plugin

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.

Extension

Please see sample.json after purchase for fully-detailed explanations on what each option does.
Briefly, however:

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.

Commands

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.

reward @User

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.

rewards

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.

Migration

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: oxide/data/RustMagicAuth
You can drag and rename your old RustMagicAuth.json data file into here, the new name you want to use is auth.json.

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.

Name Sync

The latest version of Rust Magic Auth now has name syncing!

The 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).

Role Sync

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.


Neko's Other Downloads


User Feedback

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.