Protéger votre serveur FiveM avec un anticheat
Rien ne tue un serveur RP plus vite que les tricheurs. Un bon anticheat garde votre communauté saine. Voici comment protéger votre serveur FiveM efficacement.
Pourquoi protéger son serveur FiveM ?
Un anticheat FiveM aide à détecter et bloquer les comportements qui perturbent votre serveur RP : création abusive d’entités, téléportation impossible, invincibilité, utilisation non autorisée de commandes ou déclenchement frauduleux d’événements.
Sans protection adaptée, un tricheur peut dégrader l’expérience de toute la communauté en quelques minutes. Les conséquences ne se limitent pas à une partie gâchée :
- véhicules ou objets créés en masse ;
- économie du serveur déséquilibrée ;
- inventaires modifiés ;
- joueurs tués ou téléportés ;
- événements RP interrompus ;
- données détériorées ;
- perte de confiance de la communauté.
Un anticheat analyse certains comportements, applique des règles et peut avertir l’équipe de modération, expulser un joueur ou déclencher un bannissement.
Il ne doit toutefois pas être considéré comme une protection absolue. Aucun anticheat ne détecte parfaitement toutes les attaques, et une configuration trop agressive peut sanctionner des joueurs légitimes.
La sécurité d’un serveur RP repose sur plusieurs couches : anticheat, permissions ACE, validation côté serveur, scripts fiables, mises à jour et surveillance humaine.
Les différents types d’anticheat
Les solutions disponibles peuvent être communautaires, open source ou commerciales. Leur niveau de protection dépend moins de leur prix que de leur maintenance, de leur configuration et de la qualité des contrôles réalisés côté serveur.
| Type de protection | Fonctionnement | Point d’attention |
|---|---|---|
| Détection côté client | Observe le comportement du jeu du joueur | Peut être contournée ou désactivée par un client modifié |
| Détection côté serveur | Vérifie les actions reçues par FXServer | Plus difficile à contourner si les contrôles sont bien conçus |
| Protection des événements | Valide les montants, rôles, positions et objets | Doit être intégrée aux scripts sensibles |
| Surveillance des entités | Contrôle les véhicules, PNJ, objets et explosions | Nécessite des seuils adaptés au gameplay |
| Solution communautaire | Code souvent consultable et personnalisable | Maintenance et support variables |
| Solution commerciale | Interface, support et règles préconfigurées | Vérifier la réputation, les conditions et les faux positifs |
Un anticheat peut surveiller notamment :
- les déplacements anormalement rapides ;
- les téléportations non autorisées ;
- l’invincibilité ;
- les armes interdites ;
- les explosions ;
- la création massive de véhicules ou de PNJ ;
- les événements réseau sensibles ;
- les commandes réservées à l’administration.
Les contrôles côté client peuvent compléter la protection, mais les décisions importantes doivent être confirmées côté serveur. Un client ne doit jamais être considéré comme une source entièrement fiable.
Par exemple, un script de récompense ne doit pas accepter directement le montant envoyé par le joueur. Le serveur doit vérifier l’action réalisée, le métier, la distance, l’inventaire et la récompense autorisée avant de modifier l’argent.
Préférez les solutions disposant d’une documentation, d’un historique de mises à jour et d’un support identifiable. Évitez les anticheats piratés, modifiés ou distribués sans source claire.
La base de la sécurité : les permissions ACE
Les permissions ACE constituent le système natif de contrôle d’accès de FXServer. Elles permettent de décider quels groupes, joueurs ou ressources peuvent exécuter une commande ou accéder à une fonction.
La commande add_ace accorde ou refuse une permission :
add_ace [principal] [objet] allow
La commande add_principal rattache un joueur ou un groupe à un autre groupe :
add_principal [identifiant] [groupe]
Exemple générique pour créer un groupe de modération :
add_ace group.moderator command.nom_commande allow
add_principal identifier.fivem:VOTRE_ID group.moderator
Remplacez command.nom_commande par l’objet ACE indiqué dans la documentation de votre ressource, et identifier.fivem:VOTRE_ID par l’identifiant réel du membre.
Pour un administrateur disposant de toutes les commandes sauf l’arrêt du serveur :
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_principal identifier.fivem:VOTRE_ID group.admin
Cette configuration donne des droits très importants. Elle doit être réservée aux personnes qui administrent réellement FXServer.
Vous pouvez tester une permission depuis la console :
test_ace group.admin command
Ou vérifier un objet précis :
test_ace group.moderator command.nom_commande
Certains anticheats proposent une permission de contournement pour éviter que leurs contrôles ne bloquent les administrateurs utilisant des outils légitimes. Son nom dépend entièrement de la ressource :
add_ace group.admin anticheat.bypass allow
N’utilisez cette ligne que si anticheat.bypass est bien l’objet demandé par la documentation. Une permission inventée n’aura aucun effet.
N’accordez jamais un bypass anticheat à tous les joueurs ou à un groupe trop large. Un compte administrateur compromis pourrait alors contourner une partie des contrôles.
Les permissions de txAdmin sont également configurables depuis son gestionnaire d’administrateurs. Attribuez uniquement les fonctions nécessaires : consulter la console, expulser un joueur ou redémarrer une ressource ne justifie pas toujours un accès complet.
Pour prendre en main la console et les permissions d’administration, consultez le guide pour démarrer avec txAdmin.
Installer un anticheat FiveM
Téléchargez la ressource depuis son dépôt officiel, le Marketplace Cfx.re ou la boutique reconnue de son développeur. Lisez sa documentation avant de transférer les fichiers.
Vérifiez notamment :
- les versions FXServer compatibles ;
- les dépendances nécessaires ;
- la prise en charge d’ESX ou QBCore ;
- les fichiers SQL éventuels ;
- les permissions ACE demandées ;
- les réglages liés à OneSync ;
- la méthode de configuration des sanctions.
Arrêtez ensuite le serveur. Avant toute intervention, des sauvegardes automatiques sont incluses pour vous aider à restaurer. Conservez aussi vos propres exports réguliers : vous restez responsable de vos données.
Décompressez l’archive, puis placez la ressource dans un dossier dédié :
resources/
└── [security]/
└── mon_anticheat/
├── fxmanifest.lua
├── config.lua
├── client/
└── server/
Le fichier fxmanifest.lua doit se trouver directement dans le dossier de la ressource.
Ajoutez ensuite l’anticheat dans server.cfg :
ensure mon_anticheat
Respectez l’ordre de démarrage indiqué par son éditeur. Si la ressource utilise oxmysql, ox_lib, ESX ou QBCore, ces dépendances doivent généralement démarrer avant elle :
ensure oxmysql
ensure ox_lib
ensure es_extended
ensure mon_anticheat
Exemple QBCore :
ensure oxmysql
ensure ox_lib
ensure qb-core
ensure mon_anticheat
Configurez d’abord les règles en mode journalisation ou avertissement lorsque cette option existe. Testez ensuite les principales actions légitimes avant d’activer les bannissements automatiques.
Configurer les logs et le monitoring
Les logs permettent de comprendre pourquoi une alerte a été déclenchée et de distinguer une tentative de triche d’un faux positif.
Un journal utile doit contenir au minimum :
- le pseudo ;
- les identifiants disponibles ;
- la date et l’heure ;
- la règle déclenchée ;
- la ressource concernée ;
- les informations de contexte ;
- la décision prise ;
- le modérateur ayant vérifié l’alerte.
De nombreux anticheats peuvent envoyer des alertes vers Discord à l’aide d’un webhook. Ne publiez jamais l’URL du webhook dans un dépôt public ou une capture d’écran : une personne qui la récupère pourrait envoyer de faux messages dans votre salon.
Créez plusieurs niveaux d’alerte :
Information : événement inhabituel sans sanction
Avertissement : comportement à vérifier
Critique : action bloquée ou joueur expulsé
Bannissement : sanction automatique ou validée
Évitez de bannir automatiquement sur la base d’un seul indicateur imprécis, comme une vitesse momentanément élevée. Une téléportation peut aussi provenir d’un script de métier, d’un menu administratif ou d’une désynchronisation.
Surveillez également la console txAdmin. Une succession d’erreurs, d’événements ou de créations d’entités peut révéler un problème avant même qu’un joueur ne le signale.
Bonnes pratiques pour protéger un serveur FiveM
Gardez les artifacts FXServer et vos ressources à jour. Les versions obsolètes peuvent conserver des bugs ou devenir incompatibles avec les mécanismes de sécurité récents.
Installez uniquement des scripts provenant de sources fiables. Une ressource malveillante peut contourner votre anticheat, récupérer des données ou exécuter des actions non autorisées.
Validez les opérations sensibles côté serveur :
- montant d’une récompense ;
- achat ou vente d’un objet ;
- retrait d’argent ;
- attribution d’un métier ;
- apparition d’un véhicule ;
- accès à une commande administrative.
Limitez également :
- le nombre de comptes administrateurs ;
- les permissions globales ;
- les bypass anticheat ;
- les webhooks accessibles ;
- les ressources capables d’exécuter des commandes ;
- les événements réseau acceptant des données non vérifiées.
Testez chaque mise à jour sur une instance secondaire et conservez une procédure de retour arrière. Une règle trop stricte peut bloquer un garage, un système de téléportation ou un script de métier parfaitement légitime.
Enfin, prévoyez une procédure de contestation. Un joueur sanctionné doit pouvoir transmettre des informations à l’équipe afin qu’un faux positif soit vérifié.
En résumé
- Un anticheat FiveM détecte certains comportements anormaux, mais aucune solution n’est parfaite.
- Combinez les contrôles côté client avec des validations solides côté serveur.
- Utilisez les permissions ACE pour limiter précisément les commandes et accès administratifs.
- Ajoutez une permission avec
add_aceet rattachez un joueur à un groupe avecadd_principal. - N’accordez jamais un bypass anticheat à un groupe trop large.
- Téléchargez la ressource depuis une source fiable et vérifiez son
fxmanifest.lua. - Ajoutez
ensure nom_de_la_ressourcedansserver.cfg. - Démarrez les dépendances avant l’anticheat.
- Activez progressivement les sanctions automatiques afin d’identifier les faux positifs.
- Conservez des logs détaillés et protégez les webhooks Discord.
- Mettez à jour FXServer, limitez les scripts non fiables et vérifiez les événements sensibles côté serveur.
- Pour déployer un anticheat FiveM sur une infrastructure hébergée en France avec panel de gestion, stockage NVMe, Anti-DDoS L3/L4/L7 inclus et support francophone, consultez l’offre serveur FiveM TalCloud.