How to Set Up ACE Permissions on Your FiveM Server

Configure FiveM's native ACE/ACL permission system — groups, principals, identifiers, and permission inheritance.

FiveM uses an ACE (Access Control Entry) system for permissions. You define groups (like admin, moderator), grant them permissions (aces), and assign players (principals) to groups using their identifiers.

Core Concepts

TermDescription
ACEA permission entry — grants or denies access to a command or resource
PrincipalAn identity — a player identifier or a group
GroupA named collection of permissions (e.g., group.admin)
InheritanceGroups can inherit permissions from other groups

Set Up Permissions

Create a permissions file

In the XGamingServer Panel, click Files in the sidebar. Create a file called permissions.cfg in the server root.

Define groups and permissions

# Moderator permissions
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow

# Admin inherits moderator + gets all commands
add_principal group.admin group.moderator
add_ace group.admin command allow
add_ace group.admin txadmin.menu allow

# Deny quit command even for admins
add_ace group.admin command.quit deny

Assign players to groups

Use their identifier (Steam, Discord, license, or FiveM):

# By Steam ID
add_principal identifier.steam:110000112345678 group.admin

# By Discord ID
add_principal identifier.discord:394446211341 group.moderator

# By FiveM license
add_principal identifier.license:abc123def456 group.moderator

Load in server.cfg

Open server.cfg and add:

exec permissions.cfg

Restart

Restart from Console. Permissions take effect on player connect.

How Inheritance Works

group.admin
  └── inherits from group.moderator
        └── inherits from builtin.everyone

When you run add_principal group.admin group.moderator, admins get all moderator permissions plus their own. builtin.everyone is the implicit parent of all principals.

Common Permission Examples

# Allow a group to use a specific resource
add_ace group.admin myresource allow

# Allow a resource to run specific commands
add_ace resource.es_extended command.add_ace allow
add_ace resource.es_extended command.add_principal allow

# Check permissions in a script
add_ace group.vip myscript.vipfeature allow

Resources check permissions with IsPlayerAceAllowed(source, 'myscript.vipfeature').

Identifier Types

FormatExample
identifier.steam:identifier.steam:110000112345678
identifier.discord:identifier.discord:394446211341
identifier.license:identifier.license:abc123def456
identifier.fivem:identifier.fivem:123456

How is this guide?

40% Off — Limited TimeGet your Fivem server todayInstant setup, DDoS protection, and 24/7 support included.
Get a Server

On this page