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 .



Leave a Comment

Installation de McMyAdmin sur Ubuntu 14.10

Installation de McMyAdmin sur Ubuntu 14.10

McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai

Comment installer le serveur Just Cause 2 (JC2-MP) sur CentOS 7

Comment installer le serveur Just Cause 2 (JC2-MP) sur CentOS 7

Dans ce didacticiel, découvrez comment configurer un serveur multijoueur Just Cause 2. Prérequis Veuillez vous assurer que le système est entièrement mis à jour avant de commencer

Comment installer Starbound Server sur CentOS 7

Comment installer Starbound Server sur CentOS 7

Vous utilisez un système différent? Dans ce tutoriel, je vais vous expliquer comment configurer un serveur Starbound sur CentOS 7. Prérequis Vous devez posséder ce jeu sur vous

Comment installer Unturned sur Linux

Comment installer Unturned sur Linux

Vous utilisez un système différent? Introduction Dans ce guide, vous apprendrez comment configurer et installer un serveur Unturned sous Linux. Unturned est une surviviva populaire

Configurer Teamspeak 3 sur Debian Wheezy

Configurer Teamspeak 3 sur Debian Wheezy

Cet article vous montrera comment exécuter un serveur Teamspeak 3 sous Debian Wheezy. Avant de commencer, vous devez préparer votre VPS. je

Installation dun serveur Reflex sous Windows

Installation dun serveur Reflex sous Windows

Introduction Reflex est un Arena FPS compétitif en plein essor par Turbo Pixel Studios. Ce tutoriel vous montrera comment configurer votre propre serveur Reflex sur

Comment installer PufferPanel (Panneau de configuration Minecraft gratuit) sur CentOS 7

Comment installer PufferPanel (Panneau de configuration Minecraft gratuit) sur CentOS 7

Introduction Dans ce tutoriel, installez bien PufferPanel sur notre Vultr VPS. PufferPanel est un panneau de contrôle open source et gratuit pour vous gérer

Configurer un serveur de jeu Insurgency sur Ubuntu 15.04

Configurer un serveur de jeu Insurgency sur Ubuntu 15.04

Dans ce tutoriel, nous allons configurer un serveur de jeu Insurgency sur Ubuntu 15.04. Avant de pouvoir configurer le serveur Insurgency, nous devons en installer quelques-uns

Comment installer le serveur Counter-Strike 1.6 sous Linux

Comment installer le serveur Counter-Strike 1.6 sous Linux

Ce guide vous montrera comment configurer un serveur Counter-Strike: 1.6 sous Linux. Les étapes ici fonctionneront pour la plupart des distributions Linux qui prennent en charge SteamCMD. Premier

Configurer un serveur Team Fortress 2 sur Arch Linux

Configurer un serveur Team Fortress 2 sur Arch Linux

Ce didacticiel explique comment configurer un serveur Team Fortress 2 sur Arch Linux. Je suppose que vous êtes connecté avec un compte dutilisateur non root disposant dun accès sudo

Comment configurer un serveur Tekkit Classic sur Ubuntu 16.10

Comment configurer un serveur Tekkit Classic sur Ubuntu 16.10

Vous utilisez un système différent? Quest-ce que Tekkit Classic? Tekkit Classic est un modpack pour le jeu que tout le monde connaît et aime; Minecraft. Il contient certains des ver

Configurer un serveur Minecraft PE sur CentOS 6

Configurer un serveur Minecraft PE sur CentOS 6

Cet article vous apprendra comment configurer un serveur Minecraft Pocket Edition sur CentOS 6. La configuration dun serveur Minecraft PE est assez simple. Tout dabord, installez e

Comment installer le serveur Teamspeak 3 sur Ubuntu 16.04 64 bits

Comment installer le serveur Teamspeak 3 sur Ubuntu 16.04 64 bits

Vous utilisez un système différent? Vue densemble Vous en avez assez dutiliser Discord / Skype? Fatigué de ne pas avoir le contrôle total de votre serveur? Ou peut-être à cause du manque de o

Comment installer ARK Survival Evolved (ArkSE) sur CentOS 7

Comment installer ARK Survival Evolved (ArkSE) sur CentOS 7

Dans ce didacticiel, découvrez comment configurer un serveur ARK Survival sur CentOS 7. Prérequis ARK nécessite une grande quantité de mémoire. Je recommande dutiliser un V

Mettre en place Counter Strike: Global Offensive sur Debian

Mettre en place Counter Strike: Global Offensive sur Debian

Dans ce guide, nous allons configurer un serveur de jeu Counter Strike: Global Offensive sur Debian 7. Ces commandes ont été testées sur Debian 7 mais elles devraient également

Comment installer Unturned 2.2.5 sur Ubuntu 16.04

Comment installer Unturned 2.2.5 sur Ubuntu 16.04

Vous utilisez un système différent? Introduction Dans ce guide, vous apprendrez à configurer un serveur Unturned 2.2.5 sur un VPS Vultr exécutant Ubuntu 16.04. Remarque: Thi

Comment configurer un serveur Minecraft sur Ubuntu 18.04

Comment configurer un serveur Minecraft sur Ubuntu 18.04

Minecraft est toujours lun des jeux les plus populaires au monde. Si vous jouez au jeu, vous jouez probablement sur des serveurs tout le temps. Ce guide vise à vous enseigner

Comment réparer des mondes corrompus dans Minecraft

Comment réparer des mondes corrompus dans Minecraft

Parfois, les mondes dans Minecraft peuvent être corrompus. Cet article explique comment réparer des mondes brisés. Malheureusement, les mondes corrompus ne peuvent pas être réparés o

Serveur Minecraft Bukkit sur Debian Wheezy

Serveur Minecraft Bukkit sur Debian Wheezy

Introduction Bukkit est une extension de Minecraft qui offre des fonctionnalités exclusives ainsi que des plugins qui peuvent grandement améliorer votre expérience de jeu.

Comment installer Glowstone (Minecraft) sur un serveur CentOS 6

Comment installer Glowstone (Minecraft) sur un serveur CentOS 6

Vous utilisez un système différent? Introduction Glowstone est indubitablement le serveur le plus optimisé pour Minecraft. Le logiciel bénéficie dune faible utilisation de la mémoire et

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.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.