[REFURBISHED] Adonis Guide V2.0

Updated Adonis Guide

What is adonis?

Adonis is an administrative system created for your roblox game, it has the purpose of giving people powers and giving people commands to do things. Adonis is also used to do things you would usually have to make many scripts for, for example, if you want to change a leader board stat adonis can do that, if you want to add custom commands, you can script them yourself too.
Adonis has a lot of possibility and potential, it is also the best admin system out there.

.

How do I get adonis?

First method; Adonis Loader [Sceleratis/Davey_Bones/Epix] - Roblox
Save adonis’s main system then add it from your toolbox inventory.
Second method; Search “Adonis” and click on this one:

  • Adonis creator changed their name to davey bones, that is why there are copies/fakes.

Steps for usage

Step 1- How to access settings

Adonis settings are very simple and easy to access, when you’ve added adonis you will need your “explorer” open - found in view, and you want to hit the models dropdown. In that dropdown you should see ‘thumbnail camera’ if you don’t want the bright light and logo model showing then delete it. But to access settings: Dropdown the ‘config’ folder and open “Settings”
image

.

Step 2- Required safety

With adonis you have something called a DataStore, line 144. You must change that to something random. Think of it as a data store for backups. Then you have the key to the data store, if anyone has that then it can be trouble, so you MUST change that datastore key. (Line 145)
Then if you want to have functions to check admin levels, you are going to want to scroll down to line 264, there you will have the “G_Access_Key” and the key being “Example_Key” you are going to want to change that IF you want to use third party scripts.

.

Step 3A- How to add admins

To make this step more efficient I will use screenshots and bullet points only.

  1. You will scroll to line 173, to add moderators.
  2. There are many ways to add moderators. (SEEK STEP 3B) in this example I will just do username.
  3. On line 176 you will type out the username in quotes then end the quotes.
  4. To add more add a comma then a space then repeat step 3.
    Image:

.

Step 3B- Furthermore

As you have noticed, each string name has a level to it. Meaning the power name “Moderator” has the level of 100, you can change that level to anything if you wanted to but it would also mean changing the powers they receive too, seek line 203.
The main point of Step 3B is not about that though, you can add users IDs, group ranks, group numbers, item ids AND gamepass ids.
Meaning if someone has a gamepass you can give them admin, if someone has an item you can give them admin, if they’re in a group you can give them admin and if they have a rank in a group, you can give them admin. Adonis is very customizable. Examples of all of these are:

.

Step 4- Custom Ranks & Levels

This is quite difficult if you’re new to scripting
Adding custom ranks and levels will require you to edit permissions as well, in this example we are making a gamepass admin at level 50. This means to add a gamepass admin that allows people to god themselves and fling people you will need to decrease fling and gods level, right now both of those commands are at level 100 (moderator) and we want them to be level 50 (GamepassAdmin)
To do so, first you want to add you custom rank, if you want to, copy this;
image
In my example image, I put the custom rank below creator admin, if you wanted to you can put it before moderator, that would look like this: (Position is this means nothing, only the level and string)
image
Now if you go into your studio and play test it, say :admins in your chat bar and hit enter, you should see your custom rank and level: (If you don’t revise this step)

.

Step 5- Changing the permission levels

This is quite difficult if you’re new to scripting
To change the permissions level you need to get the level that you want to change, in my case it is level 50, seek step 4 if you’re confused. With this I will go to line 210, OR WHERE EVER SETTINGS.PERMISSIONS IS - In default cases it will be line 203. You will type out below it in quotations, the command then a colon then the level(s) you want to be able to use the command, you can also do the string name of the admin level. That may sound confusing so I am hoping this helps:
image
You can also restrict a command to only specific levels not level above, below or between only the levels you put. To do so, you must list the command then put a colon, the level then a comma then another level (With no spaces). So to restrict fly to creators and moderators ONLY I can do this:



In the image I listed the string name then the moderators permission level to demonstrate it doesn’t matter if you use the string name or the level.

.

Step 6- Inserting Models/InsertList

Now this is more of a side step but you can add models from the toolbox from a list of models in the adonis system (added by you) To do so, go to settings.InsertList, mine is currently found on line 223, but that can be different to you. This is what my one looks like:


THE ASSET IN QUESTION MUST BE IN YOUR INVENTORY, YOU MUST SAVE/GET THE ASSET TO INSERT IT

