Diagnostic du retard du serveur Minecraft et du faible TPS

Comment fonctionne Minecraft (Qu'est-ce qui cause le retard?)

La clé pour comprendre ce qui cause le retard est de comprendre comment fonctionne Minecraft. Le logiciel du serveur Minecraft fonctionne tous dans une affaire similaire avec un problème clé: il n'y a pas de limites de multi-threading ou de synchronisation pour la boucle de jeu principale. Lorsque le serveur passe à tic, il exécute chaque mise à jour de TileEntity, mise à jour d'entité, mise à jour de bloc, événements et autres processus jusqu'à ce qu'il soit terminé. Tout cela se produit sur un thread, et la boucle suivante ne peut pas démarrer jusqu'à ce que celle en cours se termine. Le monde ne se mettra pas à jour, les joueurs ne sembleront pas bouger et les entités seront figées sur place. Idéalement, chaque tic ne devrait pas prendre plus de 50 ms pour maintenir 20 tics par seconde (TPS). Cela peut aller jusqu'à 55,55 ms pour 18 TPS avec un minimum de problèmes. Plus bas que cela et vous commencerez à voir du retard.

Causes typiques de décalage

Il y a beaucoup de choses qui peuvent causer un décalage, mais certaines d'entre elles seront probablement le coupable pour la plupart des serveurs.

  • Utilisation des fichiers : tout plugin qui lit en permanence les fichiers du lecteur, en particulier sur des événements tels que le mouvement, les dommages ou l'interaction. Quelques exemples seraient des drapeaux PVP ou des plugins Glow qui liront en continu à partir des fichiers du lecteur.
  • Fichiers plats en tant que base de données : lorsque vous avez des plugins qui utilisent des fichiers volumineux pour garder une trace de beaucoup de données itérant dans ce fichier ou en mémoire selon la façon dont il est stocké, cela prendra beaucoup de temps. De nombreux plugins le font et ne prennent pas de précautions contre la façon dont, lorsque les bases de données sont gonflées, le temps de traitement affectera les tics des serveurs. Vous le verrez souvent lors du chargement de grandes configurations MagicSpells ou lors de l'utilisation de systèmes d'autorisations qui utilisent YAML au lieu d'une base de données appropriée telle que PEX et GroupManager.
  • Trop d'opérations : lorsqu'un plugin génère trop d'entités, ou tente d'effectuer des tâches complexes sur des événements tels que le mouvement, vous commencerez à voir le décalage. Même si chaque exécution prend moins de 1 ms, lorsque vous traitez un événement 20 000 fois par seconde, il devient exponentiel. Les plugins qui peuvent provoquer cela sont des plugins d'édition du monde tels que VoxelSniper et WorldEdit; ou des plugins de protection tels que Anti Cheats et World Protections.
  • Trop de morceaux chargés : un seul morceau l'est 16*16*256. Cela peut ne pas sembler beaucoup, mais une fois multiplié, cela signifie qu'il y a 65 536 blocs par bloc. Chaque joueur peut avoir plus de 200 morceaux chargés autour d'eux, selon votre configuration. C'est plus de 13 107 200 blocs. Cela prend beaucoup de mémoire. En outre, si même 1% d'entre eux sont des TileEntities, 131 072 TileEntities sont chargés et doivent mettre à jour chaque tic. Les mods sont connus pour avoir des temps de traitement lents sur TileEntities.
  • WorldGen en cascade : c'est quand un plugin ou un mod génère des structures en dehors du morceau qui lui est donné. Cela provoque le chargement, la génération et le déclenchement du bloc suivant, s'il recommence à avoir des structures qui débordent dans le bloc suivant. C'est une mauvaise conception de la part des créateurs et tout plugin ou mod faisant cela devrait être supprimé immédiatement.
  • Entités de tuile : voir la section LagGoggles ci-dessous.

Trouver la cause du retard est généralement une procédure simple de nos jours, car la plupart des logiciels de serveur Minecraft sont construits avec des outils de profilage inclus.

Rapports de synchronisation pour Spigot / PaperSpigot

Pour obtenir un rapport de minutage détaillé, vous pouvez utiliser la commande suivante.

/timings on

Vous aurez envie d'attendre quelques minutes et de le laisser ralentir pendant que votre chronométrage est en cours d'exécution. Après un certain temps, générez le rapport.

/timings paste

Cela vous donnera un lien vers un site Web avec une belle ventilation du rapport avec des options faciles pour passer au crible toutes les données que vous obtenez. Vous pouvez en savoir plus sur la façon de les lire sur le wiki de synchronisation de Spigot .

Vous voudrez désactiver les timings par la suite, car vous ne voulez pas que les données indésirables obstruent votre prochaine lecture, et les timings ajoutent du temps supplémentaire au tic.

/timings off

Rapports de synchronisation pour Sponge

Pour obtenir un rapport de minutage détaillé, vous pouvez utiliser la commande suivante.

/sponge timings on

Vous aurez envie d'attendre quelques minutes et de le laisser ralentir pendant que votre chronométrage est en cours d'exécution. Après un certain temps, générez le rapport.

/sponge timings report

Cela vous donnera un lien vers un site Web avec une belle ventilation du rapport avec des options faciles pour passer au crible toutes les données que vous obtenez. Étant donné que le système de chronométrage de Sponge est basé sur celui de Spigot, vous pouvez en savoir plus sur la façon de les lire sur le wiki de chronométrage de Spigot .

Vous voudrez désactiver les timings par la suite, car vous ne voulez pas que les données indésirables obstruent votre prochaine lecture, et les timings ajoutent du temps supplémentaire au tic.

/sponge timings off

Vous pouvez également réinitialiser les horaires.

/sponge timings reset

Étapes pour réduire le décalage

  • Utilisez les arguments appropriés pour votre fichier de script pour lancer Minecraft. En savoir plus sur les arguments Java appropriés ici
  • Utilisez LuckPerms ou un gestionnaire d'autorisations qui utilise une base de données appropriée au lieu d'un fichier plat
  • Évitez complètement les chargeurs de blocs
  • Supprimez tout ce qui provoque une génération mondiale en cascade
  • Limitez les plugins Anti Cheat à ne pas être trop zélés
  • Limitez la distance de vue des joueurs server.properties
  • Éliminez les foules hostiles après une période de temps définie
  • Redémarrez le serveur quotidiennement pour nettoyer les fuites de Java
  • NE JAMAIS recharger le serveur, cela provoque des fuites et d'autres problèmes
  • Utilisez des versions FastAsync de plugins tels que WorldEdit et VoxelSniper
  • Limitez la taille de votre monde afin que de nouveaux morceaux ne soient pas constamment créés
  • Limitez la quantité de plugins que vous utilisez. Tous les plugins ne sont pas bien construits et plus vous en avez, plus vous rencontrerez de problèmes

LagGoggles

Une grande partie du décalage sur les serveurs moddés provient des entités de tuiles. Ce sont les entités créées pour les blocs qui sont utilisées pour traiter la fonctionnalité et les événements du bloc. Si ceux-ci prennent trop de temps ou s'il y en a trop, cela peut augmenter le temps nécessaire pour réduire le TPS total du serveur. Un moyen de visualiser ces problèmes est d'utiliser un mod appelé LagGoggles. Vous pouvez télécharger ce mod depuis CurseForce .

Laisser un commentaire

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.