Permissions
How STG Argus Admin decides who is staff, how framework groups and ACE map onto ranks, and what each rank may do in the panel.
Argus Admin works with four ranks, from lowest to highest: user, mod, admin and god. Who gets which rank is set in stg-argusadmin/shared/config.lua. What each rank may do once inside the panel is set in stg-argusadmin/shared/permissions.lua. Both files stay editable in the escrow version.
How a rank is found
Every time a player opens the panel or presses a button, their rank is worked out in this order:
Panel rank. A rank given from the Staff tab or with argussetrank is saved in the stg_argusadmin_staff table. If one exists, it is used and nothing else is checked.
Framework rank. The group your framework reports, mapped through Config.Ranks and Config.RankAliases.
ACE rank. Every ACE in Config.AceRanks the player is allowed is checked and the highest wins. The higher of the framework rank and the ACE rank is used.
Anyone without a match is user.
Required rank
Config.RequiredPermission = 'mod'Lowest rank that may open the panel at all. Below it, the key and the command do nothing and no message is shown.
Ranks
Config.Ranks = {
'user',
'mod',
'admin',
'god',
}The rank ladder, from lowest to highest. Staff can never act on someone who outranks them, and a staff member can only hand out ranks up to their own.
Rank aliases
Config.RankAliases = {
superadmin = 'god',
owner = 'god',
founder = 'god',
developer = 'god',
dev = 'god',
administrator = 'admin',
moderator = 'mod',
helper = 'mod',
support = 'mod',
staff = 'mod',
}Framework group names that map onto the ranks above. A group that is not listed here and not in Config.Ranks counts as user. If your framework uses a group name that is not recognised, add it here.
ACE ranks
Config.AceRanks = {
['god'] = 'god',
['admin'] = 'admin',
['mod'] = 'mod',
['support'] = 'mod',
['stgargusadmin.god'] = 'god',
['stgargusadmin.admin'] = 'admin',
['stgargusadmin.mod'] = 'mod',
['group.god'] = 'god',
['group.admin'] = 'admin',
['group.mod'] = 'mod',
}ACE permissions mapped onto ranks. QBCore and QBOX grant the bare names (admin, god), so those come first. Set it to an empty table to turn the ACE check off.
To make someone an admin through ACE, add this to server.cfg:
add_ace group.admin admin allow
add_principal identifier.license:YOUR_LICENSE group.adminQBCore and QBOX ship no god group, so out of the box admin can do everything. To split the two, create a real god group in your permissions config:
add_ace group.god god allow
add_principal group.god group.adminThen remove admin = true from the lines in Config.Permissions you want to keep for god, for example setRank.
Commands
| Command | Who | What it does |
|---|---|---|
/argusperm | Anyone in game | Prints your framework rank, ACE matches, panel rank and effective rank to the server console, and shows a short result in game. If something is missing, it prints the line to add. |
argussetrank <playerId> <user|mod|admin|god> | Server console, or staff with the staff permission | Saves a panel rank for an online player. |
Staff tab
Staff with the staff permission and the setRank permission can add staff, change ranks and remove staff from the Staff tab. A rank given from the panel can be removed. A rank that comes from your framework or ACE is granted outside the script, so removing it from the panel sets the player to user in the panel instead, which blocks their access.
The tab also shows the permission matrix from Config.Permissions, so you can check at a glance what each rank may do.
Permission matrix
Config.Permissions = {
players = { mod = true, admin = true, god = true },
server = { admin = true, god = true },
revive = { mod = true, admin = true, god = true },
-- ...
}Each line is one tab or button and lists the ranks that may use it. Leave a rank out of a line and that button is hidden from them and refused by the server. With Config.RequireDuty on, every action is also refused while the staff member is off duty.
Panel tabs
| Key | Default ranks | Controls |
|---|---|---|
players | mod, admin, god | Players tab |
vehicles | mod, admin, god | Vehicles tab |
tickets | mod, admin, god | Tickets tab |
server | admin, god | Server tab |
resources | admin, god | Resources tab, start, stop and restart resources |
console | admin, god | Console tab, run server console commands |
staff | admin, god | Staff tab |
The console permission runs any command on the server console, including add_ace and add_principal. Only give it to ranks you trust with the whole server.
Player actions
| Key | Default ranks |
|---|---|
revive, heal, armor, slap, teleport, spectate, screenshot, message | mod, admin, god |
freeze, kill, respawn, bring | admin, god |
Give
| Key | Default ranks |
|---|---|
notes | mod, admin, god |
money, item, weapon, job, clothing, inventory, clearInventory, licenses, bucket, properties | admin, god |
Punish
| Key | Default ranks |
|---|---|
warn | mod, admin, god |
kick, jail, ban, unban, offlineBan | admin, god |
kick also covers kicking idle players. offlineBan bans by license or citizen id when the player is not online.
Vehicles
| Key | Default ranks |
|---|---|
vehicleRepair, vehicleDelete | mod, admin, god |
vehicleSpawn, vehicleGod, vehicleDrift, vehicleDb | admin, god |
vehicleRepair also covers clean, flip, refuel and full tune. vehicleDb gives or removes vehicles saved to a player.
Staff tools
| Key | Default ranks |
|---|---|
coords, playerNames | mod, admin, god |
noclip, godmode, invisible, adminTag | admin, god |
Server
| Key | Default ranks | Controls |
|---|---|---|
announce | admin, god | Announcements, scheduled events and map blips |
world | admin, god | Weather, time, blackout and live map calibration |
clearEntities | admin, god | Clearing vehicles, peds and objects |
serverWide | admin, god | Revive, heal, freeze, bring or kick everyone, save all players, clear chat, lock the server to new connections |
setRank | admin, god | Changing staff ranks |
Permission groups
Config.PermissionGroups = {
{ label = 'Panel', keys = { 'players', 'vehicles', 'tickets', 'server', 'resources', 'console', 'staff' } },
{ label = 'Player', keys = { ... } },
-- ...
}How the permission matrix is grouped and ordered in the Staff tab. It only changes the display, not who may do what.
Still having trouble?
Open a ticket on our Discord. Our team answers around 15 hours a day.