.

Trello & Custom Commands

Now the trello I don’t want to go in depth in, it is really annoying to explain so I will leave you to figure out. LINE 104 talks about the trello and how to set it up line by line. If you can do that then you should be good to get it working <3 If you do need more help with that though I will assist you to my best ability :slight_smile:.


With custom commands I do not want to talk too much about it as all it is, is just code being executed from the adonis loader. - Here is what I scripted, I made a tween service work with custom commands to change lights and make a ‘portal appear’ It’s best you read what it says about custom commands to fully understand :slight_smile:
Short - Portal Demo - YouTube

.

Few last words

Adonis is a great system to use, the rest of the things I did not go over should be easy to understand without my words, if you are still struggling then drop a reply and I’ll help you out! Good luck out there and use adonis to its fullest abilities. Please drop this tutorial a like if you found it helpful or insightful because it really helps my reputation and it lets me know you want more tutorials like.
P.S: Been using adonis for around 3-4 years.
Adonis Owner; @Davey_Bones

Still finding it hard? Check out @Expertcoder2’s tutorial which came after mine! {WIP} Adonis Admin Setup Guide for Developers

31 Likes

I recommend to use this one as it is the most up to date one.

5 Likes

Yeah I listed both down so people don’t think another is a virus. Good feedback for users who don’t use adonis a lot though.

5 Likes

Are the bans synchron? Like if I ban a user on one server is he banned on the other servers too when he changes the server?

1 Like

I am unsure, to be safe I’d say no. I believe to globally ban someone (across all servers) you’d need to use the trello system they have in place - as it automatically updates after x seconds in all servers

OK so I got informations from the Adonis Support (in the Discord) and somebody Told that once a user joins the game checks if the user is banned or not so the user will be banned on all servers at the same time.

1 Like

Is there a function to get players with rank (Admins, Owners, etc.)

1 Like

Unknown from my view but I’m sure there is a way, try referring to the local players data.

Any idea on how to get the bans datastore so I can edit it manually?

2 Likes

All I know is that you can use a trello, which is inside the script for a tutorial to manually log bans. You can also manually add people, but that will require a shutdown of all servers to be in effect. Trello auto updates, adding to the scripts list doesn’t. Check out the adonis script yourself.

Meant the datastore that the :ban/:gameban/:databan/:timeban use to keep track of punishments

1 Like

That specific store, I have no clue. But using trellos will allow it to be logged. (It creates their username and bans them) The actual store itself no clue.

Hey I recently did a little update to this tutorial and I think these might help answer your question.
Adonis MainModule - Roblox
GitHub: /Sceleratis/Adonis
Check out their github or their mainmodule to see if you can find what you wanted. NOTE THIS IS USING THE UPDATED ADONIS: Adonis Loader [Sceleratis/Davey_Bones/Epix] - Roblox

1 Like

mine isnt working here is my settings script please help me fix it.

