Client -> server connection timed out sur FiveM : DDoS ou autre chose ?
Mis à jour le
Vérifié le 7 octobre 2026 sur FXServer build 35245 (recommandé), 37150 (dernière) et txAdmin v8.1.1. Sources
Ce peut être un DDoS, mais un thread serveur bloqué, des événements réseau trop volumineux ou une mauvaise route donnent la même fenêtre. Une preuve extérieure à la machine tranche.
FiveShield n’aide que si votre hébergeur ou votre graphique de trafic confirme une attaque. Il ne règle ni le spam d’événements réseau ni un thread serveur bloqué.
Le client a perdu sa connexion au serveur. FiveM fixe un délai maximal de 30 secondes aux deux extrémités, et la fenêtre ne dit pas pourquoi le trafic s’est arrêté : thread serveur bloqué, événements réseau trop volumineux, panne chez l’hébergeur, mauvaise route ou DDoS donnent tous la même fenêtre.
Commencez par les raisons de déconnexion des joueurs touchés. Pending commands: N avec une Command list: nomme des commandes envoyées par le serveur et jamais acquittées, comme des événements réseau : regardez d’abord les scripts. Un simple Last seen N msec ago près de lignes hitch warning ou seems hung désigne un serveur bloqué. La même ligne avec une console silencieuse et un txAdmin resté en ligne : regardez hors de la machine.
Ne parlez de DDoS qu’avec une preuve extérieure : l’alerte de votre hébergeur pour les mêmes minutes, ou un bond du trafic entrant que votre nombre de joueurs n’explique pas.
Messages que vous pouvez voir
Client -> server connection timed out. Please try again later.Dans la fenêtre de connexion du joueur
Timeout info: game=%s, recv=%s, send=%sSous la fenêtre : pour les images du jeu, les données reçues et les données envoyées, l’intervalle moyen sur les 16 derniers événements, un écart type et le temps écoulé depuis le dernier
Server->client connection timed out. Last seen %d msec ago.Comme raison de déconnexion transmise à
playerDroppedet rangée par txAdmin danstimeout; la fenêtre du joueur peut aussi l’afficherServer->client connection timed out. Pending commands: %d.Comme raison de déconnexion, suivie des plus grosses commandes envoyées par le serveur et jamais acquittées
Ce que cela signifie vraiment
Le client affiche Client -> server connection timed out. Please try again later. quand, en jeu, sa couche réseau déclare la connexion au serveur expirée ou perdue (NetLibrary.cpp, NetLibraryImplV2.cpp). Si la raison de déconnexion du serveur arrive en premier chez le joueur, la même fenêtre Timed out affiche ce texte à la place. Chaque valeur de sa ligne Timeout info: game=%s, recv=%s, send=%s est un intervalle moyen en millisecondes sur les 16 derniers événements, puis, après ±, un écart type et, après ~, les millisecondes écoulées depuis le dernier événement.
Client et serveur fixent chacun à 30 secondes le délai maximal (NetLibraryImplV2.cpp, GameServerNet.ENet.cpp), et le commentaire du code client le dit équivalent à la vérification côté serveur. Notre lecture : un à-coup de quelques secondes se traduit par du lag et des pertes de paquets, pas par un timeout ; si beaucoup de joueurs passent en timeout ensemble, quelque chose est resté muet environ une demi-minute, ou une file ne s’est jamais vidée.
Le serveur déconnecte le joueur avec Server->client connection timed out. Last seen %d msec ago. ou, si le joueur a été vu moins de 1 500 ms avant la déconnexion alors que des commandes envoyées n’étaient pas encore acquittées, Server->client connection timed out. Pending commands: %d. suivi d’une Command list: des sept plus grosses au maximum, chacune avec son nom, sa taille en octets et les millisecondes écoulées depuis son envoi (GameServer.cpp, GameServerNet.ENet.cpp). txAdmin range les deux dans timeout (classifyDropReason.ts). Aucune ne dit pourquoi le trafic s’est arrêté ; les vérifications ci-dessous distinguent un serveur muet d’un chemin muet.
À vérifier en premier (deux minutes)
Chaque étape se termine par une destination. Notez l’heure à laquelle les joueurs ont été déconnectés, avec votre fuseau horaire.
Un seul joueur, quelques-uns d’une même région, ou tout le monde en même temps ?
Demandez sur votre Discord qui est tombé et à quelle heure. Tout le monde en quelques secondes, c’est un événement du serveur ou du chemin ; un seul joueur, ou quelques-uns chez le même fournisseur d’accès, désigne leur propre connexion. Dans leur fenêtre, de grandes valeurs
game=signifient que leur jeu s’est figé ; de grandes valeursrecv=avec ungame=normal, que rien n’est arrivé du serveur (notre lecture).Un joueur, un fournisseur d’accès, ou de grandes valeurs
game=chez lui seul: Lire la cause 5 : un joueur ou une régionDu lag, mais personne n’est déconnecté: Lire le guide sur le rubber banding et le ping élevé
Beaucoup de joueurs d’un coup, de grandes valeurs
recv=: Passer à l’étape 2
Lire les raisons de déconnexion des joueurs touchés
Ouvrez le journal de la console du serveur, ou l’endroit où vous enregistrez
playerDropped, pour la minute des déconnexions. Copiez les raisons avant tout redémarrage.Pending commands: N.qui nomme le même événement: Lire la cause 1 : événements réseau trop volumineux ou en boucleDe simples lignes
Last seen N msec ago., ouPending commandssans événement commun: Passer à l’étape 3
Chercher un blocage dans la console du serveur
Cherchez autour des déconnexions
hitch warningetseems hung. Le chiffre deserver thread hitch warning: timer interval of %d millisecondsest un intervalle entre deux ticks, pas une latence. S’ils reviennent, profilez :profiler record 500Des hitch warnings de plusieurs dizaines de secondes, ou
seems hung: Lire la cause 2 : le thread du serveur se bloqueSeulement de brefs avertissements: Lire le guide sur le thread hitch warning
Ni l’un ni l’autre: Passer à l’étape 4
txAdmin, le processus et la machine sont-ils restés en ligne ?
Dans la console et les journaux de txAdmin, cherchez
txAdmin was frozen for N secondset les lignesRestarting server:(Server is not responding,Server process close detected). Un txAdmin « en ligne » prouve peu : son health check est une requête de la machine vers l’adresse du serveur lui-même (0.0.0.0devient127.0.0.1), donc elle n’emprunte jamais le chemin des joueurs.Une ligne de redémarrage ou de fermeture près des déconnexions: Lire la cause 4 : redémarrage ou plantage déguisé en timeout
txAdmin was frozen: Lire la cause 3 : un défaut chez l’hébergeurEn ligne et silencieux, ou pas de txAdmin: Passer à l’étape 5
Vérifier la machine et l’hébergeur pour les mêmes minutes
Vérifiez processeur, mémoire, disque et réseau par processus, autres services compris (voix, web, base de données), puis le panel de votre hébergeur : une alerte, une entrée de mitigation ou un graphique du trafic entrant.
Des ressources prises par un autre processus: Lire la cause 3 : un défaut chez l’hébergeur ou un voisin lourd
Une alerte de l’hébergeur, une entrée de mitigation ou un bond du trafic entrant: Lire la cause 6 : DDoS, null route ou faux positif de mitigation
Votre hébergeur confirme une attaque: Ouvrir la checklist d’urgence pour un serveur attaqué
Rien nulle part: Voir quoi publier pour demander de l’aide
Causes, classées
Le DDoS est la cause 6 parce qu’il exige une preuve extérieure à la machine, pas parce qu’il n’arrive jamais.
Classement établi d’après ce que les propriétaires signalent le plus souvent et d’après le coût de chaque vérification. C’est un ordre éditorial, pas une statistique : personne ne publie de jeu de données sur les causes de panne FiveM. Documenté : la documentation officielle ou le code source de FXServer et de txAdmin l’indique. Retours de propriétaires : des fils de forum et des tickets le rapportent. Notre déduction : notre raisonnement à partir de faits documentés, présenté pour que vous puissiez le vérifier.
Événements réseau trop volumineux ou en boucle
DocumentéLa documentation indique qu’envoyer beaucoup de données par des événements ordinaires bloque le réseau du client, et que s’il reste bloqué trop longtemps le client finit en timeout. Un événement latent envoyé à
-1part vers chaque joueur àbpsoctets par seconde :bpsfois le nombre de joueurs, par seconde.Comment le confirmer
- Lisez la
Command list:des raisons de déconnexion : le même nom d’événement, de grande taille, pour beaucoup de joueurs. Les raisonsreliable network event overflowrelèvent d’un autre mécanisme : txAdmin les range ensecurity, pas entimeout. Sur un client en mode développeur,neteventlog trueaffiche le sens, le nom et la taille de chaque événement. Que faire
- Envoyez les gros volumes avec
TriggerLatentClientEventouTriggerLatentServerEvent, gardez unbpsmodeste (25 000 par défaut ; la documentation met en garde contre environ 10 000 000 et plus) et cessez de diffuser à-1ce qu’un seul joueur doit recevoir. ReleverrateLimiter_netEvent_*n’allège pas ce qu’un script envoie.
Le thread du serveur se bloque
Retours de propriétairesFXServer fait tourner plusieurs boucles, dont
svMain,svNetworketsvSync. La principale écritserver thread hitch warning: timer interval of %d millisecondsquand deux ticks sont espacés de plus de 150 ms, et le watchdog écritLoop %s seems hung! (last checkin %d seconds ago)au bout de 45 secondes. La documentation ne précise pas quelle boucle bloquée atteint la connexion ; des propriétaires signalent des timeouts de masse avec des hitch warnings, attribués dans certains fils à des scripts.Comment le confirmer
- Cherchez
hitch warning(les threads serveur, réseau et sync écrivent chacun le leur) etseems hungautour des déconnexions. Le watchdog ne parle qu’après 45 secondes, donc après le délai de 30 secondes : cherchez le hitch warning écrit quand la boucle repart (notre lecture). Profilez avecprofiler record 500, puisprofiler view. Que faire
- Trouvez la ressource dans le profil et corrigez-la ou retirez-la. Un proxy ne change rien à la vitesse d’exécution d’un thread.
Un défaut chez l’hébergeur, ou un voisin lourd sur la même machine
Retours de propriétairesLe serveur peut aller bien pendant que la machine en dessous va mal. Des propriétaires signalent un défaut de processeur sur un VPS corrigé par l’hébergeur, un flot d’événements réseau qui a déclenché la sécurité de l’hébergeur et fait écarter des paquets répétés, et, dans un fil de timeouts de masse, une réponse qui attribue la solution à une machine dédiée pour la voix. txAdmin écrit
txAdmin was frozen for N seconds for unknown reason (random issue, VPS Lag, DDoS, etc).quand sa surveillance se fige plus de 10 secondes. Le guide du pare-feu Game d’OVHcloud, pour ses serveurs Game, recommande « Default Deny », qui bloque tout trafic sans règle correspondante : une règle UDP manquante couperait les joueurs.Comment le confirmer
- Cherchez
txAdmin was frozendans la console et les journaux de txAdmin, comparez la charge par processus sur la plage exacte, interrogez votre hébergeur sur d’éventuels incidents et vérifiez que votre pare-feu de jeu a une règle pour le port UDP du jeu. Que faire
- Ouvrez un ticket avec les horodatages et les lignes exactes de déconnexion, rétablissez toute règle modifiée, et déplacez un voisin lourd (voix, base de données, panel web) sur sa propre machine ou plafonnez sa part.
Un redémarrage ou un plantage qui ressemble à un timeout
Notre déductionUn arrêt propre (
quitavec une raison) déconnecte les joueurs avecServer shutting down: <reason>. Un processus tué n’envoie rien : les clients atteignent probablement leur propre délai de 30 secondes (notre lecture) ; sous Windows, FXServer peut envoyer le même message lors d’une fin anormale (GameServer.cpp). txAdmin redémarre un serveur dont les heartbeats cessent pendant 60 secondes ou dont le health check échoue pendant 180, en écrivantRestarting server: Server is not responding.Comment le confirmer
- Comparez l’heure de la première déconnexion avec le journal de txAdmin.
Que faire
- Corrigez ce qui a arrêté le processus et éloignez les redémarrages planifiés des heures de pointe. Un serveur bloqué que txAdmin doit tuer, c’est de nouveau la cause 2.
La connexion d’un joueur, ou la route d’une région
Retours de propriétairesLe Wi-Fi, le VPN, l’antivirus ou le PC surchargé d’un seul joueur donne la fenêtre sur son écran seulement ; un défaut de routage entre un fournisseur d’accès ou un pays et votre hébergeur touche tous ceux qui passent par là.
Comment le confirmer
- Comptez les joueurs touchés par fournisseur d’accès et par pays. Demandez à l’un d’eux de laisser
cl_drawperf trueactivé : Ping (ms) et PL (perte de paquets, %) montrent si la perte a grimpé avant la déconnexion. Que faire
- Un joueur : son réseau, son VPN ou son PC. Une région : donnez à votre hébergeur le fournisseur d’accès, le pays et les minutes, et demandez une vérification de la route.
Un DDoS, une null route ou un faux positif de la mitigation de l’hébergeur
DocumentéLe cas du DDoSOVHcloud envoie un e-mail quand une attaque est détectée et que le trafic passe par son infrastructure Anti-DDoS, et ses guides invitent à contacter le support pour un réglage en cas de faux positif. Leaseweb indique, pour la colocation, que la mitigation par nulling ne peut pas être désactivée ; TransIP place en null route une adresse visée par une attaque de plusieurs Gbit/s, qui devient injoignable depuis l’extérieur. La connexion établie cesse de recevoir, atteint le délai de 30 secondes, et tous les joueurs voient la fenêtre ensemble (notre lecture).
Comment le confirmer
- Cherchez une preuve extérieure pour les mêmes minutes : l’e-mail ou l’alerte de votre hébergeur et, chez OVHcloud, Network > Network Security Dashboard, dont l’onglet « Journal du Centre de nettoyage » affiche « Heure de détection », « Heure de fin », « IP de destination » et « Vecteurs d’attaque ».
Que faire
- Avec une preuve, conservez-la, prévenez votre hébergeur et suivez la branche sous « Quand la protection est, ou n’est pas, la réponse ». Si sa mitigation a touché de vrais joueurs, demandez au support de l’ajuster.
À quoi ressemble un DDoS ici
Une attaque est un changement à la périphérie du réseau ; sa preuve se trouve donc hors du processus FXServer : l’alerte de votre hébergeur, un graphique du trafic entrant, des paquets capturés.
À quoi ressemble un DDoS ici
- Beaucoup de joueurs tombent en quelques secondes, avec la raison simple
Last seen N msec ago.et nonPending commands. - Aucun hitch warning ni
seems hung, et txAdmin reste en ligne (son health check ne quitte pas la machine). Cela correspond à un chemin extérieur mort, sans le prouver. - Votre hébergeur le signale : un e-mail sur le réacheminement vers la mitigation, une entrée de journal pour les mêmes minutes, ou une note indiquant que l’adresse a été mise en null route.
Preuves que vous pouvez recueillir
Le relevé de votre hébergeur
Selon sa documentation, OVHcloud garde son « Journal du Centre de nettoyage » un an et le graphique de trafic deux mois : conservez vite ce qu’il vous faut. Les autres hébergeurs diffèrent : interrogez le vôtre.
Trafic entrant sur le serveur (Linux)
Faites une mesure de référence un jour calme.
rxpck/setrxkB/ssont les paquets et kibioctets reçus par seconde ;sar -n EDEV 1 10donnerxdrop/s. Un flood qui remplit la liaison avant la machine peut paraître normal ici : le graphique de l’hébergeur passe en premier.sar -n DEV 1 10Trafic entrant sur le serveur (Windows)
Le même jeu de compteurs comprend
Packets Received Discarded. Comparez avec une référence d’un jour calme.Get-Counter -Counter '\Network Interface(*)\Packets Received/sec' -ContinuousUn échantillon des sources du trafic
Droits root requis ; remplacez 30120 par votre port de jeu. Quelques adresses correspondant à vos joueurs, c’est normal ; beaucoup de sources distinctes et dispersées, bien au-delà de votre nombre de joueurs, évoquent un flood. Servez-vous-en pour confirmer, jamais pour bannir : OVHcloud indique que les sources sont généralement usurpées.
tcpdump -n -i <iface> -c 2000 'udp dst port 30120'
Ce qui n’y ressemble pas
- Des hitch warnings ou
seems hungseuls : ils correspondent à des scripts ou à un processeur saturé, et ne comptent pour une attaque que si votre hébergeur ou un graphique montre du trafic entrant. - Une hausse de bande passante après un redémarrage : les joueurs qui se reconnectent peuvent télécharger les ressources modifiées, c’est du trafic sortant. Une attaque est entrante.
Quand la protection est, ou n’est pas, la réponse
La protection est la réponse quand
- L’alerte ou le tableau de bord de votre hébergeur, ou un graphique du trafic entrant, montre du trafic d’attaque aux minutes des déconnexions, et cela se répète.
- Votre hébergeur a mis l’adresse en null route, ou sa mitigation filtre sans cesse de vrais joueurs : il vous faut un trafic de jeu filtré et une origine tenue privée.
- L’attaquant connaît déjà votre adresse : l’origine doit donc changer aussi.
La protection n’est pas la réponse quand
Pending commandset une liste de commandes : un proxy transmet les mêmes événements.- Des hitch warnings ou
seems hunget aucun événement chez l’hébergeur : un proxy ne change rien à la vitesse d’exécution d’un thread. - Votre hébergeur ne montre rien et le graphique du trafic entrant est plat aux minutes des déconnexions.
Si les preuves disent que c’est une attaque
Gardez d’abord les preuves : le journal ou le graphique de votre hébergeur, les lignes de déconnexion avec horodatages, toute capture du trafic entrant. Ne redémarrez pas en boucle, n’annoncez pas de nouvelle adresse aux joueurs et ne bannissez pas les adresses sources, généralement usurpées.
Décidez ensuite quelle couche manque. La mitigation de votre hébergeur absorbe le volume sur son propre réseau ; une couche de protection devant le serveur garde en plus l’adresse d’origine privée, ce qui suppose de changer l’adresse d’origine une fois, après la mise en place de la protection.
Votre premier serveur reçoit 10 $ CA de crédit d’essai gratuit (comptes éligibles, sans carte bancaire) : environ quatre jours de protection jusqu’à 50 joueurs.
Toujours bloqué ? Ce qu’il faut publier
Collez du texte, pas des captures d’écran, avec le fuseau horaire de chaque horodatage. Retirez d’abord les identifiants de joueurs et les adresses IP.
- Build de FXServer, version de txAdmin, système d’exploitation, et VPS, serveur dédié ou connexion personnelle.
- La fenêtre complète de deux ou trois joueurs touchés, ligne
Timeout infocomprise. - La console du serveur, et vos enregistrements de
playerDroppedsi vous en gardez, d’une minute avant la première déconnexion à une minute après : chaque raisonServer->client connection timed out.(Command list:entière comprise) et chaque lignehitch warningouseems hung. - Depuis la console ou les journaux de txAdmin, toute ligne
Restarting server:,txAdmin was frozenouHealthChecks failing for the pastdans cette plage. - Combien de joueurs sont tombés, en combien de secondes ; l’alerte ou le graphique de votre hébergeur pour cette plage ; ce qui a changé dans les 24 heures précédentes.
Questions fréquentes
Un seul joueur en timeout, est-ce un DDoS ?
Pris isolément, non. Une attaque visant votre adresse atteint en général tous les joueurs connectés, donc elle se voit sur beaucoup de joueurs à la fois. Un seul joueur désigne d’abord son PC, son VPN, son Wi-Fi ou son fournisseur d’accès.
Pourquoi les timeouts commencent-ils aux heures de pointe ?
Les heures de pointe augmentent tout ce qui dépend du nombre de joueurs : les événements réseau (un événement latent envoyé à -1 envoie bps octets par seconde à chaque joueur), la synchronisation des entités, le travail des scripts. Une attaque peut aussi tomber aux heures de pointe : comparez les raisons de déconnexion avec le graphique de votre hébergeur.
Pourquoi un redémarrage règle-t-il le problème pour un temps ?
Un redémarrage vide les événements en file, les entités et la mémoire des scripts : une cause qui s’accumule avec le temps de fonctionnement disparaît, puis revient. Une cause extérieure au processus, comme une route ou un défaut chez l’hébergeur, ignore les redémarrages, et c’est déjà un indice.
Sources et versions vérifiées
Vérifié le 7 octobre 2026 sur FXServer build 35245 (recommandé), 37150 (dernière) et txAdmin v8.1.1.
- FXServer source: NetLibrary.cpp (client connection stages, timeout dialog, Timeout info) (s’ouvre dans un nouvel onglet)
- FXServer source: NetLibraryImplV2.cpp (client hard timeout, connection gone) (s’ouvre dans un nouvel onglet)
- FXServer source: GameServerNet.ENet.cpp (server hard timeout) (s’ouvre dans un nouvel onglet)
- FXServer source: GameServer.cpp (hitch warnings, client drops, shutdown reason) (s’ouvre dans un nouvel onglet)
- FXServer source: ServerWatchdog.cpp (hung loop messages) (s’ouvre dans un nouvel onglet)
- txAdmin source: player drop reason classification (s’ouvre dans un nouvel onglet)
- txAdmin source: FxMonitor (health check, restarts, frozen message) (s’ouvre dans un nouvel onglet)
- txAdmin source: fxsConfigHelper.ts (address the health check uses) (s’ouvre dans un nouvel onglet)
- FiveM docs: triggering events (latent events) (s’ouvre dans un nouvel onglet)
- FiveM docs: server commands and convars (s’ouvre dans un nouvel onglet)
- FiveM docs: using the profiler (s’ouvre dans un nouvel onglet)
- FiveM docs: client console commands (s’ouvre dans un nouvel onglet)
- OVHcloud docs: Network Security Dashboard (s’ouvre dans un nouvel onglet)
- OVHcloud docs: Game firewall (docs.ovhcloud.com)
- Leaseweb knowledge base: managing colocation network details (s’ouvre dans un nouvel onglet)
- TransIP knowledge base: mitigating the impact of a DDoS attack (s’ouvre dans un nouvel onglet)
- sar(1) manual page (inbound packet counters) (s’ouvre dans un nouvel onglet)
- tcpdump(1) manual page (packet sample) (s’ouvre dans un nouvel onglet)
- Microsoft Learn: Get-Counter (s’ouvre dans un nouvel onglet)
- Microsoft Learn: network subsystem performance counters (s’ouvre dans un nouvel onglet)
Les sources d’entreprises concurrentes de FiveShield sont citées avec leur nom de domaine, mais sans lien.
Le comportement du serveur change d’un build à l’autre. Si votre build affiche autre chose, les numéros de build ci-dessus indiquent la version sur laquelle cette page a été vérifiée.