ACE (Anti-Cheat) sur FiveM
DOG&DEV · 25/01/2025
Automatisation
Gestion de Projet IT
ACE (Anti-Cheat) sur FiveM
ACE (Access Control Entries) est le système de permissions intégré à FiveM/CitizenFX. Il permet de restreindre des commandes, des ressources et des natives (ex. anti-triche) selon des principals (groupes, identifiants). Ce guide décrit add_ace, add_principal, sv_enforceGameBuild et un exemple de configuration groupe admin.
Prérequis
- Serveur FiveM opérationnel (fivem-windows-vps)
- Accès à server.cfg
Rôle d’ACE
- Autoriser ou refuser des droits (command.echo, resource.xyz, native.0x…) à des principals (group.admin, builtin.everyone, identifier.license:xxx).
- sv_enforceGameBuild : forcer une build GTA V (ex. 2699, 2802) pour limiter les mods client non compatibles ou les abus. Utile en anti‑cheat de base.
add_ace et add_principal
- add_ace <principal> <right> <allow/deny> : accorde ou refuse un droit à un principal.
Ex. :add_ace group.admin command.quit allow - add_principal <principal> <child> : fait hériter un principal d’un autre.
Ex. :add_principal identifier.license:abc123 group.admin— la licenseabc123hérite degroup.admin.
Principals courants :
- builtin.everyone : tous les joueurs.
- group.admin : groupe « admin » (créé par vous).
- identifier.license:xxx : une license FiveM (Steam, etc.) — à récupérer en console ou via une ressource.
Exemple : groupe admin
Dans server.cfg :
# Créer le groupe "admin" et lui donner des droits
add_ace group.admin command allow
add_ace group.admin command.quit allow
add_ace group.admin command.restart allow
# Refuser à tout le monde une commande dangereuse, puis l'autoriser aux admins
add_ace builtin.everyone command.reset_connection deny
add_ace group.admin command.reset_connection allow
# Lier une license (remplacer xxx par la vraie license) au groupe admin
add_principal identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx group.admin
- Pour trouver la license d’un joueur : en console serveur, au moment de sa connexion, ou via une ressource (ex. log de connexion). Format souvent
license:hex....
sv_enforceGameBuild
Pour forcer une build GTA V côté client (limiter les vieux mods / builds de triche) :
sv_enforceGameBuild 2802
(Le numéro dépend des ** builds** supportées par FiveM ; voir la doc FiveM ou les annonces de mises à jour.)
- Si un joueur a une build différente, il peut être refusé ou invité à mettre à jour GTA V. À utiliser avec précaution pour ne pas exclure des joueurs légitimes.
Ressources et ACE
- Les ressources peuvent consulter ACE (IsPlayerAceAllowed, etc.) pour restreindre des commandes ou des actions.
- add_ace resource.ma_ressource nom_du_droit allow : accorde un droit à une ressource (selon ce qu’elle vérifie).
Dépannage
| Symptôme | Cause possible | Correctif |
|---|---|---|
| Admin sans droits | add_principal non exécuté, mauvaise license | Vérifier la license (console, log) ; add_principal identifier.license:xxx group.admin |
| Tout le monde a les droits | add_ace builtin.everyone ... allow trop large | Limiter les allow à group.admin ; deny par défaut pour builtin.everyone si besoin |
| Joueurs kick « Game build » | sv_enforceGameBuild trop strict ou build obsolète | Ajuster ou commenter sv_enforceGameBuild ; demander aux joueurs de mettre à jour GTA V |
Bonnes pratiques
- Principe du moindre privilège : n’accorder que les droits nécessaires au groupe admin.
- Identifier : utiliser identifier.license (ou steam:) pour lier des joueurs précis ; éviter d’accorder des droits à builtin.everyone sauf pour des droits très limités.
- Pour la synchro et les scripts : enable-onesync. Pour le framework : esx-qbcore-setup. Pour la sécurité du VPS : how-to-secure-vps.
Ressources
Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.