Configurer le fichier server.cfg de FiveM
Par Benjamin D. · PDG
· Mis à jour le 17 août 2026 · Lecture 11 min
Sommaire
Le fichier server.cfg FiveM est le cœur de votre serveur : c'est lui qui déclare les ports, la clé de licence, les ressources chargées, les permissions administrateur et le mode OneSync. Une seule ligne mal placée et le serveur refuse de démarrer ou n'apparaît pas dans la liste publique. Voici un tutoriel complet, à jour 2026, pour le configurer proprement.
server.cfg FiveM : rôle, emplacement et ordre de lecture
Contrairement à d'autres jeux où la configuration est éclatée dans plusieurs fichiers, FiveM centralise presque tout dans un unique fichier texte. Le serveur (les artifacts FXServer) est lancé avec un argument du type +exec server.cfg : il exécute ligne par ligne les commandes du fichier, comme si vous les tapiez dans la console.
Où se trouve le fichier
- Sur un hébergement avec panel Pterodactyl : dans le gestionnaire de fichiers, à la racine du serveur ou dans le dossier de données (souvent
/server-data/selon l'egg utilisé). Vous l'éditez directement dans le navigateur, puis vous redémarrez depuis la console. - Sur un VPS auto-géré : dans le répertoire de données que vous avez créé, par exemple
/home/fivem/server-data/server.cfg, à côté du dossierresources/. - Avec txAdmin : l'interface web propose un éditeur intégré (CFG Editor). Attention, txAdmin ajoute ses propres lignes automatiquement ; ne les supprimez pas.
L'ordre des lignes n'est pas décoratif
Le point que 90 % des débutants ratent : server.cfg est séquentiel. Une ressource qui dépend d'un framework doit être démarrée après lui. Un add_principal qui référence un groupe doit venir après les add_ace qui le définissent. Et sv_licenseKey doit être présent, sinon le serveur s'arrête au bout de quelques secondes avec une erreur d'authentification.
Les trois familles de commandes
| Type | Exemple | Comportement |
|---|---|---|
set | set onesync on | Définit une variable côté serveur uniquement. |
sets | sets locale "fr-FR" | Définit une variable et la publie dans la liste des serveurs (visible par les joueurs). |
setr | setr voice_enabled 1 | Réplique la variable côté client (utilisable dans les scripts client). |
À cela s'ajoutent les commandes directes : ensure, start, stop, exec, add_ace, add_principal, endpoint_add_tcp. La documentation de référence est disponible sur le manuel serveur officiel FiveM.
Configurer server.cfg FiveM ligne par ligne (modèle 2026)
Voici une base saine, commentée, que vous pouvez reprendre et adapter. Les commentaires commencent par #.
1. Réseau et endpoints
# Ports d'écoute : TCP et UDP doivent utiliser le meme port
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
# Masque l'IP réelle dans la liste publique (recommandé)
sv_endpointPrivacy true
Sur un hébergement mutualisé, le port est imposé par le panel : reprenez exactement celui affiché dans l'onglet réseau, sinon le serveur démarre mais reste injoignable. Sur un VPS Linux, pensez à ouvrir le port dans le pare-feu :
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw reload
2. Identité et vitrine du serveur
sv_hostname "^2[FR] Roleplay Serieux ^7| ^5Whitelist ^7| Discord"
sets sv_projectName "Nom du projet"
sets sv_projectDesc "Roleplay francais, economie custom, whitelist Discord"
sets tags "roleplay, francais, whitelist, custom cars"
sets locale "fr-FR"
sets banner_detail "https://exemple.fr/banner_detail.png"
sets banner_connecting "https://exemple.fr/banner_connect.png"
# Icone 96x96 px, PNG, placée à la racine du dossier serveur
load_server_icon monlogo.png
Les tags influencent directement la découvrabilité dans le navigateur de serveurs : soyez précis, pas exhaustif. Un sv_hostname à rallonge est tronqué à l'affichage.
3. Slots, OneSync et build du jeu
# OneSync Infinity : obligatoire au-delà de 32 slots
set onesync on
set onesync_population true
# Nombre de joueurs simultanés
sv_maxclients 64
# Build de GTA V ciblé (DLC). Ne changez que si vos ressources l'exigent.
sv_enforceGameBuild 3407
# Clé obtenue sur le portail keymaster
sv_licenseKey "votre_cle_ici"
Le choix de OneSync est structurant. Sans lui, vous restez limité à 32 slots et la synchronisation des entités reste locale. Avec OneSync, le serveur devient autoritaire sur les entités : plus de slots, meilleure cohérence, mais une charge CPU supérieure sur le thread principal. C'est précisément pour cette raison que la fréquence du processeur compte plus que le nombre de cœurs sur un serveur FiveM : un Ryzen haute fréquence tient un tick rate stable là où un CPU mutualisé bas de gamme s'effondre à 40 joueurs.
sv_enforceGameBuild mérite une remarque : si vos véhicules ou vêtements custom proviennent d'un DLC récent, il faut aligner le build. À l'inverse, forcer un build trop élevé sans ressources compatibles génère des crashs client au spawn. Testez sur un serveur de dev avant de toucher à cette valeur en production.
4. Ressources : start ou ensure ?
# Ressources systeme (à garder)
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
ensure rconlog
# Base de données
ensure oxmysql
# Framework
ensure es_extended # ou qb-core selon votre stack
# Dépendances
ensure ox_lib
ensure ox_inventory
ensure ox_target
# Vos scripts métier
ensure mon_garage
ensure mon_hud
ensure mon_multicharacter
ensure démarre la ressource, et la redémarre si elle tournait déjà : c'est ce que vous voulez dans 99 % des cas. start ne fait rien si la ressource est déjà active. Pour charger un dossier entier de ressources, utilisez la syntaxe avec accolades dans resources/ et un chargement groupé :
ensure [standalone]
ensure [esx_addons]
Cela démarre toutes les ressources contenues dans le dossier [standalone]. Pratique, mais l'ordre interne n'est pas garanti : réservez cette méthode aux scripts sans dépendances croisées.
5. Permissions : ACE et principals
# Définition des droits du groupe admin
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_ace group.admin command.stop deny
# Groupe modérateur, droits restreints
add_ace group.mod command.kick allow
add_ace group.mod command.ban allow
# Attribution aux identifiants réels
add_principal identifier.fivem:1234567 group.admin
add_principal identifier.license:1a2b3c4d5e6f7890abcdef1234567890abcdef12 group.admin
add_principal identifier.discord:198765432109876543 group.mod
# Héritage : un admin possède aussi les droits mod
add_principal group.admin group.mod
Un principe simple : on autorise large puis on interdit précisément pour les groupes de confiance, et on autorise commande par commande pour les rôles subalternes. Le identifier.license: est le plus fiable car il suit le compte Rockstar, contrairement à l'IP ou au Steam ID.
6. RCON, script hook et anti-triche de base
# Laissez vide si vous n'utilisez pas RCON. Sinon : long et aléatoire.
rcon_password ""
# Bloque les script hooks / injecteurs cote client
sv_scriptHookAllowed 0
# Contrôle de la fiabilité des identifiants
set sv_authMaxVariance 1
set sv_authMinTrust 5
# Clé Steam Web API (optionnelle, pour récupérer les identifiants Steam)
set steam_webApiKey ""
Un
rcon_passwordlaissé sur une valeur triviale commechangemeest une porte ouverte sur votre console serveur. Soit vous le laissez vide, soit vous générez une chaîne de 24 caractères minimum et vous ne la partagez jamais dans un salon Discord.
Tableau récapitulatif des convars utiles
| Convar | Valeur type | Effet |
|---|---|---|
sv_maxclients | 32 à 2048 | Slots simultanés (au-delà de 32 : OneSync requis) |
onesync | on / legacy / off | Mode de synchronisation des entités |
sv_enforceGameBuild | 2802, 3095, 3407... | Force un build DLC de GTA V |
sv_scriptHookAllowed | 0 | Interdit les script hooks côté joueur |
sv_endpointPrivacy | true | Masque l'IP du serveur dans la liste publique |
sv_lan | false | Mode réseau local (désactive la licence, tests uniquement) |
svgui_disable | 1 | Désactive l'interface graphique du FXServer |
Optimiser, sécuriser et dépanner votre configuration FiveM
Découper server.cfg en modules
Passé une trentaine de ressources, le fichier devient illisible. Utilisez exec pour segmenter :
# server.cfg (fichier principal)
exec cfg/network.cfg
exec cfg/permissions.cfg
exec cfg/resources_core.cfg
exec cfg/resources_jobs.cfg
exec cfg/resources_maps.cfg
Avantage concret : quand un script casse le serveur, vous commentez une seule ligne exec pour isoler le lot fautif, au lieu de fouiller 400 lignes. Les fichiers appelés sont relatifs au dossier de données du serveur.
Performance : ce qui pèse réellement
- Le nombre de ressources actives plus que leur taille. Chaque ressource consomme des ticks. Supprimez les scripts de test, les maps non utilisées, les doublons de HUD.
- Les boucles côté serveur dans les scripts tiers. Surveillez la console avec
resmoncôté client et les temps de tick serveur dans txAdmin. - La base de données.
oxmysqlmal configuré (pool trop petit, requêtes non préparées) crée des micro-freezes ressentis comme du lag réseau. Vérifiez la chaîne de connexion :
set mysql_connection_string "mysql://user:motdepasse@localhost/nom_base?charset=utf8mb4"
- Le stockage. Un serveur FiveM avec beaucoup de ressources streamées (véhicules, MLO) lit énormément de petits fichiers au démarrage et pendant les téléchargements clients. Du SSD NVMe change radicalement le temps de connexion des joueurs par rapport à du stockage mécanique.
- La latence réseau. Un serveur français hébergé en France pour une communauté francophone, c'est 20 à 40 ms d'écart sur le ping perçu par rapport à une infrastructure lointaine. Sur du roleplay avec courses-poursuites, ça se voit.
Nos configurations Serveur FiveM reposent sur des processeurs Ryzen haute fréquence et du NVMe, avec anti-DDoS inclus par défaut — l'attaque volumétrique est filtrée en amont, vous n'avez rien à configurer dans server.cfg pour ça.
Sécuriser un serveur FiveM : les gestes qui comptent
- Ne jamais publier votre
sv_licenseKey. Elle est liée à votre compte : une clé divulguée peut être utilisée pour lancer un serveur en votre nom. En cas de fuite, régénérez-la. - Whitelist pour tout serveur roleplay : via txAdmin, via un rôle Discord, ou via une ressource dédiée qui vérifie le
identifier.license. - Sauvegardes automatiques du dossier
resources/et surtout de la base MySQL. Une mise à jour de framework ratée sans dump SQL, c'est une communauté perdue. - Mises à jour des artifacts régulières, mais jamais en pleine soirée d'affluence. Testez d'abord sur une instance secondaire.
- Sous-utilisateurs du panel plutôt qu'un mot de passe partagé entre développeurs : chaque staff a ses accès, révocables individuellement.
- Sur VPS auto-géré : jamais de FXServer lancé en root, clés SSH obligatoires, fail2ban et ufw actifs.
# Durcissement rapide d'un VPS hébergeant FXServer
adduser fivem
ssh-keygen -t ed25519 -C "admin-fivem"
sudo apt update && sudo apt install fail2ban ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 30120
sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban
Un service systemd évite d'avoir à relancer le serveur à la main après un reboot :
sudo systemctl enable fivem
sudo systemctl restart fivem
sudo journalctl -u fivem -f
Erreurs fréquentes et corrections
| Symptôme | Cause probable | Correction |
|---|---|---|
| Le serveur n'apparaît pas dans la liste | Endpoints incorrects, port fermé, licence invalide | Vérifier endpoint_add_tcp/udp, le pare-feu et sv_licenseKey |
Could not find resource X | Nom de dossier différent du ensure | Respecter la casse exacte, pas d'espace ni d'accent dans les noms |
| Framework qui plante au démarrage | Ordre de chargement | Placer oxmysql avant le framework, le framework avant ses addons |
| Joueurs kick "unknown game build" | sv_enforceGameBuild incohérent | Aligner le build sur les ressources streamées |
| Admins sans droits | add_principal avant les add_ace | Déclarer les ACE d'abord, puis les principals |
| Lag serveur au-delà de 40 joueurs | CPU mutualisé saturé, OneSync mal réglé | CPU dédié à haute fréquence, audit des ressources gourmandes |
| Téléchargement des ressources très lent | Stockage lent ou trop de fichiers streamés | NVMe, compression des assets, nettoyage des maps inutiles |
Workflow de modification propre
Sur un panel Pterodactyl, adoptez cette routine à chaque changement de server.cfg :
- Dupliquer le fichier en
server.cfg.bakavant édition. - Modifier une seule chose à la fois.
- Redémarrer depuis la console (pas un kill brutal) et lire les 40 premières lignes de log.
- Se connecter et tester la fonctionnalité concernée avant d'ouvrir au public.
Si vous préférez gérer l'ensemble vous-même (plusieurs instances, environnements de dev et de prod, CI de déploiement), un VPS Pterodactyl vous laisse la main complète sur les eggs et les allocations réseau. Pour découvrir les autres jeux hébergeables sur la même infrastructure, voyez Tous nos serveurs de jeu.
Conclusion
Un server.cfg FiveM bien tenu, c'est un fichier lisible, ordonné, découpé en modules, avec des permissions explicites et aucune valeur par défaut laissée au hasard. Prenez l'habitude de sauvegarder avant chaque modification et de lire les logs après chaque redémarrage : la majorité des pannes se diagnostique en trente secondes dans la console.
FAQ
Pourquoi mon serveur FiveM démarre mais reste introuvable dans la liste des serveurs ?Trois causes dans l'ordre de fréquence : le port déclaré dans endpoint_add_tcp et endpoint_add_udp ne correspond pas à celui attribué par le panel ou n'est pas ouvert en UDP ; la sv_licenseKey est absente, expirée ou liée à une autre IP ; sv_lan est resté sur true. Vérifiez aussi que les deux endpoints utilisent bien le même numéro de port.
ensure dans la quasi-totalité des cas : il démarre la ressource, et la relance si elle tournait déjà, ce qui évite les états incohérents après un refresh. start reste utile uniquement pour des ressources que vous voulez lancer une seule fois sans jamais forcer de redémarrage. Dans tous les cas, respectez l'ordre des dépendances : base de données, puis framework, puis addons.
Le nombre de slots n'est pas la limite réelle : le facteur bloquant est la charge sur le thread principal du FXServer, très sensible à la fréquence CPU et au nombre de ressources actives. Un serveur roleplay chargé en scripts saturera plus vite qu'un freeroam léger à slots identiques. Montez sv_maxclients par palier (48, puis 64), en surveillant les temps de tick serveur avant chaque augmentation.