A FiveM server has two permission systems that work independently of each other:
- txAdmin admins – access to the txAdmin web interface and to the txAdmin in-game menu.
- ACE permissions in the
server.cfg– they define who is allowed to run which server and script commands.
Option 1: Create an admin in txAdmin
txAdmin is already included in FXServer. To start it, the txAdmin field in the Settings of your server dashboard has to be set to 1.
The first admin (the Master admin) is created during the initial txAdmin setup and is linked to a Cfx.re account – the procedure is described under Enable txAdmin. Every additional admin is created afterwards in the Admin Manager.
-
Open txAdmin
Open the txAdmin web interface and log in. -
Open the Admin Manager
Click Admins in the top navigation. This takes you to the Admin Manager page. -
Create a new admin
Click Add in the top right corner. The New Admin window opens. -
Enter the details
Fill in the fields:Field Meaning Username Required. The admin's login name in txAdmin. Cfx.re ID Optional. The admin's username on the Cfx.re forum. Required if the admin should log in using the Cfx.re button. Discord ID Optional. The admin's Discord User ID. -
Set the permissions
Below that, tick the boxes under Permissions for the rights the admin should receive. -
Save
Click Save. txAdmin then shows a temporary password (Please copy the following temporary password). Copy it and pass it on to the admin – they will be prompted to change it on their first login.
Available permissions
| Permission | Meaning |
|---|---|
all_permissions |
Full access. Setting this removes all other permissions. |
manage.admins |
Create, edit and remove admin accounts |
settings.view |
View settings (no tokens) |
settings.write |
Change settings |
console.view |
View console |
console.write |
Run console commands |
control.server |
Start, stop and restart the server |
announcement |
Send announcements |
commands.resources |
Start and stop resources |
server.cfg.editor |
Read and write the server.cfg |
txadmin.log.view |
View the txAdmin log |
server.log.view |
View server logs |
menu.vehicle |
Spawn and fix vehicles |
menu.clear_area |
Reset a world area |
menu.viewids |
Show player IDs in-game |
players.direct_message |
Send direct messages to players |
players.whitelist |
Whitelist a player |
players.warn |
Warn a player |
players.kick |
Kick a player |
players.ban |
Ban and unban players |
players.freeze |
Freeze a player |
players.heal |
Heal yourself or everyone |
players.playermode |
Toggle NoClip, God Mode or Superjump |
players.spectate |
Spectate a player |
players.teleport |
Teleport yourself or a player |
players.troll |
Use the troll menu |
players.remove_ids |
Remove a player's IDs and HWIDs from the database |
Using the in-game menu
You open the txAdmin menu in-game with the command /tx or /txadmin. Alternatively you can assign a key under Game Settings > Key Bindings > FiveM for (txAdmin) Menu: Open Main Page.
Option 2: ACE permissions in the server.cfg
The ACE system (Access Control Entries) of FXServer controls who is allowed to run which commands. It consists of two building blocks:
- Principal – who: a group (e.g.
group.admin) or a single player (identifier.license:...) - Object – what: usually a command written as
command.<name>
Commands that a resource registers as restricted via RegisterCommand can only be used by a player if the matching command.<name> object is allowed for them.
The most important commands
| Command | Function |
|---|---|
add_ace [principal] [object] [allow/deny] |
Adds an entry to the access control list |
add_principal [child_principal] [parent_principal] |
Makes a principal inherit from another one (e.g. player → group) |
remove_ace [principal] [object] [allow/deny] |
Removes an entry from the access control list |
remove_principal [child_principal] [parent_principal] |
Removes an inheritance entry |
test_ace [principal] [object] |
Tests whether a principal may access an object |
Finding the identifier
For add_principal you need the player's identifier. FiveM knows these types:
| Type | Provider |
|---|---|
license |
Rockstar Online Services (hash) |
license2 |
Rockstar Online Services (hash). The ROS license for Steam users, it can have the same value as license. |
steam |
Steam ID (hex) |
discord |
Discord User ID |
fivem |
Cfx.re User ID |
ip |
IPv4 address |
There are two ways to get a player's identifier:
- Via txAdmin – Open the Players page, click the player and switch to the IDs tab in the window. All known identifiers are listed there.
- Via the console – Run the command
status. It lists all connected players with their primary identifier, server ID, name, endpoint and ping. The command is provided by the rconlog resource – if it is not running, the command is not available.
Adding an admin to the server.cfg
-
Stop the server
Stop your server via the dashboard. -
Connect via SFTP
Connect to your server via SFTP. -
Open server.cfg
Open theserver.cfgyour server executes on startup. Where it is located depending on your txAdmin setup is explained in the guide Set Port. -
Add the group and the admin
Add the following lines. This is also how the block looks in the example configuration by Cfx.re – you only replace the identifier with your own:add_ace group.admin command allow add_ace group.admin command.quit deny add_principal identifier.license:YOUR_IDENTIFIER group.adminThe first line allows the group
group.adminto use every command, the second one takes thequitcommand (shutting down the server) back out. The third line makes a specific player a member of the group. -
Add more admins
For every additional admin you add anotheradd_principalline:add_principal identifier.license:SECOND_IDENTIFIER group.admin add_principal identifier.license:THIRD_IDENTIFIER group.admin -
Start the server
Save the file and start your server.
Testing permissions
You can check whether an entry works in the console – with txAdmin in the Live Console, without txAdmin in the console of your dashboard:
test_ace identifier.license:YOUR_IDENTIFIER command.quit
The command returns whether the principal is allowed to access the given object.
