FiveM se lance normalement, le launcher s'ouvre, mais l'écran de chargement tourne dans le vide quand un joueur rejoint votre serveur. Le problème peut venir de l'ordinateur du joueur, du serveur distant ou du réseau entre les deux. Ce tutoriel couvre les causes les plus fréquentes d'un écran de chargement bloqué sur FiveM et les solutions concrètes, côté client et côté serveur, pour les administrateurs qui gèrent un serveur FiveM sur VPS ou serveur dédié.
Pourquoi l'écran de chargement FiveM reste bloqué
L'écran de chargement FiveM (loading screen) s'affiche pendant que le client télécharge les ressources du serveur et établit la connexion via les protocoles UDP et TCP. Quand il reste bloqué, c'est qu'une étape de ce processus échoue sans erreur visible. Les causes les plus courantes :
- Cache client corrompu : des fichiers temporaires stockés dans les répertoires locaux de FiveM empêchent le chargement des nouvelles ressources du serveur.
- Identifiant Rockstar invalide : le fichier
ros_id.datcontient un jeton d'authentification expiré ou corrompu, ce qui bloque la vérification du compte. - Logiciel tiers qui interfère : un antivirus, un "game booster" ou un optimiseur de processus modifie la priorité CPU du processus FiveM sur l'ordinateur du joueur et empêche le handshake de se terminer.
- Ressource serveur défaillante : un script Lua qui boucle au démarrage, un fichier manquant dans un
fxmanifest.lua, ou un asset MLO/YMAP trop volumineux bloque le chargement de tous les joueurs. - Base de données MySQL lente : des requêtes SQL bloquantes au démarrage d'une ressource (oxmysql, mysql-async) empêchent le serveur de finir son initialisation et bloquent les joueurs sur l'écran de chargement.
- Timeout de connexion dépassé : le serveur distant ne répond pas assez vite (réseau saturé, ports UDP bloqués, VPS sous-dimensionné en RAM ou en bande passante) et le client abandonne.
- Résolution DNS défaillante : le serveur ne résout pas les adresses des endpoints Cfx.re (heartbeat, listing), ou le joueur ne résout pas l'adresse IP du serveur.
Si FiveM ne se lance pas du tout (le launcher reste fermé ou plante immédiatement), le problème est différent : consultez notre guide FiveM ne se lance pas. Si FiveM plante avec un code d'erreur ou un retour au bureau, consultez le guide FiveM crash au lancement.
Diagnostic rapide : la console F8
Avant de toucher aux configurations, ouvrez la console FiveM avec la touche F8 pendant que l'écran de chargement tourne. La console affiche en temps réel les ressources en cours de téléchargement et les éventuelles erreurs. Cherchez :
- Le nom de la dernière ressource chargée avant le blocage : c'est souvent la ressource fautive.
- Les messages d'erreur en rouge :
Failed to load resource,SCRIPT ERROR,couldn't open resourcepointent directement vers la cause. - Les messages
Timed outouconnection lostqui indiquent un problème réseau ou un serveur qui ne répond plus.
Si la console F8 indique qu'un script précis bloque, passez directement à la section identifier la ressource fautive. Sinon, commencez par les solutions côté client.
Solutions côté client (joueur)
Ces étapes s'appliquent sous Windows, le seul système d'exploitation pris en charge par FiveM côté client. Avant de modifier quoi que ce soit côté serveur, demandez au joueur bloqué de suivre cette procédure sur son ordinateur.
Vider le cache FiveM
Le cache local stocke les fichiers téléchargés depuis les serveurs dans les répertoires de données de FiveM. Quand un serveur met à jour ses ressources, les anciens fichiers en cache peuvent créer des conflits et bloquer le chargement.
- Fermez complètement FiveM (vérifiez dans le gestionnaire des tâches sous Windows que le processus
FiveM.exen'est plus actif). - Ouvrez l'explorateur de fichiers et collez ce chemin dans la barre d'adresse :
%localappdata%\FiveM\FiveM.app\data. - Supprimez les répertoires suivants :
cache,server-cache,server-cache-privetnui-storage. - Relancez FiveM : le client reconstruit un cache propre au démarrage.
Supprimer le fichier ros_id.dat
Si l'écran de chargement FiveM reste bloqué sur un fond tournant (spinning splash screen), le jeton d'authentification Rockstar est probablement invalide :
- Fermez FiveM.
- Sous Windows, ouvrez Exécuter (Win+R) et tapez
%appdata%\citizenfx. Supprimez le fichierros_id.dat. - Allez dans
%localappdata%et supprimez le répertoiredigitalentitlements. - Relancez FiveM : il demandera une nouvelle connexion au compte Rockstar Social Club, ce qui est normal.
Réinitialiser la pile réseau Windows
Si le problème de chargement persiste sur plusieurs serveurs, la pile réseau de Windows (Winsock) peut être corrompue. Ouvrez une invite de commandes en tant qu'administrateur sur l'ordinateur du joueur et exécutez :
netsh winsock reset catalog
netsh int ip reset reset.log
ipconfig /flushdns
Redémarrez l'ordinateur après ces commandes. La commande ipconfig /flushdns vide le cache DNS local, ce qui force la résolution d'une adresse IP à jour pour le serveur FiveM. Un cache DNS périmé peut empêcher la connexion si l'adresse IP du serveur a changé.
Désactiver les logiciels tiers qui modifient les processus
Les "game boosters" (Razer Cortex, MSI Afterburner, etc.) et certains antivirus modifient la priorité CPU ou les propriétés du processus FiveM, ce qui peut empêcher le handshake client-serveur de se terminer. Le support officiel de Cfx.re confirme que cette cause est fréquente.
- Excluez le répertoire d'installation de FiveM (
%localappdata%\FiveM) de votre antivirus et de tout logiciel de sécurité. - Désactivez temporairement tout logiciel d'optimisation de jeu pour tester.
- Si le chargement fonctionne sans ces logiciels, réactivez-les un par un sur l'ordinateur pour identifier le coupable.
Vérifier GTA V et les pilotes graphiques
FiveM se greffe sur GTA V : si les fichiers du jeu sont corrompus ou incomplets, le chargement peut échouer sans message d'erreur explicite. Attention : FiveM nécessite la version Legacy de GTA V, pas la version Enhanced. Si seule la version Enhanced est installée sur votre ordinateur, FiveM ne pourra pas démarrer correctement.
- Lancez GTA V en solo au moins une fois pour confirmer que le jeu fonctionne.
- Sur Steam : clic droit sur GTA V, Propriétés, Fichiers locaux, Vérifier l'intégrité des fichiers.
- Sur Epic Games : trois points à côté du jeu, Gérer, Vérifier.
- Mettez à jour vos pilotes graphiques (NVIDIA GeForce Experience ou AMD Software) : un pilote obsolète de carte graphique ou d'autres périphériques peut provoquer un écran de chargement bloqué, surtout après une mise à jour de FiveM.
Solutions côté serveur (administrateur)
Quand tous les joueurs, ou une majorité, restent bloqués au chargement, le problème vient du serveur. Les étapes suivantes s'effectuent via une connexion SSH au serveur distant (VPS Linux ou serveur dédié) ou via le bureau distant (VPS Windows). Voici la méthode de diagnostic pour les administrateurs, de la plus simple à la plus avancée.
Identifier la ressource fautive
Une ressource qui échoue au démarrage ou qui boucle bloque le chargement de tous les joueurs. Pour isoler la cause :
- Ouvrez la console txAdmin et lisez les logs au moment du dernier démarrage. Cherchez les lignes
Failed to start resourceouSCRIPT ERROR. - Désactivez les ressources par groupes dans
server.cfg(commentez les lignesensurecorrespondantes), puis redémarrez le serveur. Réactivez-les par lots de 5 jusqu'à identifier celle qui bloque. - Vérifiez que chaque ressource a un fichier
fxmanifest.luavalide dans son répertoire : un chemin de fichier incorrect (majuscule/minuscule, extension manquante) suffit à bloquer le chargement.
Après une mise à jour de script, les joueurs qui avaient la version précédente en cache peuvent rester bloqués. Demandez-leur de vider leur cache client. Pour les scripts FiveM, consultez notre guide scripts FiveM : où les trouver, lesquels éviter.
Ordre de démarrage des ressources
L'ordre des lignes ensure dans le fichier de configuration server.cfg est important. Si une ressource dépend d'une autre qui n'est pas encore démarrée, le chargement peut se bloquer sans erreur explicite. Respectez cet ordre général :
- Ressources de base du framework (ex. es_extended, qb-core).
- Ressources de dépendance (oxmysql, ox_lib).
- Scripts métier (jobs, véhicules, inventaire).
- Ressources NUI (loading screen personnalisé, HUD).
Base de données MySQL et requêtes lentes
Les frameworks FiveM (ESX, QBCore) stockent les données des joueurs, véhicules, inventaires et comptes dans une base de données MySQL. Le connecteur oxmysql (ou mysql-async) gère les requêtes SQL entre le serveur FiveM et la base de données. Si des requêtes bloquent au démarrage d'une ressource, tous les joueurs restent sur l'écran de chargement.
Symptômes typiques dans les logs du serveur :
server thread hitch warningsuivi de délais de plusieurs secondes : la base de données ne répond pas assez vite.- Requêtes oxmysql qui dépassent 150 ms (le seuil d'alerte par défaut) : activez le suivi avec le convar
set mysql_slow_query_warning 150dansserver.cfgpour identifier les requêtes lentes.
Solutions pour les administrateurs :
- Vérifiez que le serveur MySQL tourne sur la même machine ou sur le réseau local : une base de données distante ajoute de la latence à chaque requête.
- Ajoutez des index sur les colonnes de recherche fréquentes dans vos tables (identifier, citizenid, license, plate). Sans index, MySQL effectue un scan complet de la table, ce qui devient lent quand la base de données grossit.
- Faites une sauvegarde régulière de vos bases de données MySQL avant toute modification de schéma :
mysqldump -u root -p nom_de_la_base > backup_$(date +%Y%m%d).sql. - Vérifiez la RAM allouée à MySQL dans le fichier de configuration (
/etc/mysql/mysql.conf.d/mysqld.cnfsous Ubuntu et Debian). Le paramètreinnodb_buffer_pool_sizedoit être ajusté à la taille de vos bases de données, typiquement 50 à 70 % de la RAM disponible sur un serveur dédié à FiveM. Consultez notre guide lier une base de données MySQL à un serveur FiveM.
MLO, YMAP et assets volumineux
Les fichiers de mapping (MLO, YMAP) et les modèles de véhicules personnalisés peuvent peser plusieurs centaines de Mo. Si le volume total dépasse la capacité de streaming du serveur, le client reste bloqué en téléchargeant les fichiers sans jamais finir.
- Vérifiez la taille totale des fichiers
.ydr,.ytd,.ymapet.ybndans vos répertoires de ressources. Un serveur avec plus de 5 Go d'assets de streaming est dans la zone de risque. - Compressez les textures inutilement lourdes et supprimez les assets de véhicules ou de maps que vous n'utilisez plus.
- Sur un VPS avec un processeur limité, peu de RAM ou un débit réseau restreint, la bande passante du serveur peut aussi devenir le goulot d'étranglement. Un serveur dédié avec un stockage SSD et une bande passante de 1 Gbps offrira de meilleures performances qu'un serveur virtuel d'entrée de gamme. Consultez notre guide optimiser les performances serveur d'un FiveM pour dimensionner correctement votre hébergement.
Réglages server.cfg : timeouts et streaming
Plusieurs variables de configuration dans server.cfg influencent directement le temps de chargement et les déconnexions pendant le loading screen :
| Variable | Valeur par défaut | Rôle |
|---|---|---|
sv_clientConnectingTimeoutMilliseconds | 60000 | Temps maximum (en ms) pour qu'un client termine sa connexion. Augmentez à 120000 si vos joueurs ont des connexions lentes ou si votre serveur a beaucoup de ressources à charger. |
sv_clientConnectedTimeoutMilliseconds | 120000 | Temps sans réponse avant déconnexion d'un client connecté. |
sv_tcpConnectionTimeoutSeconds | 5 | Timeout TCP pour la connexion initiale au serveur. |
Exemple de configurations dans server.cfg pour un serveur chargé :
sv_clientConnectingTimeoutMilliseconds 120000
sv_clientConnectedTimeoutMilliseconds 180000
txAdmin : tolérance au démarrage des ressources
Par défaut, txAdmin attend 90 secondes pour qu'une ressource démarre. Si votre serveur a beaucoup de scripts ou un VPS avec un processeur peu rapide et peu de RAM, ce délai peut ne pas suffire. Dans l'interface txAdmin, ouvrez les réglages du serveur et augmentez le paramètre Resource Starting Tolerance à 120 ou 180 secondes.
Vérifier le réseau et les ports
FiveM utilise les protocoles UDP et TCP sur le port 30120 (par défaut) pour la connexion des joueurs, plus le port TCP 40120 pour l'interface txAdmin. Si le pare-feu du VPS ou du serveur dédié bloque ces ports, les joueurs restent indéfiniment sur l'écran de chargement.
Ouvrir les ports sur un VPS Linux
Connectez-vous en SSH à votre serveur distant et vérifiez l'état du pare-feu. Sur un VPS Linux sous Ubuntu ou Debian avec UFW :
sudo ufw status
sudo ufw allow 30120/udp
sudo ufw allow 30120/tcp
sudo ufw allow 40120/tcp
Notre guide ouvrir les ports d'un serveur de jeu Linux avec UFW détaille la procédure complète. Si vous utilisez iptables au lieu d'UFW, les commandes diffèrent mais le principe reste le même : autoriser le trafic entrant sur les ports 30120 (UDP et TCP) et 40120 (TCP).
Vérifier la résolution DNS et les adresses IP
Le serveur FiveM doit pouvoir résoudre les adresses des endpoints Cfx.re pour envoyer son heartbeat et apparaître dans la liste des serveurs. Vérifiez la résolution DNS depuis votre VPS ou serveur dédié en SSH :
dig +short servers-frontend.fivem.net
dig +short policy-live.fivem.net
Si ces commandes ne retournent aucune adresse IP, la configuration DNS de votre serveur est en cause. Vérifiez le fichier /etc/resolv.conf sur votre VPS Linux (Ubuntu, Debian) et assurez-vous qu'il contient des serveurs DNS fonctionnels :
cat /etc/resolv.conf
# Exemple de configuration DNS fonctionnelle :
# nameserver 1.1.1.1
# nameserver 8.8.8.8
Si votre serveur est derrière un routeur (housing en datacenter, réseau local), assurez-vous que le routeur redirige bien les ports UDP et TCP 30120 vers l'adresse IP interne du serveur. Un proxy HTTP classique ne transmet pas le trafic UDP : le jeu a besoin d'une connectivité UDP directe entre le joueur et l'adresse IP du serveur.
Côté joueur, certains FAI ou routeurs domestiques bloquent les ports UDP non standard. Un test depuis un autre réseau (partage de connexion mobile, VPN) permet d'isoler ce type de problème réseau.
Dimensionner le serveur pour éviter les blocages
Un serveur FiveM qui manque de ressources matérielles provoque des chargements lents ou bloqués, surtout quand le nombre de joueurs augmente. Voici les points à vérifier pour les administrateurs :
| Composant | Minimum recommandé | Recommandé pour 64+ joueurs |
|---|---|---|
| RAM | 4 Go | 8 Go ou plus |
| Stockage | SSD (SATA) | SSD NVMe |
| Processeur | 2 coeurs | 4 coeurs, fréquence élevée |
| Bande passante | 100 Mbps | 1 Gbps |
- RAM : chaque ressource FiveM consomme de la RAM. Un serveur avec 50+ ressources et une base de données MySQL sur la même machine nécessite au minimum 8 Go de RAM. Surveillez la consommation avec
htopen SSH. - SSD : un disque SSD (idéalement NVMe) réduit le temps de chargement des assets de streaming et accélère les requêtes de la base de données. Un disque rotatif (HDD) est insuffisant pour un serveur FiveM chargé.
- Serveur dédié vs VPS : un serveur virtuel (VPS) partage les ressources physiques avec d'autres clients. Pour un serveur FiveM avec beaucoup de joueurs et d'assets, un serveur dédié offre des performances prévisibles sans voisinage bruyant. Consultez notre guide VPS ou serveur dédié pour un serveur de jeu pour choisir.
Pensez à faire des sauvegardes régulières de votre serveur et de vos bases de données avant toute modification importante. Un backup vous permet de revenir en arrière si une mise à jour casse le chargement. Consultez notre guide sauvegardes serveur FiveM.
Tableau récapitulatif : symptôme, cause et solution
| Symptôme | Cause probable | Solution |
|---|---|---|
| Loading screen bloqué pour un seul joueur | Cache client corrompu, antivirus, game booster | Vider le cache, exclure FiveM de l'antivirus, désactiver les optimiseurs |
| Loading screen bloqué pour tous les joueurs | Ressource serveur fautive, fxmanifest invalide | Désactiver les ressources par lots, vérifier les logs txAdmin |
| Spinning splash screen (fond tournant) | Fichier ros_id.dat corrompu | Supprimer ros_id.dat et le répertoire digitalentitlements |
| Timeout après 60 secondes | Port UDP bloqué, VPS surchargé, timeout trop court | Ouvrir le port 30120 UDP/TCP, augmenter sv_clientConnectingTimeoutMilliseconds |
| Chargement très long puis connexion | Assets MLO/YMAP volumineux, bande passante insuffisante, SSD absent | Compresser les textures, réduire le volume de streaming, passer sur un serveur avec SSD NVMe |
| Bloqué après une mise à jour de ressource | Cache du joueur désynchronisé | Demander au joueur de vider son cache client sous Windows |
| Serveur invisible dans la liste | Résolution DNS du serveur en échec, pas de heartbeat | Vérifier /etc/resolv.conf, tester dig vers les endpoints Cfx.re |
| Tous les joueurs bloqués, logs MySQL lents | Requêtes SQL bloquantes, base de données sous-dimensionnée | Ajouter des index, augmenter la RAM MySQL, rapprocher la base de données du serveur |