Minecraft | Diagnostiquer les problèmes
Dépannage
Aujourd'hui, nous allons apprendre à diagnostiquer les problèmes sur votre serveur. Ce guide est destiné aux serveurs Spigot/Paper/Bukkit, n'utilisez donc pas ce guide pour les serveurs avec mods, il y aura un guide séparé pour cela. Ce guide couvre spécifiquement :
Questions relatives aux plugins
Lacunes du serveur
Crashs du serveur
Server Lag
Pour commencer, nous allons nous intéresser à votre serveur laggy. Spigot/Paper est très bon pour diagnostiquer les problèmes de décalage, car il existe une fonction intégrée appelée "timings". Cela vous montrera exactement le décalage/retard causé par chaque plugin et événement, ainsi que tout autre élément qui pourrait poser problème. Pour activer les timings, il suffit d'exécuter la commande "timings on". Cela va d'abord activer les timings et commencer à collecter des informations pour votre serveur.
Ensuite, il suffit d'attendre environ 3 à 5 minutes. Pendant cette période, jouez sur votre serveur comme vous le feriez normalement afin de voir exactement à quel moment jouer normalement est le problème. Après ce délai, il suffit d'exécuter la commande "timings paste". Cela permettra de générer et d'afficher un lien pour surveiller toutes les données sur votre serveur.
Ensuite, en cliquant sur ce lien, vous obtiendrez un tableau de données contenant des informations sur votre serveur.
Les cases surlignées en jaune ou en rouge signifient qu'il y a des problèmes dans ce domaine. Si vous regardez ci-dessus, vous verrez la zone ou le plugin exact qui cause le problème. Vous avez maintenant trouvé le problème sur votre serveur et la raison pour laquelle il provoque un décalage. Certaines solutions courantes à ce problème consistent à mettre à jour les plugins et à vérifier les erreurs dans la console.
Ce lien https://minecraft.gamepedia.com/Tick est utile pour comprendre comment votre serveur fonctionne en termes de ticks et pourquoi il peut causer des retards qui apparaissent dans le rapport de timings.
Crashes du serveur
La première chose à faire pour analyser le problème est d'examiner la ligne de fissure. Sans la ligne de fracture, on ne peut pas faire grand-chose. La ligne de crack peut vous indiquer un certain nombre de choses, par exemple si votre serveur est en train de manquer de ressources. La ligne d'erreur ne se trouve pas toujours en bas, vous devrez peut-être faire défiler un peu vers le haut et lire les erreurs dans la console. Certains plugins sont connus pour faire planter le serveur s'ils échouent. Protocol Support en est un et donc si vous avez ce plugin installé, vous devez d'abord le supprimer et voir. Citoyens est aussi une autre solution courante : s'il y a un problème, elle empêchera le serveur de démarrer et vous en informera dans la console. Une fois que vous avez cette ligne, la résolution du problème est assez simple. Si le problème vient d'un plugin, vous devez vérifier que la version que vous avez correspond à la version de base de votre serveur et vérifier qu'il n'y a pas d'erreurs dans la configuration ou avec le plugin lui-même. Si vous voulez savoir comment résoudre les problèmes de configuration, consultez la rubrique Problèmes de plugins plus bas sur cette page.
">/entrypoint.sh : line 17 : 37 Killed ${MODIFIED_STARTUP} PTDL_CONTAINER_ERR : There was an error while attempting to run the start command". Cette ligne est courante pour un serveur qui manque de ressources. Vous devrez surveiller votre utilisation pour déterminer s'il s'agit du processeur ou de la RAM. Si c'est la RAM, vous pouvez simplement la mettre à niveau en consultant notre autre tutoriel. S'il s'agit de CPU, vous devrez annuler votre serveur et le transférer vers un serveur premium.
Problèmes avec les plugins
C'est probablement le problème le plus compliqué à résoudre. Certains bogues ne peuvent être corrigés sans contacter le développeur. La première chose à faire avant de s'attaquer aux problèmes plus complexes est d'essayer de mettre à jour le plugin avant de continuer, cela peut souvent provoquer des erreurs. La seule exception est en cas de dépendance inconnue. Vous pouvez le constater en analysant la trace de la pile dans la console et elle vous indiquera le nom du plugin nécessaire pour activer le plugin que vous voulez utiliser et qui génère des erreurs. La deuxième partie à noter est que si l'erreur est en haut de la console, vous devrez mettre à jour votre plugin ou contacter le développeur, c'est tout ce que vous pouvez faire pour corriger cette erreur. Si l'erreur apparaît au bas de la console, il peut y avoir plusieurs raisons pour lesquelles cela ne fonctionne pas, comme une configuration incorrecte.
Pour résoudre un problème de configuration, il peut y avoir 2 problèmes. La première consiste à analyser l'erreur et à voir s'il s'agit d'une erreur due à ce que vous avez mis dans la configuration. Les plus courantes sont NumberFormatException et NullPointerException. Il ne faut pas confondre cette exception avec l'exception NullPointerException dans le code actuel du plugin, et vous saurez de laquelle il s'agit en lisant la trace de la pile. Pour résoudre ce problème, il suffit de mettre à jour la configuration du plugin et de s'assurer que tout le monde a correctement rempli les retraits et les commentaires dans le fichier de configuration. La plupart des configurations sont accompagnées de ces commentaires et si ce n'est pas le cas, vous pouvez regarder la configuration par défaut pour comparer. Le deuxième type de problème est constitué par des erreurs d'indentation, etc. Il y a une solution assez simple pour cela. La première étape consiste à trouver un analyseur YAML en ligne, qui analysera votre document et vous indiquera où se trouvent les erreurs. Par la suite, vous devrez revenir à votre configuration initiale, trouver la ligne et vous assurer que tout est en ordre. Il peut manquer un colon ou être déplacé. Si vous ne pouvez pas le voir directement à partir de la ligne que l'analyseur syntaxique vous a indiquée, regardez quelques lignes car il peut y avoir un problème à cet endroit. Cela se produit le plus souvent avec les plugins de permission.
Un bon vérificateur YAML est http://wiki.ess3.net/yaml/. Il est construit pour des objectifs spécifiques, comme les groupes, etc.
Une dernière mention concernant les paramètres est que si tout échoue, il suffit de supprimer les paramètres et le plugin va re-générer le fichier avec les valeurs par défaut et cela devrait fonctionner. À partir de là, vous pouvez mettre à jour les valeurs correctement comme vous le souhaitez.
Le dernier point concernant les problèmes avec les plugins est que le développeur peut en être à l'origine et qu'au démarrage, tout allait bien car le code ne s'exécutait pas avec des variables. Lorsque des événements ou des commandes sont exécutés, il se peut que l'exécution de la variable ne soit pas correcte (c'est-à-dire qu'il ne s'agit pas d'un nombre) ou qu'il n'y ait pas de variable égale à null. Ce problème doit être résolu par le développeur lui-même et n'est pas un problème que nous sommes là pour résoudre.
Tout est prêt ! Profitez de votre serveur sans bogues, erreurs et décalage.
Mis à jour le : 31/10/2021
Merci !