# Comment empêcher les joueurs de se faire timeout ou de crasher Les crashs et déconnexions de joueurs sont malheureusement assez fréquents dans Garry's Mod—plus fréquents que les crashs de serveur. Heureusement, la plupart sont liés aux addons et peuvent être identifiés avec un peu d'investigation. Ce guide vous explique comment identifier et résoudre les causes les plus courantes de déconnexions et crashs de joueurs. ## Messages de déconnexion courants et leur signification ### Disconnect: Dropped Player from server (Player timed out) **Ce que cela signifie :** Cela indique généralement qu'un client a mis trop de temps à traiter quelque chose—le plus souvent lors de la connexion ou en cours de jeu—et a été déconnecté de force. C'est presque toujours causé par un addon mal optimisé ou défectueux. #### Étapes de dépannage : **Les joueurs se déconnectent-ils en rejoignant le serveur ?** - **Cause probable :** Le Lua côté client met trop de temps à se charger (souvent à cause d'addons lourds ou défectueux) - **Solution :** - Annulez les modifications récentes des addons - Si aucune modification récente, désactivez les addons un par un pour trouver le coupable - Surveillez les téléchargements de gros fichiers ou les erreurs Lua dans la console qui peuvent indiquer le problème **Les joueurs se déconnectent-ils pendant le jeu ?** - **Cause probable :** Un addon fait crasher le client pendant l'exécution - **Solution :** - Demandez aux joueurs ce qu'ils faisaient ou où ils se trouvaient lorsque le crash s'est produit - Cherchez des patterns (par exemple, crashs lors de l'utilisation d'une arme, d'un outil spécifique, ou en entrant dans une zone) - Isolez et désactivez les addons concernés, puis réactivez-les un par un pour identifier le problème **Note :** Les timeouts sont rarement liés au réseau dans GMod. Si un joueur se déconnecte en raison de problèmes Internet, il recevra généralement un message différent, pas un timeout. ### Disconnect: Lua Panic! Something went horribly wrong! "not enough memory" **Ce que cela signifie :** Le client a manqué de mémoire (RAM) parce que le serveur envoie trop de données, ou le client est déjà sous charge importante. Il s'agit d'un crash sérieux généralement déclenché par un excès d'entités, une mauvaise optimisation de l'interface utilisateur, ou une fuite mémoire d'addon vers le client (comme dessiner constamment une frame sans nettoyage). #### Étapes de dépannage : **Si cela arrive rarement à quelques joueurs :** - Probablement que leur système utilisait déjà trop de mémoire avant de rejoindre - Recommandez de redémarrer GMod ou de fermer les programmes en arrière-plan **Si cela arrive fréquemment à de nombreux joueurs :** - Vous atteignez probablement les limites de mémoire à cause d'un addon - Commencez à désactiver les addons progressivement et testez après chaque modification - Concentrez-vous d'abord sur les addons lourds côté client (par exemple, HUDs volumineux, inventaires, packs d'entités) - Demandez aux joueurs ce qu'ils faisaient avant le crash—les menus UI et les zones à forte densité d'entités sont des déclencheurs courants ### Disconnect: Player overflowed reliable buffer **Ce que cela signifie :** Le serveur a essayé d'envoyer trop de données au client en une seule fois. Cela se produit généralement lorsqu'un addon spam les messages réseau, en particulier en utilisant `net.Send()` ou `usermessages` sans limitation appropriée. #### Étapes de dépannage : **Si cela vient de commencer :** - Annulez tous les nouveaux addons ou modifications de code effectués récemment **Si cela se produit depuis un moment :** - Identifiez et supprimez les addons qui envoient des messages réseau volumineux ou fréquents - Utilisez `lua_run_cl` pour suivre les appels `net.Receive()` et cherchez le spam dans la console - Profilez votre utilisation réseau si possible (par exemple en utilisant des outils de débogage ou des addons comme `net_graph`) ## Conseils finaux - Testez toujours avec une configuration propre lors du diagnostic des crashs. Chargez seulement un ou deux addons à la fois - Demandez à vos joueurs les logs de crash ou ce qu'ils faisaient—cela fournit souvent le plus gros indice - Gardez votre serveur à jour et évitez le contenu Workshop obsolète ou non maintenu. Pas seulement pour l'optimisation mais aussi pour la sécurité, les addons Workshop peuvent être mis à jour à tout moment et se téléchargeront automatiquement sur votre serveur après un redémarrage - Les problèmes de mémoire et de timeout peuvent apparaître même avec des addons populaires. Faites confiance aux profileurs et outils de monitoring, pas aux grands noms ## Besoin d'aide supplémentaire ? Si vous avez toujours du mal à identifier le problème, envisagez de : - Vérifier les logs de la console serveur pour des patterns - Tester avec une configuration minimale d'addons - Demander à votre communauté quels addons causent le plus de problèmes - Utiliser des outils de profilage de performance pour identifier les goulots d'étranglement