BARC - Adonis Rank Configurator (Module)

Welcome

In this short tutorial, I’ll be showing you on how to use my new Bey’s Adonis Rank Configurator (BARC) module that I recently made, and tell you for what this would be useful and why you might want to use it.

The module was made for Adonis which is an administrative system created for your roblox game, as well as a server moderation and management system created for the Roblox platform, and was made to quickly configurate Adonis Ranks using their global _G API in-game.

:wrench: What does the module do?

Bey’s Adonis Rank Configurator (BARC) is a module that lets you update and manage your Adonis ranks dynamically in-game through code without needing to edit the Adonis settings file or rely on the in-game UI.

This is especially useful if:

  • You want to fetch ranks from Trello

  • You want to load ranks from a remote source or a custom structure

  • You want to configure ranks at runtime or through scripts (e.g. developer tools, auto-rank systems)

  • You’re managing a game with lots of admins/mods, and want to streamline access control


:brain: Requirements

Before using BARC, make sure:

  1. You’re using Adonis in your game
  2. You’re familiar with basic Lua scripting in Roblox
  3. You have access to the _G.Adonis API. (This is available once Adonis is initialized in-game)
  4. You’ve set the correct Adonis_G_Access_Key (this key must match the one defined in your Adonis settings)

To change the following inside your Adonis config module to allow access to the Adonis global API:

  • settings.G_Access = true
  • settings.G_Access_Perms = "Write"
  • settings.Allowed_API_Calls.Settings = true
  • settings.G_Access_Key = "Example_Key" ← Change if needed

:package: How to Install BARC

There are two ways you can install and use BARC in your game:

:white_check_mark: Option 1: Manual Module Install

  1. Create a ModuleScript in ServerScriptService (or any other module location)
  2. Paste in the BARC module code
  3. Require it from a server script like this:
local BARCModule = require(path.to.BARCModule)
  1. Call the main function using:
BARCModule.BARC(configTable)

:link: Option 2: Require from Asset ID (Fast Setup)

You can also load BARC directly from Roblox using its asset ID:

require(103877482440814).BARC(configTable)

This is great for quick testing or if you want to skip creating your own local module script.


:gear: Configuration Table Format

When calling BARC, you must pass in a table of configuration options:

:key: Basic Parameters

Key Type Description
Adonis_G_Access_Key string Required access key to edit Adonis settings.
GetRanksFrom string Source of the rank data. Can be "Trello", "AdonisTrello", "Custom", or "Link".
OperationalMode string How ranks should be modified. Can be "Add", "Set", or "Remove".
MaxRetries number Max attempts to connect to global Adonis settings before error.

:receipt: Supported Sources

1. Trello Mode

Uses your own Trello API credentials to fetch rank cards from your Trello board.

Required keys:

AppKey = "yourTrelloAppKey",
Token = "yourTrelloToken",
BoardID = "yourTrelloBoardID",

Each list in Trello represents a rank, and each card name must contain a Roblox UserId.

2. AdonisTrello Mode

Fetches the Trello info automatically from your Adonis settings module, assuming you’ve configured your Trello integration there.

Location
image

Settings module

(No extra keys needed)

3. Custom Mode

You manually specify the ranks and users like this:

CustomRanks = {
    Admins = {
        Users = {12345678, 23456789}
    },
    Moderators = {
        Users = {34567890}
    }
}

4. Link Mode

Loads ranks from a remote string-based table source (like Pastebin or your own web server).

Link = "https://anyrawlinkhere.com"

The string data at that URL should follow a basic Lua table format. To convert this string into usable table data, the module uses my Bey’s String Table to Table Converter module which I had made a devforum post and tutorial about here.

Your linked string must return a structure similar to CustomRanks, like this:

{
    Ranks = {
        Admins = {
            Users = {12345678, 23456789}
        },
        Moderators = {
            Users = {34567890}
        }
    }
}

:bulb: You can use this module to host raw, editable rank data outside the game which is great for live updates without needing a game update!


:repeat: Operational Modes

Mode Description
"Add" Adds new users to existing rank lists.
"Remove" Removes specified users from the list.
"Set" / "Replace" / "Overwrite" Completely replaces the rank list.

You can pass the mode like this:

OperationalMode = "Add"

:test_tube: Example Setup

-- SAMPLE
require(103877482440814).BARC({
	-- Settings
	Adonis_G_Access_Key = "Example_Key", -- REQUIRED TO ACCESS SHAREDTABLE OF ADONIS GLOBAL
	GetRanksFrom = "Custom", -- "Trello", "AdonisTrello", "Link", "Custom"
	OperationalMode = "Add", -- "Add", "Remove", ("Set" or "Replace" or "Overwrite")
	MaxRetries = 5, -- Amount of retries the script should do to retrieve global Adonis settings
	
	-- Trello
	AppKey = "Your_Trello_App_Key",
	Token = "Your_Trello_Token",
	BoardID = "Your_Trello_Board_ID",

	-- [ AdonisTrello is automatic via script ]

	-- Link
	Link = "Raw_Link_Here",

	-- Custom
	CustomRanks = {
		["Moderators"] = {
			Level = 100;
			Users = {
				--// Add users here
			};
		};

		["Admins"] = {
			Level = 200;
			Users = {
				--// Add users here
			};
		};

		["HeadAdmins"] = {
			Level = 300;
			Users = {
				--// Add users here
			};
		};

		["Creators"] = {
			Level = 900; --// Anything 900 or higher will be considered a creator and will bypass all perms & be allowed to edit settings in-game.
			Users = {
				--// Add users here (Also, don't forget quotations and all that)
			};
		};
	};
}, true, false) -- ConfigTable, enablePrintInfo, enableDebugInfo

:printer: Output Example

When running, the module will print info in the console:

[BARC]: Adding 12345678 to Admins
[BARC]: Adding 98765432 to Moderators
[BARC]: Final Rank Overview
- Admins: [12345678]
- Moderators: [98765432]
[BARC]: Ranks successfully updated using 'Trello' source with 'Add' mode.

:bulb: Prints of info enablePrintInfo is by default true and debugs can be enabled by passing the third argument enableDebugInfo to true if needed!


:bulb: Tips

  • Use this in a command-line interface tool, button triggers, or moderation panel in your game for flexible rank control
  • Combine this with DataStores or webhooks to create dynamic and persistent admin systems
  • Trello card names must contain Roblox UserIDs for them to be parsed

Thank you for making it this far!

Feel free to reply on the DevForum post, or check out the Adonis documentation for more information about Adonis.

-CHANGELOG

Click here to view all updates & changes

Latest update - 04/18/2025:

  • Fixed modulePrint and supports printInfo & debugInfo (errors are associated with printInfo)
  • Fixed retry loop
  • Added MaxRetries which changes the amount of retries to retrieve global Adonis settings before erroring
5 Likes