Permissions ACE sur FiveM : le guide complet pour sécuriser votre serveur
Gérer qui peut faire quoi sur un serveur FiveM, c'est la base de tout projet sérieux. Donner les droits admin à n'importe qui ou laisser des commandes sensibles accessibles à tous, c'est le meilleur moyen de voir son serveur partir en vrille.
Le système ACE (Access Control Entry) est le système de permissions natif de FiveM. Il vous permet de créer des groupes (admin, modérateur, police, VIP…), de leur attribuer des droits précis, et de gérer tout ça de manière hiérarchique. Dans ce guide, on passe en revue tout ce qu'il faut savoir pour configurer vos permissions proprement.
Le système ACE, c'est quoi exactement ?
ACE est le système de permissions intégré à FiveM. Il vous permet de :
- Contrôler l'accès aux commandes et fonctionnalités
- Créer des groupes avec des niveaux de droits différents
- Gérer les permissions de manière hiérarchique (un admin hérite des droits d'un modérateur, etc.)
- Sécuriser les ressources et commandes sensibles
Tout se configure dans le fichier server.cfg de votre serveur.
Les trois concepts à comprendre
Avant de se lancer dans la config, il faut comprendre trois notions essentielles.
1. Le Principal (l'identité)
C'est ce qui identifie un joueur ou un groupe. Ça peut être :
identifier.steam:110000xxxxxx # Identifiant Steam
identifier.license:xxxxxx # License Rockstar
identifier.discord:xxxxxx # ID Discord
identifier.fivem:xxxxxx # ID FiveM
group.admin # Un groupe
2. L'ACE (la permission)
C'est le droit que vous accordez ou refusez :
command.kick # Permission de kick
command.ban # Permission de ban
resource.admin_menu # Accès à une ressource spécifique
3. Allow / Deny
Vous autorisez (allow) ou refusez (deny) la permission.
L'héritage entre groupes
C'est ce qui rend le système ACE vraiment pratique. Un groupe peut hériter des permissions d'un autre groupe.
Par exemple, si vous avez cette hiérarchie :
superadmin → admin → moderateur → support
Un superadmin a automatiquement toutes les permissions d'admin, qui a toutes celles de modérateur, et ainsi de suite. Vous n'avez pas besoin de recopier les mêmes permissions partout.
FiveM traite les permissions dans cet ordre :
- Permissions spécifiques du joueur (identifier)
- Permissions de groupe (group)
- Permissions héritées
La syntaxe de base
Tout se passe dans votre server.cfg. Voici les commandes essentielles :
# Donner une permission à un groupe ou un joueur
add_ace <principal> <permission> <allow/deny>
# Ajouter un joueur à un groupe
add_principal <identifier> <group>
# Faire hériter un groupe d'un autre
add_ace group.admin group.moderator allow
Configuration simple : un seul admin
Si vous débutez et que vous voulez juste vous donner les droits admin, voici le minimum :
# Créer le groupe admin avec toutes les commandes
add_ace group.admin command allow
# Vous ajouter au groupe admin (remplacez par votre Steam ID)
add_principal identifier.steam:110000xxxxxx group.admin
Avec ça, vous avez accès à toutes les commandes. Simple, mais pas très fin niveau gestion des droits.
Configuration complète : structure hiérarchique
Voici une configuration plus sérieuse avec plusieurs niveaux de permissions :
####################################
# PERMISSIONS GLOBALES
####################################
# Bloquer les commandes dangereuses pour tout le monde par défaut
add_ace builtin.everyone command.restart deny
add_ace builtin.everyone command.stop deny
add_ace builtin.everyone command.exec deny
####################################
# SUPERADMIN (propriétaire du serveur)
####################################
add_ace group.superadmin command allow
add_ace group.superadmin txadmin allow
add_principal identifier.steam:110000xxxxxx group.superadmin
####################################
# ADMIN
####################################
# L'admin hérite des droits modérateur
add_ace group.admin group.moderator allow
# Permissions spécifiques admin
add_ace group.admin command.restart allow
add_ace group.admin command.stop allow
add_ace group.admin command.start allow
add_ace group.admin command.refresh allow
add_ace group.admin command.ensure allow
add_ace group.admin command.setjob allow
add_ace group.admin command.giveitem allow
add_ace group.admin command.givemoney allow
add_ace group.admin command.car allow
add_ace group.admin command.dv allow
add_ace group.admin command.tp allow
add_ace group.admin command.bring allow
add_ace group.admin command.unban allow
add_principal identifier.steam:110000yyyyyy group.admin
####################################
# MODERATEUR
####################################
# Le modérateur hérite des droits support
add_ace group.moderator group.support allow
# Permissions de modération
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow
add_ace group.moderator command.warn allow
add_ace group.moderator command.mute allow
add_ace group.moderator command.spectate allow
add_ace group.moderator command.goto allow
add_ace group.moderator command.announce allow
add_principal identifier.steam:110000zzzzzz group.moderator
add_principal identifier.discord:123456789 group.moderator
####################################
# SUPPORT
####################################
add_ace group.support command.tp allow
add_ace group.support command.tpto allow
add_ace group.support command.bring allow
add_ace group.support command.revive allow
add_principal identifier.steam:110000aaaaaa group.support
####################################
# VIP (avantages sans droits admin)
####################################
add_ace group.vip vip.priority allow
add_ace group.vip vip.customskin allow
add_ace group.vip vip.spawnvehicle allow
add_principal identifier.steam:110000bbbbbb group.vip
Les différents types d'identifiants
Steam ID (recommandé)
C'est le plus fiable et le plus utilisé :
add_principal identifier.steam:110000xxxxxx group.admin
Pour trouver le Steam ID d'un joueur :
- Le joueur se connecte au serveur
- Tapez
statusdans la console serveur - Repérez la ligne avec son pseudo et copiez l'identifiant
steam:xxxxx
Discord ID
add_principal identifier.discord:123456789012345678 group.admin
Pour le trouver : activez le mode développeur dans Discord, puis clic droit sur l'utilisateur → Copier l'ID.
License Rockstar
add_principal identifier.license:xxxxxxxxxxxxxx group.admin
FiveM ID
add_principal identifier.fivem:xxxxxx group.admin
À éviter : L'identification par IP (
identifier.ip:xxx) est déconseillée car les IP changent régulièrement.
Permissions pour les métiers (serveur RP)
Sur un serveur roleplay, vous pouvez créer des permissions spécifiques par métier :
# Police
add_ace group.police police.menu allow
add_ace group.police police.armory allow
add_ace group.police police.handcuff allow
add_ace group.police police.vehicle allow
# EMS
add_ace group.ems ems.menu allow
add_ace group.ems ems.vehicle allow
add_ace group.ems command.revive allow
add_ace group.ems command.heal allow
# Mécano
add_ace group.mechanic mechanic.menu allow
add_ace group.mechanic mechanic.repair allow
Dans vos scripts, vous vérifiez ensuite la permission :
if IsPlayerAceAllowed(source, 'police.armory') then
-- Le joueur peut accéder à l'armurerie
end
Restreindre l'accès à une ressource
Vous pouvez bloquer une ressource entière et ne l'autoriser qu'à certains groupes :
# Bloquer admin_menu pour tout le monde
add_ace builtin.everyone resource.admin_menu deny
# Autoriser uniquement les admins
add_ace group.admin resource.admin_menu allow
Configuration avec txAdmin
Si vous utilisez txAdmin pour gérer votre serveur, vous devez donner les permissions correspondantes :
# Accès complet à txAdmin
add_ace group.superadmin txadmin allow
add_principal identifier.steam:110000xxxxxx group.superadmin
# Accès limité (voir sans pouvoir modifier)
add_ace group.admin txadmin.view allow
add_ace group.admin txadmin.control allow
Intégration avec ESX et QBCore
Avec ESX
ESX a son propre système de groupes dans la base de données, mais il peut fonctionner avec ACE :
add_ace group.admin command.setjob allow
add_ace group.admin command.givemoney allow
add_principal identifier.steam:xxx group.admin
N'oubliez pas de mettre aussi le groupe à admin dans la table users de votre base de données ESX.
Avec QBCore
QBCore utilise les permissions ACE nativement :
add_ace group.god command allow
add_ace group.admin qbcore.admin allow
Et dans qb-core/server/main.lua, ajoutez vos identifiants dans la config des permissions.
Commandes utiles pour tester
Vérifier si un joueur a une permission
Dans la console F8 ou la console serveur :
test_ace steam:110000xxxxxx command.kick
Retourne true ou false.
Lister toutes les permissions actives
list_aces
Résoudre les problèmes courants
Les permissions ne s'appliquent pas
- Redémarrez complètement le serveur (pas juste
refresh) - Vérifiez l'orthographe exacte des identifiants (sensible à la casse)
- Utilisez
statuspour voir les identifiants des joueurs connectés
L'ordre est important
Créez toujours le groupe avant d'y ajouter des joueurs :
# ❌ Mauvais ordre
add_principal identifier.steam:xxx group.admin
add_ace group.admin command allow
# ✅ Bon ordre
add_ace group.admin command allow
add_principal identifier.steam:xxx group.admin
Conflit avec ESX/QBCore
Si une commande est refusée malgré les bonnes permissions ACE, le script lui-même peut avoir son propre système de vérification. Vérifiez la config du script concerné.
Bonnes pratiques de sécurité
Principe du moindre privilège
Ne donnez que les permissions strictement nécessaires :
# ❌ Trop large
add_ace group.moderator command allow
# ✅ Précis
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow
add_ace group.moderator command.warn allow
Protégez les commandes critiques
# Bloquer pour tout le monde par défaut
add_ace builtin.everyone command.restart deny
add_ace builtin.everyone command.stop deny
add_ace builtin.everyone command.exec deny
# Autoriser uniquement les superadmins
add_ace group.superadmin command.restart allow
add_ace group.superadmin command.stop allow
Documentez votre configuration
Commentez votre server.cfg pour vous y retrouver :
# ===== GROUPE ADMIN =====
# Peut gérer les joueurs et les ressources
# Ne peut PAS arrêter/redémarrer le serveur
add_ace group.admin command.kick allow
# ...
En résumé
Le système ACE de FiveM est puissant et flexible une fois qu'on a compris sa logique. Les points clés à retenir :
- Utilisez des groupes plutôt que des permissions individuelles
- Profitez de l'héritage pour ne pas vous répéter
- Steam ID est l'identifiant le plus fiable
- Appliquez le principe du moindre privilège
- Testez toujours vos permissions après modification
Besoin d'un serveur FiveM pour mettre tout ça en place ? OuiHeberg propose des offres d'hébergement FiveM avec un accès complet à vos fichiers de configuration pour gérer vos permissions ACE comme vous le souhaitez.