----------------------------------------------
--- 			Scroll down for settings  			 ---
--- Do not alter the three variables below ---
----------------------------------------------
local settings = {};		--// The settings table which contains all settings
local Settings = settings; 	--// For custom commands that use 'Settings' rather than the lowercase 'settings'
local descs = {};			--// Contains settings descriptions
----------------------------------------------

			--------------
			-- SETTINGS --
		    --------------
																																																																				--[[

		--// Basic Lua Info

		This is only here to help you when editing settings so you understand how they work
		and don't break something.

		Anything that looks like setting = {} is known as a table.
		Tables contain things; like the Lua version of a box.
		An example of a table would be setting = {"John","Mary","Bill"}
		You can have tables inside of tables, such in the case of setting = {{Group=1234,Rank=123,Type="Admin"}}
		Just like real boxes, tables can contain pretty much anything including other tables.

		Anything that looks like "Bob" is what's known as a string. Strings
		are basically plain text; setting = "Bob" would be correct however
		setting = Bob would not; because if it's not surrounded by quotes Lua will think
		that Bob is a variable; Quotes indicate something is a string and therefor not a variable/number/code

		Numbers do not use quotes. setting = 56

		This green block of text you are reading is called a comment. It's like a message
		from the programmer to anyone who reads their stuff. Anything in a comment will
		not be seen by Lua.

		Incase you don't know what Lua is; Lua is the scripting language Roblox uses...
		so every script you see (such as this one) and pretty much any code on Roblox is
		written in Lua.




		--// Settings [READ IF CONFUSED]

		If you see something like "Format: 'Username:UserId'" it means that anything you put
		in that table must follow one of the formats next to Format:

		For instance if I wanted to give admin to a player using their username, userid, a group they are in
		or an item they own I would do the following with the settings.Admins table:

		The format for the Admins' table's entries is "Username"; or "Username:UserId"; or UserId; or "Group:GroupId:GroupRank" or "Item:ItemID"
		This means that if I want to admin Bobjenkins123 who has a userId of 1234567, is in
		group "BobFans" (group ID 7463213) under the rank number 234, or owns the item belonging to ID 1237465
		I can do any of the following:

		settings.Admins = {"Bobjenkins123","Bobjenkins123:1234567",1234567,"Group:BobFans:7463213:234","Item:1237465"}


		If I wanted to make it so rank 134 in group 1029934 and BobJenkins123 had mod admin I would do
		settings.Moderators = {"Group:1029943:134","BobJenkins123"}


		I was going to change the admin rank stuff but I figured it would confuse people too much, so I left it as mods/admins/HeadAdmins ;p


		--// Admins

			settings.Moderators = {"Sceleratis";"BobJenkins:1237123";1237666;"Group:181:255";"Item:1234567"}
				This will make the person with the username Sceleratis, or the name BobJenkins, or the ID 1237123 OR 123766,
				   or is in group 181 in the rank 255, or owns the item belonging to the ID 1234567 a moderator

				If I wanted to give the rank 121 in group 181 Owner admin I would do:
				   settings.HeadAdmins = {"Group:181:121"}
				   See? Not so hard is it?

				If I wanted to add group 181 and all ranks in it to the :slock whitelist I would do;
					settings.Whitelist = {"Group:181";}

				I can do the above if I wanted to give everyone in a group admin for any of the other admin tables



		--// Command Permissions

			You can set the permission level for specific commands using setting.Permissions
			If I wanted to make it so only HeadAdmins+ can use :ff player then I would do:

				settings.Permissions = {"ff:HeadAdmins"}

				ff is the Command ":ff scel" and HeadAdmins is the NewLevel

				Built-In Permissions Levels:
					Players - 0
					Moderators - 100
					Admins - 200
					HeadAdmins - 300
					Creators - 900

				Note that when changing command permissions you MUST include the prefix;
				So if you change the prefix to $ you would need to do $ff instead of :ff


		--// Trello

			The Trello abilities of the script allow you to manage lists and permissions via
			a Trello board; The following will guide you through the process of setting up a board;

				1. Sign up for an account at http://trello.com
				2. Create a new board
					http://prntscr.com/b9xljn
					http://prntscr.com/b9xm53
				3. Get the board ID;
					http://prntscr.com/b9xngo
				4. Set settings.Trello_Primary to your board ID
				5. Set settings.Trello.Enabled to true
				6. Congrats! The board is ready to be used;
				7. Create a list and add cards to it;
					http://prntscr.com/b9xswk

				- You can view lists in-game using :viewlist ListNameHere

			Lists:
				Moderators			- Card Format: Same as settings.Moderators
				Admins				- Card Format: Same as settings.Admins
				HeadAdmins				- Card Format: Same as settings.HeadAdmins
				Creators			- Card Format: Same as settings.Creators
				Banlist				- Card Format: Same as settings.Banned
				Mutelist			- Card Format: Same as settings.Muted
				Blacklist			- Card Format: Same as settings.Blacklist
				Whitelist			- Card Format: Same as settings.Whitelist
				Permissions			- Card Format: Same as settings.Permissions
				Music				- Card Format: SongName:AudioID
				Commands			- Card Format: Command  (eg. :ff bob)

			Card format refers to how card names should look


			MAKE SURE YOU SET settings.DataStoreKey TO SOMETHING ABSOLUTELY RANDOM;
																																																																									--]]


	settings.HideScript = true						 -- Disable if your game saves; When the game starts the Adonis_Loader model will be hidden so other scripts cannot access the settings module
	settings.DataStore = "Qantas admin"					 -- DataStore the script will use for saving data; Changing this will lose any saved data
	settings.DataStoreKey = "Qantas"			 -- CHANGE THIS TO SOMETHING RANDOM! Key used to encrypt all datastore entries; Changing this will lose any saved data
	settings.DataStoreEnabled = true				 -- Disable if you don't want to load settings and admins from the datastore; PlayerData will still save
	settings.Storage = game:service("ServerStorage") -- Where things like tools are stored

	settings.Theme = "Rounded"				-- UI theme;
	settings.MobileTheme = "Mobilius"		-- Theme to use on mobile devices; Some UI elements are disabled
	settings.DefaultTheme = "Rounded" -- Theme to be used as a replacement for "Default". The new replacement theme can still use "Default" as its Base_Theme however any other theme which references "Default" as its redirects to this theme.

																																																																																				--[[
	**HOW TO ADD ADMINISTRATORS:**
		Below are the administrator permission levels/ranks (Mods, Admins, HeadAdmins, Creators, StuffYouAdd, etc)
		Simply place users into the respective "Users" table for whatever level/rank you want to give them.

		Format Example:
			settings.Ranks = {
				["Moderators"] = {
					Level = 100;
					Users = {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID"; "GamePass:GamePassID";}
				}
			}

		If you use custom ranks, existing custom ranks will be imported with a level of 1.
		Add all new CustomRanks to the table below with the respective level you want them to be.

	NOTE: Changing the level of built in ranks (Moderators, Admins, HeadAdmins, Creators)
				will also change the permission level for any built-in commands associated with that rank. 																																				-			-]]

	settings.Ranks = {
		["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 = {
			"intorsetorpolice1", "Ethan_Jayden221"
				--// Add users here (Also, don't forget quotations and all that)
			};
		};
		["Captain"] = {
			Level = 50;
			Users = {
				"Group:4404106:14"
			};
		};
		["First Officer"] = {
			Level = 50;
			Users = {
				"Group:4404106:13"
		};
	};

		["Ground Crew"] = {
			Level = 50;
			Users = {
				"Group:4404106:10"
		};
	};

};

	--// Use the below table to set command permissions; Commented commands are included for example purposes
	settings.Permissions = {
		"fly:50", "unfly:50", "ins:50", "admins:50", "view:50", "tp:50", "n:50", "h:50", "jpower:50", "inslist:50" 
		-- "ff:HeadAdmins"; --// Changes :ff to HeadAdmins and higher (HeadAdmins = Level 300 by default)
		-- "kill:300"; --// Changes :kill to level 300 and higher (Level 300 = HeadAdmins by default)
		-- "ban:200,300" --// Makes it so :ban is only usable by levels 200 and 300 specifically (nothing higher or lower or in between)
	};	-- Format: {"Command:NewLevel"; "Command:Customrank1,Customrank2,Customrank3";}

	settings.Banned = {"BluersideAmeen:2518076869"};		-- List of people banned from the game 		  Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID"; "GamePass:GamePassID";}
	settings.Muted = {};			-- List of people muted				 		  Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID"; "GamePass:GamePassID";}
	settings.Blacklist = {"BluersideAmeen:2518076869"};		-- List of people banned from using admin 	  Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID"; "GamePass:GamePassID";}
	settings.Whitelist = {};		-- People who can join if whitelist enabled	  Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID"; "GamePass:GamePassID";}
	settings.MusicList = {}; 	-- List of songs to appear in the script	  Format: {{Name = "somesong",ID = 1234567},{Name = "anotherone",ID = 1243562}}
	settings.CapeList = {};		-- List of capes							  Format: {{Name = "somecape",Material = "Fabric",Color = "Bright yellow",ID = 12345567,Reflectance = 1},{etc more stuff here}}
	settings.InsertList = {{Name = "737-800", ID = 7221443338}, {Name = "Q400", ID = 6423195550}} 	-- List of models to appear in the script	  Format: {{Name = "somemodel",ID = 1234567},{Name = "anotherone",ID = 1243562}}

	settings.OnStartup = {};	-- List of commands ran at server start								Format: {":notif TestNotif"}
	settings.OnJoin = {};		-- List of commands ran as player on join (ignores adminlevel)		Format: {":cmds"}
	settings.OnSpawn = {};		-- List off commands ran as player on spawn (ignores adminlevel)	Format: {"!fire Really red",":ff me"}

	settings.SaveAdmins = true		  -- If true anyone you :admin or :headadmin in-game will save
	settings.WhitelistEnabled = false -- If true enables the whitelist/server lock; Only lets admins & whitelisted users join

	settings.Prefix = "!"				-- The : in :kill me
	settings.PlayerPrefix = "!"			-- The ! in !donate; Mainly used for commands that any player can run; Do not make it the same as settings.Prefix
	settings.SpecialPrefix = ""			-- Used for things like "all", "me" and "others" (If changed to ! you would do :kill !me)
	settings.SplitKey = " "				-- The space in :kill me (eg if you change it to / :kill me would be :kill/me)
	settings.BatchKey = "|"				-- :kill me | :ff bob | :explode scel
	settings.ConsoleKeyCode = "Quote"	-- Keybind to open the console; Rebindable per player in userpanel; KeyCodes: https://developer.roblox.com/en-us/api-reference/enum/KeyCode

	--// Easily add new custom commands below (without needing to create a plugin module)
	--// You can also use this to overwrite existing commands if you know the command's index (found in the command's respective module)
	settings.Commands = {}

	settings.HttpWait = 60;					  -- How long things that use the HttpService will wait before updating again
	settings.Trello_Enabled = true;		  -- Are the Trello features enabled?
    settings.Trello_Primary = "7V**c2cb"; 		      -- Primary Trello board
	settings.Trello_Secondary = {""}; -- Secondary Trello boards			        Format: {"BoardID";"BoardID2","etc"}
    settings.Trello_AppKey = "6384359****************b585409184e";              -- Your Trello AppKey						  	Link: https://trello.com/app-key	
    settings.Trello_Token = "cc0f65689ed*******************753437c980e08e6af732967553";               -- Trello token (DON'T SHARE WITH ANYONE!)    Link: https://trello.com/1/connect?name=Trello_API_Module&response_type=token&expires=never&scope=read,write&key=YOUR_APP_KEY_HERE

	settings.G_API = true					-- If true allows other server scripts to access certain functions described in the API module through _G.Adonis
	settings.G_Access = false				-- If enabled allows other scripts to access Adonis using _G.Adonis.Access; Scripts will still be able to do things like _G.Adonis.CheckAdmin(player)
	settings.G_Access_Key = "Example_Key"	-- Key required to use the _G access API; Example_Key will not work for obvious reasons
	settings.G_Access_Perms = "Read" 		-- Access perms
	settings.Allowed_API_Calls = {
		Client = false;				-- Allow access to the Client (not recommended)
		Settings = false;			-- Allow access to settings (not recommended)
		DataStore = false;			-- Allow access to the DataStore (not recommended)
		Core = false;				-- Allow access to the script's core table (REALLY not recommended)
		Service = false;			-- Allow access to the script's service metatable
		Remote = false;				-- Communication table
		HTTP = false; 				-- HTTP related things like Trello functions
		Anti = false;				-- Anti-Exploit table
		Logs = false;
		UI = false;					-- Client UI table
		Admin = false;				-- Admin related functions
		Functions = false;			-- Functions table (contains functions used by the script that don't have a subcategory)
		Variables = true;			-- Variables table
		API_Specific = true;		-- API Specific functions
	}

	settings.FunCommands = false			-- Are fun commands enabled?
	settings.PlayerCommands = true 	-- Are players commands enabled?
	settings.ChatCommands = true 		-- If false you will not be able to run commands via the chat; Instead you MUST use the console or you will be unable to run commands
	settings.CreatorPowers = true		-- Gives me creator level admin; This is strictly used for debugging; I can't debug without full access to the script
	settings.CodeExecution = false		-- Enables the use of code execution in Adonis; Scripting related and a few other commands require this

	settings.BanMessage = "You are not welcome here, sorry."				-- Message shown to banned users
	settings.LockMessage = "SERVER SESSION LOCKED, PLEASE RECONNECT."	-- Message shown to people when they are kicked while the game is :slocked
	settings.SystemTitle = "Qantas Airline | Alert"		-- Title to display in :sm

	settings.MaxLogs = 5000			-- Maximum logs to save before deleting the oldest
	settings.Notification = false	-- Whether or not to show the "You're an admin" and "Updated" notifications
	settings.SongHint = true		-- Display a hint with the current song name and ID when a song is played via :music
	settings.TopBarShift = false	-- By default hints and notifs will appear from the top edge of the window, this is acheived by offsetting them by -35 into the transparent region where roblox buttons menu/chat/leaderstat buttons are. Set this to true if you don't want hints/notifs to appear in that region.

	settings.AutoClean = false		-- Will auto clean service.Workspace of things like hats and tools
	settings.AutoCleanDelay = 60	-- Time between auto cleans
	settings.AutoBackup = false 	-- (not recommended) Run a map backup command when the server starts, this is mostly useless as clients cannot modify the server. To restore the map run :restoremap

	settings.CustomChat = false 	-- Custom chat
	settings.PlayerList = false		-- Custom playerlist

	settings.Console = true							-- Command console
	settings.Console_AdminsOnly = false -- Makes it so if the console is enabled, only admins will see it

	settings.HelpSystem = false	-- Allows players to call admins for help using !help
	settings.HelpButton = false   -- Shows a little help button in the bottom right corner.
	settings.HelpButtonImage = "rbxassetid://357249130" -- Change this to change the help button's image

	settings.DonorCapes = false 		-- Donors get to show off their capes; Not disruptive :)
	settings.DonorCommands = false	-- Show your support for the script and let donors use harmless commands like !sparkles
	settings.LocalCapes = false	-- Makes Donor capes local so only the donors see their cape [All players can still disable capes locally]

	settings.Detection = true			-- Attempts to detect certain known exploits
	settings.CheckClients = true		-- Checks clients every minute or two to make sure they are still active

	settings.AntiNil = true				-- Try's to prevent non-admins from hiding in "nil"
	settings.AntiSpeed = true 			-- Attempts to detect speed exploits
	settings.AntiNoclip = true			-- Attempts to detect noclipping and kills the player if found
	settings.AntiParanoid = false		-- Attempts to detect paranoid and kills the player if found
	settings.AntiBuildingTools = false	-- Attempts to detect any HopperBin(s)/Building Tools added to the client
	settings.AntiLeak = false			-- Attempts to prevent place downloading/saving; Do not use if game saves

	---------------------
	-- END OF SETTINGS --
	---------------------

	--// Setting descriptions used for the in-game settings editor;

	descs.HideScript = [[ Disable if your game saves; When the game starts the Adonis_Loader model will be hidden so other scripts cannot access the settings module ]]
	descs.DataStore = [[ DataStore the script will use for saving data; Changing this will lose any saved data ]]
	descs.DataStoreKey = [[ Key used to encode all datastore entries; Changing this will lose any saved data ]]
	descs.DataStoreEnabled = [[ Disable if you don't want settings and admins to be saveable in-game; PlayerData will still save ]]
	descs.Storage = [[ Where things like tools are stored ]]

	descs.Theme = [[ UI theme; ]]
	descs.MobileTheme = [[ Theme to use on mobile devices; Mobile themes are optimized for smaller screens; Some GUIs are disabled ]]
	descs.DefaultTheme = [[ Theme to be used as a replacement for "Default". The new replacement theme can still use "Default" as its Base_Theme however any other theme which references "Default" as its redirects to this theme. ]]

	descs.Ranks = [[ All admin permission level ranks; ]];
	descs.Moderators = [[ Mods; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
	descs.Admins = [[ Admins; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
	descs.HeadAdmins = [[ Head Admins; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
	descs.Creators = [[ Anyone to be identified as a place owner; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]

	descs.Permissions = [[ Command permissions; Format: {"Command:NewLevel";} ]]
	descs.Commands = [[ Custom commands ]]
	descs.Banned = [[ List of people banned from the game; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
	descs.Muted = [[ List of people muted; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
	descs.Blacklist = [[ List of people banned from using admin; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";}	]]
	descs.Whitelist = [[ People who can join if whitelist enabled; Format: {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";} ]]
	descs.MusicList = [[ List of songs to appear in the script; Format: {{Name = "somesong",ID = 1234567},{Name = "anotherone",ID = 1243562}} ]]
	descs.CapeList = [[ List of capes; Format: {{Name = "somecape",Material = "Fabric",Color = "Bright yellow",ID = 12345567,Reflectance = 1},{etc more stuff here}} ]]
	descs.InsertList = [[ List of models to appear in the script; Format: {{Name = "somemodel",ID = 1234567},{Name = "anotherone",ID = 1243562}} ]]
	descs.CustomRanks = [[ List of custom AdminLevel ranks			  Format: {RankName = {"Username"; "Username:UserId"; UserId; "Group:GroupId:GroupRank"; "Group:GroupId"; "Item:ItemID";};} ]]

	descs.OnStartup = [[ List of commands ran at server start								Format: {":notif TestNotif"} ]]
	descs.OnJoin = [[ List of commands ran as player on join (ignores adminlevel)		Format: {":cmds"} ]]
	descs.OnSpawn = [[ List off commands ran as player on spawn (ignores adminlevel)	Format: {"!fire Really red",":ff me"} ]]

	descs.SaveAdmins = [[ If true anyone you :mod, :admin, or :headadmin in-game will save]]
	descs.WhitelistEnabled = [[ If true enables the whitelist/server lock; Only lets admins & whitelisted users join ]]

	descs.Prefix = [[ The : in :kill me ]]
	descs.PlayerPrefix = [[ The ! in !donate; Mainly used for commands that any player can run ]]
	descs.SpecialPrefix = [[ Used for things like "all", "me" and "others" (If changed to ! you would do :kill !me) ]]
	descs.SplitKey = [[ The space in :kill me (eg if you change it to / :kill me would be :kill/me) ]]
	descs.BatchKey = [[ :kill me | :ff bob | :explode scel ]]
	descs.ConsoleKeyCode = [[ Keybind to open the console ]]

	descs.HttpWait = [[ How long things that use the HttpService will wait before updating again ]]
	descs.Trello_Enabled = [[ Are the Trello features enabled? ]]
	descs.Trello_Primary = [[ Primary Trello board ]]
	descs.Trello_Secondary = [[ Secondary Trello boards; Format: {"BoardID";"BoardID2","etc"} ]]
	descs.Trello_AppKey = [[ Your Trello AppKey; Link: https://trello.com/app-key ]]
	descs.Trello_Token = [[ Trello token (DON'T SHARE WITH ANYONE!); Link: https://trello.com/1/connect?name=Trello_API_Module&response_type=token&expires=never&scope=read,write&key=YOUR_APP_KEY_HERE ]]

	descs.G_API = [[ If true allows other server scripts to access certain functions described in the API module through _G.Adonis ]]
	descs.G_Access = [[ If enabled allows other scripts to access Adonis using _G.Adonis.Access; Scripts will still be able to do things like _G.Adonis.CheckAdmin(player) ]]
	descs.G_Access_Key = [[ Key required to use the _G access API; Example_Key will not work for obvious reasons ]]
	descs.G_Access_Perms = [[ Access perms level ]]
	descs.Allowed_API_Calls = [[ Allowed calls ]]

	descs.FunCommands = [[ Are fun commands enabled? ]]
	descs.PlayerCommands = [[ Are players commands enabled? ]]
	descs.ChatCommands = [[ If false you will not be able to run commands via the chat; Instead you MUST use the console or you will be unable to run commands ]]

	descs.BanMessage = [[ Message shown to banned users ]]
	descs.LockMessage = [[ Message shown to people when they are kicked while the game is :slocked ]]
	descs.SystemTitle = [[ Title to display in :sm ]]

	descs.CreatorPowers = [[ When true gives me place owner admin; This is strictly used for debugging; I can't debug without access to the script and specific owner commands ]]
	descs.MaxLogs = [[ Maximum logs to save before deleting the oldest; Too high can lag the game ]]
	descs.Notification = [[ Whether or not to show the "You're an admin" and "Updated" notifications ]]
	descs.CodeExecution = [[ Enables the use of code execution in Adonis; Scripting related and a few other commands require this ]]
	descs.SongHint = [[ Display a hint with the current song name and ID when a song is played via :music ]]
	descs.TopBarHint = [[ By default hints and notifs will appear from the top edge of the window, this is acheived by offsetting them by -35 into the transparent region where roblox buttons menu/chat/leaderstat buttons are. Set this to true if you don't want hints/notifs to appear in that region. ]]

	descs.AutoClean = [[ Will auto clean service.Workspace of things like hats and tools ]]
	descs.AutoBackup = [[ (not recommended) Run a map backup command when the server starts, this is mostly useless as clients cannot modify the server. To restore the map run :restoremap ]]
	descs.AutoCleanDelay = [[ Time between auto cleans ]]

	descs.CustomChat = [[ Custom chat ]]
	descs.PlayerList = [[ Custom playerlist ]]

	descs.Console = [[ Command console ]]
	descs.Console_AdminsOnly = [[ Makes it so if the console is enabled, only admins will see it ]]

	descs.DonorCommands = [[ Show your support for the script and let donors use commands like !sparkles ]]
	descs.DonorCapes = [[ Determines if donors have capes ]]
	descs.LocalCapes = [[ Makes Donor capes local instead of removing them ]]

	descs.HelpSystem = [[ Allows players to call admins for help using !help ]]
	descs.HelpButton = [[ Shows a little help button in the bottom right corner ]]

	descs.Detection = [[ Attempts to detect certain known exploits ]]
	descs.CheckClients = [[ Checks clients every minute or two to make sure they are still active ]]

	descs.AntiNil = [[ Try's to prevent non-admins from hiding in "nil" ]]
	descs.AntiSpeed = [[ Attempted to detect speed exploits ]]
	descs.AntiNoclip = [[ Attempts to detect noclipping and kills the player if found ]]
	descs.AntiParanoid = [[ Attempts to detect paranoid and kills the player if found ]]
	descs.AntiBuildingTools = [[ Attempts to detect any HopperBin(s)/Building Tools added to the client ]]
	descs.AntiLeak = [[ Attempts to prevent place downloading/saving; Do not use if game saves ]]

	order = {
		"HideScript";
		"DataStore";
		"DataStoreKey";
		"DataStoreEnabled";
		"Storage";
		" ";
		"Theme";
		"MobileTheme";
		" ";
		"Ranks";
		--"Moderators";
		--"Admins";
		--"HeadAdmins";
		--"Creators";
		" ";
		"Permissions";
		--"Commands";
		" ";
		"Banned";
		"Muted";
		"Blacklist";
		"Whitelist";
		"MusicList";
		"CapeList";
		--"CustomRanks";
		" ";
		"OnStartup";
		"OnJoin";
		"OnSpawn";
		" ";
		"SaveAdmins";
		"WhitelistEnabled";
		" ";
		"Prefix";
		"PlayerPrefix";
		"SpecialPrefix";
		"SplitKey";
		"BatchKey";
		"ConsoleKeyCode";
		" ";
		"HttpWait";
		"Trello_Enabled";
		"Trello_Primary";
		"Trello_Secondary";
		"Trello_AppKey";
		"Trello_Token";
		" ";
		"G_API";
		"G_Access";
		"G_Access_Key";
		"G_Access_Perms";
		"Allowed_API_Calls";
		" ";
		"FunCommands";
		"PlayerCommands";
		"ChatCommands";
		"CreatorPowers";
		"CodeExecution";
		" ";
		"BanMessage";
		"LockMessage";
		"SystemTitle";
		" ";
		"MaxLogs";
		"Notification";
		"SongHint";
		"TopBarShift";
		"";
		"AutoClean";
		"AutoCleanDelay";
		" ";
		"CustomChat";
		"PlayerList";
		" ";
		"Console";
		"Console_AdminsOnly";
		" ";
		"HelpSystem";
		"HelpButton";
		" ";
		"DonorCommands";
		"DonorCapes";
		"LocalCapes";
		" ";
		"Detection";
		"CheckClients";
		" ";
		"AntiNil";
		"AntiSpeed";
		"AntiNoclip";
		"AntiParanoid";
		"AntiBuildingTools";
		"AntiLeak";
	}

return {Settings = settings, Descriptions = descs, Order = order}
3 Likes

Hey so I updated the tutorial just now, I spent a lot of time on it so it should help you find your issue, if it doesn’t I could use what you think the issue is, if you think you know the issue let me know. If you don’t then I’d highly suggest re-making your settings following this tutorial.

1 Like

Hey @JaceMorphing I remade the tutorial since then as I have said, but I did actually find a way to do so. If you’re still in need of that then I can guide you how and what functions are used :).

Here add my discord! We’ll talk better there ar_qx#3091 I will go through it with you. - Sorry for the delay.

1 Like

No Problem, Thanks for the help! You get 5 stars on yelp!

1 Like

I’m glad the issue was found, make sure you look closely at what you toggle from true to false as I believed you might have disabled your command execution at some point. I’m not 100% sure if that was the main issue with your settings because I didn’t know the prefix was changed from its default colon, but I’m just glad the issue is fixed now.

Sorry, with this the G_Access_Key is not required to be changed but if you want to have plugins, or requires going back to the adonis loader as an example, you should probably change it. - DataStorage key is 100% recommended to change though.