Browse docs

Permissions

Grant admin access so commands like /setboss and /revive work in your framework.
Admin command not working? Make sure the bootstrap ACEs are present in your server.cfg and your player is in group.admin. Sky now wires every per-command permission to ACE automatically — no more Sky.Config.AdminGroups.

How Sky checks command permissions

Every admin command (/revive, /setboss, /hospitalcreator, …) is gated by Config.CommandPermissions in the job's config. At server start, sky_base reads that table and emits one add_ace per command × group:

sky_ambulancejob/config/config.lua
Config.CommandPermissions = {
    revive             = { "god", "superadmin", "admin" },
    stopdeathtimeout   = { "god", "superadmin", "admin" },
    refunds            = { "god", "superadmin", "admin" },
    hospitalbeds       = { "god", "superadmin", "admin" },
    hospitalcreator    = { "god", "superadmin", "admin" },
    removemobilityaid  = { "god", "superadmin", "admin" },
    kill               = { "god", "superadmin", "admin" },
}

For the snippet above, sky_base runs at boot:

add_ace group.god         sky_ambulancejob.revive allow
add_ace group.superadmin  sky_ambulancejob.revive allow
add_ace group.admin       sky_ambulancejob.revive allow
… one block per command

On QBCore, sky_base additionally wires the qbcore.<group> principal for resilience. At runtime each command resolves with a single IsPlayerAceAllowed(src, "sky_ambulancejob.<command>").

If a command is not listed in Config.CommandPermissions, only the server console can use it.

Framework setup

QBox (principal prefix: group.)

Add your admin player to group.admin:

server.cfg
add_principal identifier.license:<license> group.admin

Reference: Qbox txAdmin permissions recipe.

QBCore (principal prefix: qbcore. or group.)

sky_base wires both group.<g> and qbcore.<g> on QBCore, so either prefix works:

server.cfg
add_principal identifier.license:<license> qbcore.admin

Or, if an existing admin is already online:

/addpermission 1 god

ESX Legacy (users.group)

ESX's setGroup automatically calls add_principal identifier.<license> group.<g> via es_extended, so ESX players get the same ACE principal as QBox/QBCore. Grant the group in-game:

/setgroup 1 admin

Or via SQL:

UPDATE users SET `group` = 'admin' WHERE identifier = 'license:<license>';

References: ESX /setgroup, ESX principals.

vRP

Set the player's group via your vRP admin tooling, then ensure the group.<g> principal is registered (vRP setups commonly add this to server.cfg).

Custom groups

To allow another group (for example supporter) to use a single command, just add it to the relevant entry:

sky_ambulancejob/config/config.lua
Config.CommandPermissions = {
    revive = { "god", "superadmin", "admin", "supporter" },
}

Then grant the player the principal the same way as above (e.g. add_principal identifier.license:<license> group.supporter), and restart sky_ambulancejob so the new wiring runs.

Activating the boss menu with /setboss

Once your admin group is set, run /setboss to grant every permission (boss menu, wholesale, vehicle shop, member management, …) to a specific job grade:

/setboss ambulance 4

This writes Permission.ALL to the sky_job_permissions row for that job and grade. Only run it once per fresh install or after wiping sky_job_permissions.

See the Commands page for the full admin command list.

Troubleshooting

Support

Need help? Our support team is always ready to assist

Join Discord