← Blog

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 dossier resources/.
  • 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

TypeExempleComportement
setset onesync onDéfinit une variable côté serveur uniquement.
setssets locale "fr-FR"Définit une variable et la publie dans la liste des serveurs (visible par les joueurs).
setrsetr voice_enabled 1Ré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_password laissé sur une valeur triviale comme changeme est 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

ConvarValeur typeEffet
sv_maxclients32 à 2048Slots simultanés (au-delà de 32 : OneSync requis)
onesyncon / legacy / offMode de synchronisation des entités
sv_enforceGameBuild2802, 3095, 3407...Force un build DLC de GTA V
sv_scriptHookAllowed0Interdit les script hooks côté joueur
sv_endpointPrivacytrueMasque l'IP du serveur dans la liste publique
sv_lanfalseMode réseau local (désactive la licence, tests uniquement)
svgui_disable1Dé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 resmon côté client et les temps de tick serveur dans txAdmin.
  • La base de données. oxmysql mal 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

  1. 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.
  2. 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.
  3. 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.
  4. Mises à jour des artifacts régulières, mais jamais en pleine soirée d'affluence. Testez d'abord sur une instance secondaire.
  5. Sous-utilisateurs du panel plutôt qu'un mot de passe partagé entre développeurs : chaque staff a ses accès, révocables individuellement.
  6. 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ômeCause probableCorrection
Le serveur n'apparaît pas dans la listeEndpoints incorrects, port fermé, licence invalideVérifier endpoint_add_tcp/udp, le pare-feu et sv_licenseKey
Could not find resource XNom de dossier différent du ensureRespecter la casse exacte, pas d'espace ni d'accent dans les noms
Framework qui plante au démarrageOrdre de chargementPlacer oxmysql avant le framework, le framework avant ses addons
Joueurs kick "unknown game build"sv_enforceGameBuild incohérentAligner le build sur les ressources streamées
Admins sans droitsadd_principal avant les add_aceDéclarer les ACE d'abord, puis les principals
Lag serveur au-delà de 40 joueursCPU mutualisé saturé, OneSync mal régléCPU dédié à haute fréquence, audit des ressources gourmandes
Téléchargement des ressources très lentStockage lent ou trop de fichiers streamésNVMe, compression des assets, nettoyage des maps inutiles

Workflow de modification propre

Sur un panel Pterodactyl, adoptez cette routine à chaque changement de server.cfg :

  1. Dupliquer le fichier en server.cfg.bak avant édition.
  2. Modifier une seule chose à la fois.
  3. Redémarrer depuis la console (pas un kill brutal) et lire les 40 premières lignes de log.
  4. 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.

Faut-il utiliser ensure ou start dans server.cfg ?

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.

Combien de slots puis-je annoncer sans dégrader les performances ?

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.