Dépanner un serveur FiveM : liste, ports, base de données, lag
Un serveur FiveM en panne donne presque toujours sa raison, à condition de savoir où la lire. Ce guide reprend les pannes les plus fréquentes dans l'ordre où elles se présentent : le serveur n'apparaît pas dans la liste, les joueurs n'arrivent pas à se connecter, la clé de licence est refusée, txAdmin ne répond pas, oxmysql ne joint pas la base, une ressource refuse de démarrer, deux scripts se marchent dessus, ou la ville rame aux heures pleines.
Pour chaque cas : le symptôme, la cause probable et les commandes de diagnostic à taper. Les réglages cités sont ceux de la documentation officielle de FiveM, relue en octobre 2026. La dernière partie dit ce qui change quand le serveur est hébergé par Nova Studio.
01Avant tout : lire la console, pas deviner
La console du serveur (la fenêtre de FXServer, ou la console en direct de votre panneau d'hébergement) est la première source. Une erreur y est presque toujours nommée, avec la ressource en cause. Le réflexe utile est de remonter jusqu'à la PREMIÈRE erreur après le démarrage : les suivantes n'en sont souvent que la conséquence.
- Redémarrez le serveur et notez l'heure : vous saurez quelles lignes regarder.
- Cherchez les lignes en rouge ou en jaune, et les mots SCRIPT ERROR, Couldn't, Failed, Warning. Le nom entre crochets ou après @ est la ressource fautive.
- Dans la console du serveur, status liste les joueurs connectés avec leur identifiant et leur ping : un serveur qui répond à status tourne, même si personne ne le voit dans la liste.
- Côté joueur, la touche F8 ouvre la console du jeu : c'est là que se lisent les erreurs de connexion et que se tapent connect, resmon ou netgraph.
- Changez une seule chose à la fois, puis redémarrez. Trois corrections d'un coup rendent la vraie cause introuvable.
02Le serveur ne s'affiche pas dans la liste FiveM
D'après la documentation de FiveM, un serveur absent de la liste ou affiché comme privé vient le plus souvent d'une redirection de ports ou d'un pare-feu mal réglé. Avant de toucher à quoi que ce soit, séparez deux questions : le serveur est-il joignable, et est-il annoncé à la liste ?
- Testez la connexion directe : depuis un autre réseau que celui du serveur, ouvrez F8 dans FiveM et tapez connect IP:30120 (avec votre adresse et votre port). Si elle échoue, le problème est réseau : passez à la section des ports.
- Ouvrez http://IP:30120/info.json dans un navigateur. Une réponse en JSON prouve que le serveur répond en TCP.
- Dans server.cfg, la ligne #sv_master1 "" doit garder son # devant. Sans lui, le serveur est annoncé comme privé et le bouton de connexion de la liste est grisé.
- Vérifiez que sv_hostname, sets sv_projectName et sets sv_projectDesc sont renseignés : la documentation indique qu'un serveur sans nom de projet ni description signale une erreur au démarrage et peut ne pas être listé.
- Laissez du temps : l'inscription peut prendre jusqu'à huit minutes, et le service de liste a parfois ses propres incidents.
- Si tout le reste est bon, regardez le routeur : un équipement qui réécrit les ports source UDP (NAT) peut empêcher l'annonce.
| Symptôme | Cause probable | Où regarder |
|---|---|---|
| Absent de la liste, connect échoue | port fermé ou mal redirigé | pare-feu, routeur, endpoint_add_tcp et endpoint_add_udp |
| Listé comme privé | sv_master1 décommenté | server.cfg |
| Listé, mais la connexion expire | UDP bloqué, TCP ouvert | règle de pare-feu UDP sur 30120 |
| Absent de la liste, connect réussit | annonce refusée ou pas encore faite | clé de licence, nom de projet, délai |
03Les ports 30120 et 40120
Par défaut, FXServer écoute sur le port 30120, en TCP ET en UDP : server.cfg le déclare par endpoint_add_tcp "0.0.0.0:30120" et endpoint_add_udp "0.0.0.0:30120". La documentation conseille de ne changer que le port, et de ne toucher à l'adresse que sur une machine à plusieurs interfaces réseau. txAdmin, lui, a son interface web sur le port 40120 en TCP.
| Port | Protocole | Rôle | À ouvrir vers internet |
|---|---|---|---|
| 30120 | TCP | connexion, téléchargement des ressources, info.json | oui |
| 30120 | UDP | trafic de jeu | oui |
| 40120 | TCP | interface web de txAdmin | seulement si vous en avez besoin à distance |
| 3306 | TCP | MariaDB ou MySQL | non, jamais |
Sur un Linux avec ufw : ufw allow 30120/tcp puis ufw allow 30120/udp. Sur Windows, dans un PowerShell administrateur : New-NetFirewallRule -DisplayName FiveM -Direction Inbound -Protocol UDP -LocalPort 30120 -Action Allow, puis la même règle en TCP. Derrière une box, redirigez les deux protocoles vers l'adresse locale de la machine.
04Clé de licence Cfx.re refusée
Tout serveur FiveM a besoin d'une clé de licence, déclarée dans server.cfg par sv_licenseKey. Elle se crée sur portal.cfx.re, section « Servers », et commence par cfxk_. Une clé absente donne le message no license key was specified ; une clé révoquée ou invalide fait en général s'arrêter le serveur juste après le démarrage.
- La ligne sv_licenseKey est restée à sa valeur d'exemple (changeme), ou elle est commentée.
- La clé a été mal copiée : un espace, un guillemet en trop, un caractère manquant à la fin.
- La clé a été révoquée sur le portail, ou appartient à un compte qui n'y a plus accès.
- Le nombre de places (sv_maxclients) dépasse ce que votre compte Cfx.re autorise : la documentation demande alors d'utiliser une version récente du serveur et de rester dans la limite de votre compte.
- La version du serveur (l'artefact) est trop ancienne : mettez-la à jour avant de chercher plus loin.
05Les erreurs de txAdmin
txAdmin est le panneau web et le menu en jeu livrés avec FXServer pour démarrer, arrêter et surveiller un serveur. Au premier démarrage, il crée un dossier txData et affiche dans la console l'adresse où configurer votre compte. Il redémarre aussi le serveur tout seul quand celui-ci plante ou se bloque : un serveur qui redémarre en boucle n'est donc pas une panne de txAdmin, mais le signe d'une erreur à lire juste avant chaque relance.
- L'interface ne s'ouvre pas sur le port 40120 : le port est fermé par le pare-feu, ou txAdmin écoute sur une autre interface. Chez un hébergeur, l'adresse et le port sont imposés par lui : prenez ceux affichés dans la console.
- Le serveur ne démarre pas depuis txAdmin : comparez les ports déclarés dans server.cfg avec ceux attendus par txAdmin. Le port du jeu ne peut pas être 40120, et celui de txAdmin ne peut pas être 30120.
- Le serveur redémarre en boucle : ouvrez la console en direct de txAdmin et lisez les dernières lignes avant l'arrêt. C'est presque toujours une ressource qui plante ou bloque le serveur.
- Vous testez FiveM pour GTA V Enhanced, en accès anticipé depuis juillet 2026 : plusieurs hébergeurs y déclarent txAdmin encore indisponible ; à tester avant de compter dessus.
06oxmysql ne se connecte pas à la base
oxmysql relie les ressources à la base MariaDB ou MySQL. Il lit une seule variable, mysql_connection_string, à poser avec set AVANT de démarrer la moindre ressource, sous l'une de ces deux formes : mysql://utilisateur:motdepasse@hote:3306/base, ou user=…;password=…;host=…;port=3306;database=…. Ses auteurs recommandent MariaDB plutôt que MySQL.
| Message | Cause probable | Correction |
|---|---|---|
| ECONNREFUSED | la base ne tourne pas, ou mauvais hôte ou port | démarrer MariaDB, vérifier le port 3306 et l’adresse |
| ER_ACCESS_DENIED_ERROR | mauvais utilisateur ou mot de passe, ou utilisateur non autorisé depuis cette machine | vérifier les identifiants et les droits de l’utilisateur |
| ER_BAD_DB_ERROR (Unknown database) | base absente ou mal nommée | créer la base ou corriger son nom |
| Identifiants mal lus | caractère spécial dans le mot de passe | changer de format ou de mot de passe |
- Placez set mysql_connection_string tout en haut de server.cfg, puis ensure oxmysql avant toute ressource qui touche la base.
- Testez les mêmes identifiants avec un client SQL : si lui non plus ne se connecte pas, le problème est dans la base, pas dans FiveM.
- Sous Docker ou dans un panneau d'hébergement, localhost désigne le conteneur du jeu, pas la base : utilisez l'adresse fournie par l'hébergeur.
- Évitez dans le mot de passe les caractères ; , / ? : @ & = + $ #, que la documentation d'oxmysql signale comme source de lectures erronées.
07Une ressource ne démarre pas
Une ressource est un dossier placé sous resources, avec un fichier fxmanifest.lua à sa racine. ensure nom la démarre (ou la redémarre si elle tourne déjà), et refresh fait relire au serveur les dossiers ajoutés depuis son lancement. Quand elle échoue, la console donne presque toujours la raison dans l'une de ces formes.
| Message | Cause probable | Correction |
|---|---|---|
| Couldn't find resource | dossier mal nommé, mal placé, ou archive décompressée un niveau trop bas | le fxmanifest.lua doit être directement dans le dossier de la ressource |
| Could not find dependency | une ressource requise est absente ou démarre trop tard | l’installer et la démarrer avant |
| Failed to load script | un fichier listé dans le manifeste est introuvable | vérifier les chemins, et la casse sous Linux |
| SCRIPT ERROR | erreur dans le code, au fichier et à la ligne indiqués | lire la ligne, corriger ou signaler à l’auteur |
08Les conflits entre scripts
Un serveur qui démarre sans erreur peut quand même mal se comporter : objets qui disparaissent, menus en double, argent qui ne se met pas à jour. La cause est souvent un conflit entre deux ressources, plus difficile à repérer qu'une erreur franche.
- Deux ressources pour le même rôle : deux inventaires, deux systèmes de ciblage, deux téléphones ou deux HUD s'écrasent l'un l'autre.
- La même ressource démarrée deux fois, sous deux noms de dossier, ou une fois seule et une fois par la catégorie [dossier] qui la contient.
- Un script écrit pour un autre framework : un script ESX ne tourne pas sur QBox sans adaptation, et l'inverse non plus.
- Un ordre de démarrage faux : le framework et ses bibliothèques doivent démarrer avant les scripts qui s'en servent.
- Une bibliothèque commune trop ancienne, que plusieurs scripts récents attendent dans une version plus récente.
09Lag, saccades et resmon
« Le serveur lag » recouvre trois problèmes différents : un script trop lourd chez les joueurs, un serveur dont la boucle principale se bloque, ou un réseau saturé. Chacun a son outil, et le mauvais outil ne montre rien.
| Symptôme | Où chercher | Outil |
|---|---|---|
| Images par seconde basses chez les joueurs | une ressource lourde côté client | resmon true dans la console F8 |
| hitch warning dans la console du serveur | la boucle du serveur bloquée par un script | profiler record 500 dans la console du serveur |
| Joueurs qui se téléportent ou se désynchronisent | le réseau ou la charge de synchronisation | netgraph true dans la console F8 |
| Lag seulement aux heures pleines | processeur ou requêtes de base trop lentes | profiler aux heures pleines, et la charge de la machine |
- En jeu, ouvrez F8 et tapez resmon true : le moniteur affiche, ressource par ressource, le temps processeur en millisecondes et la mémoire.
- Si la console répond Access denied for command resmon, le client doit tourner en mode développeur : lancez FiveM avec l'argument +set moo 31337, ou passez sur un canal de mise à jour autre que la production.
- Triez par temps processeur. Une ressource qui reste au-dessus d'une milliseconde alors que personne ne s'en sert mérite d'être regardée de près.
- Côté serveur, profiler record 500 enregistre 500 images, profiler view donne un lien à ouvrir dans Chrome, et profiler saveJSON fichier.json garde la mesure pour plus tard.
10Ce qui change quand le serveur est hébergé par Nova
Avec Nova Studio, une bonne partie de ce guide ne vous concerne plus : la machine, ses ports et son anti-DDoS sont réglés par nous, la base de données et oxmysql arrivent configurés, et la base QBox et ses 67 modules sont livrés ensemble, testés ensemble et mis à jour pour tous les serveurs à la fois. Les conflits entre l'inventaire, le téléphone ou le ciblage de la base n'existent pas, puisqu'il n'y en a qu'un de chaque.
- Un diagnostic sur la page du serveur signale un serveur bloqué par un script, une base qui ne répond plus ou moins de places que votre offre, avec la marche à suivre dans la documentation du diagnostic.
- La console en direct, en lecture seule depuis le site, pour lire la première erreur après un redémarrage.
- L'écran Fichiers pour vos propres scripts, déposés dans resources/[client] et activés depuis la carte Ressources, comme l'explique la documentation sur vos scripts.
- La clé Cfx se remplace depuis l'écran Configuration, et la page d'état dit si un incident touche toute la plateforme.
Ce qui reste à vous : vos propres scripts. Sur Nova, ox_lib est fourni par nova_lib et aucun dossier ox_lib n'existe sur le disque : dans le fxmanifest d'un script, la ligne @ox_lib/init.lua se remplace par @nova_lib/shared/lib_init.lua, sinon la console affiche « Failed to load script ». L'abonnement va de NOVA à 99 € par mois à NOVA INFINITY à 229 € par mois, en passant par NOVA+ à 149 € ; la page des tarifs affiche les offres en cours et celles qui s'achètent aujourd'hui.
Questions fréquentes
Pourquoi mon serveur FiveM ne s'affiche-t-il pas dans la liste ?
Le plus souvent, un port fermé : 30120 doit être ouvert en TCP et en UDP. Testez d'abord connect IP:30120 dans la console F8 depuis un autre réseau. Si la connexion directe marche, vérifiez que la ligne sv_master1 est bien commentée, que sv_projectName et sv_projectDesc sont renseignés, que la clé de licence est valide, puis attendez jusqu'à huit minutes.
Quels ports ouvrir pour un serveur FiveM ?
Le port 30120 en TCP et en UDP pour le jeu, et le port 40120 en TCP pour l'interface de txAdmin si vous devez y accéder à distance. Le port de la base de données, 3306 en général, ne doit jamais être ouvert vers internet.
Comment corriger une erreur oxmysql ?
Lisez le code d'erreur. ECONNREFUSED signale une base arrêtée ou un mauvais hôte, ER_ACCESS_DENIED_ERROR de mauvais identifiants, ER_BAD_DB_ERROR une base qui n'existe pas. Vérifiez que set mysql_connection_string est posé avant ensure oxmysql, et testez les mêmes identifiants avec un client SQL.
Pourquoi txAdmin redémarre-t-il mon serveur en boucle ?
txAdmin relance le serveur quand il plante ou se bloque. La cause est donc dans les dernières lignes de la console avant chaque arrêt, le plus souvent une ressource en erreur ou une boucle qui bloque le serveur. Désactivez-la, puis redémarrez.
Comment trouver le script qui fait laguer mon serveur ?
Côté joueurs, tapez resmon true dans la console F8 et triez par temps processeur. Côté serveur, lancez profiler record 500 dans la console, puis profiler view. Si rien ne ressort, désactivez vos scripts par moitiés jusqu'à isoler le coupable.
Un serveur hébergé par Nova a-t-il les mêmes pannes ?
La machine, les ports, la base de données et le framework sont gérés par Nova, donc ces pannes-là ne sont pas à votre charge. Vos propres scripts peuvent encore échouer : la console en direct et le diagnostic de la page du serveur disent pourquoi.