« Détecter et corriger les lags » : différence entre les versions
m Uti a déplacé la page Chunks corrompus vers Corriger les lags |
|||
(9 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Bien souvent il arrive que des lags, bugs etc ne proviennent pas de nos plugins mais bel et bien de la map. Celle-ci peut en effet être truffées de chunks corrompus nuisant gravement au jeu. | Bien souvent il arrive que des lags, bugs etc ne proviennent pas de nos plugins mais bel et bien de la map. Celle-ci peut en effet être truffées de chunks corrompus nuisant gravement au jeu. | ||
== | == Prévenir les lags == | ||
Il existe des tas de raisons pour qu'un serveur lag; surcharge du fait de vos plugins, des chunks corrompus, trop d'entités ou de mobs présents, etc. | Il existe des tas de raisons pour qu'un serveur lag; surcharge du fait de vos plugins, des chunks corrompus, trop d'entités ou de mobs présents, etc. | ||
== les clocks redstone == | === Modification du Bukkit.yml === | ||
Il peut être très intéressant de modifier les valeurs de '''ticks-per: animal-spawns''' et '''ticks-per: monster-spawns'''. Il s'agit du nombre de ticks séparant chaque génération d'animaux et de monstres. Par défaut, la valeur des monstres est à 1. C'est à dire que Minecraft va générer des monstres 20 fois par secondes (Max ticks par seconde: 20). Il est très intéressant de modifier cette valeur de 1 vers des choses plus acceptables comme 100 ou plus. Cela a permit à de nombreux clients d'améliorer leurs performances. | |||
=== Spigot === | |||
'''Spigot''' est un fork de '''Bukkit''', conçu pour améliorer les performances de son serveur. | |||
{{Article détaillé|Spigot}} | |||
=== Quelques plugins à connaitre === | |||
* [[ClearLagg]] | |||
* [http://dev.bukkit.org/server-mods/PTweaks/ PTweaks] | |||
== Détecter l'origine d'un lag == | |||
=== Protocole à suivre face à un lag/crash === | |||
Si vous faite face à des crashs réguliers lors de la mise en route de votre serveur, ce protocole est fait pour vous! Suivez chacune des étapes afin d'isoler la source de votre problème. <ref>Article [http://www.spigotmc.org/wiki/isolating-crashes/ Isolating crashes] sur spigot.</ref> | |||
==== 1ère étape : Mettez à jour Bukkit/Spigot ==== | |||
Bien souvent cette manipulation permet de régler le problème. Testez diverses versions de ''bukkit'' ou ''spigot'' (plus récentes et plus anciennes) jusqu'à ce que votre souci soit réglé. Ce n'est pas le cas? Passez là l'étape 2. | |||
==== 2ème étape : Désactivez vos mondes ==== | |||
L'une des premières causes de lag est la map en elle-même, un monde corrompu pouvant la plupart du temps faire crasher votre serveur. | |||
* Tentez de lancer votre serveur sans aucun mondes et regardez ce qu'il se passe. | |||
Si votre problème est réglé, il se peut que l'un de vos mondes soit corrompu. | |||
* Isolez le monde mise en cause en lançant votre serveur avec un seul monde à chaque fois. | |||
* Vous l'avez trouvé? Si vous pouvez, supprimez-le ou utilisez [[#Chunks_corrompus|un réparateur de chunk]] | |||
;Votre problème persiste? Passez à l'étape 3. | |||
==== 3ème étape : Lancez votre serveur sans aucun plugin ==== | |||
{{Note|text=Attention, veillez à avoir une sauvegarde de votre map. En effet, en désactivant vos plugins vous risquez d'endommager votre map. Songez aux dégâts encourus sans avoir '''WorldGuard''' pour veiller sur votre map...}} | |||
Pour lancez votre serveur sans aucun plugins : | |||
* Renommez tous le répertoire ou déplacez tous les '''.jar''' dans un dossier nommé <code>TEST</code> (que vous créerez) | |||
* Lancez votre serveur. | |||
;Le problème est résolu? Vous savez maintenant qu'il était causé par un plugin. Passez à l'étape 3a. | |||
===== 3a : Mettez à jour l'ensemble de vos plugins ===== | |||
===== 3b : Vérifiez chacun de vos plugins ===== | |||
Que c'est fastidieux! Sur un semi-vanilla, ça ira vite, mais sur un serveur comme Nefald et ses [[:Catégorie:Plugin installé|60 plugins]] cette tâche est pénible. Courage! Faites un billet annonçant à vots joueurs que le serveur sera indisponible une heure ou deux et lancez-vous! Vous pouvez aussi soit lancez un autre serveur, soit téléchargez l'ensemble de votre serveur (c'est long!) en local et faire les test à l'abri. | |||
=== Les plugins === | |||
La plupart des lags viennent des plugins. Certains plugins sont connus pour ralentir le serveur comme [[Multiverse]] (utilisez plutôt [[My Worlds]] ou [[Multiworld]]) ou [[Dynmap]]. Aussi, il faut vérifier qu'il n'y a aucune erreur dans le fichier server.log car chaque erreur ralentit drastiquement le serveur.<ref>[http://forum.harmony-hosting.com/index.php?threads/info-pr%C3%A9vention-d%C3%A9tection-suppression-du-lag.25/ Harmony-hosting.com]</ref> | |||
=== les clocks redstone === | |||
Comment les détecter? Un plugin permet ça! Il les détecte et vous téléporte dessus; [[Chunks_corrompus#Redstone Clock Detector]]. | Comment les détecter? Un plugin permet ça! Il les détecte et vous téléporte dessus; [[Chunks_corrompus#Redstone Clock Detector]]. | ||
Ligne 20 : | Ligne 70 : | ||
* Pour régénérer le chunk sur lequel vousvous tenez, tapez <code>/chunkfix</code> | * Pour régénérer le chunk sur lequel vousvous tenez, tapez <code>/chunkfix</code> | ||
* sinon sélectionnez une portion de la map avec <code>/cf s</code> pour obtenir la wand et une fois fait, retapez la commande pour régénérer | * sinon sélectionnez une portion de la map avec <code>/cf s</code> pour obtenir la wand et une fois fait, retapez la commande pour régénérer | ||
=== Redstone Clock Detector === | === Redstone Clock Detector === | ||
Ligne 49 : | Ligne 102 : | ||
|} | |} | ||
== Les | == Les chunks corrompus == | ||
Il existe de nombreux outils dédiés à la correction d'erreurs de chunks; [[Chunks_corrompus#Chunkster|Chunkster]], [[Chunks_corrompus#VoidChunk|VoidChunk]] ou encore [[Chunks_corrompus#Minecraft Region Fixer|Minecraft Region Fixer]]. | |||
=== Découvrir quel fichier de région est corrompu === | |||
Si vous connaissez les coordonnées du bloc ou du chunk corrompu, vous pouvez utiliser le calculateur de Dinnerbone pour découvrir quel fichier de région il vous faudra corriger (supprimer...). | |||
* https://dinnerbone.com/minecraft/tools/coordinates/ | |||
=== Chunkster, VoidChunk et ChunkFixer=== | |||
Ces trois plugins, qui autrefois faisaient des miracles, ne sont plus tenus à jour et par conséquent ne fonctionnent plus. :( | |||
Chunkster est totalement obsolète et ne prend pas en charge le format Anvil (tout comme [https://github.com/sk89q/scripts/tree/master/checkworld checkworld] de sk89q), VoidChunk ne semble pas fonctionner malgré mes très nombreuses tentatives. | |||
Quant à Chunkfixer il n'est plus développé depuis 2013 et les sources sont inconnues. | |||
=== Minecraft Region Fixer === | |||
{{Article détaillé|Minecraft Region Fixer}} | |||
'''Minecraft Region Fixer''' est le digne héritié de [[Chunks_corrompus#VoidChunk|VoidChunk]] (lui même remplaçant de Chunkster, héhé). | |||
;Utilisation (Linux/Unix) | |||
* Téléchargez les fichiers au format '''.zip''' sur le [https://github.com/downloads/Fenixin/Minecraft-Region-Fixer/ GitHub de RegionFixer] ou clonez-le via '''Git''' | |||
* Placez ces fichiers dans un répertoire '''RegionFixer''', à la racine de votre serveur de jeu | |||
* Via un terminal, rendez-vous dans le repertoire '''RegionFixer''' | |||
* Lancez un scan complet avec la commande <code>python region-fixer.py ../<nomdevotremap></code> | |||
Et patientez le temps que le scan soit terminé! | |||
= | {{Info|Bien évidemment ces scans doivent être exécutés lorsque le serveur est éteint.}} | ||
;Résultats d'un scan | |||
<syntaxhighlight lang="Bash"> | |||
Welcome to Region Fixer! | |||
(version: 0.1.2) | |||
############################################################ | |||
################# Scanning world: Harlan ################# | |||
############################################################ | |||
Scanning directory... | |||
There are 673 region files and 1218 player files in the world directory. | |||
-------------------- Checking level.dat -------------------- | |||
'level.dat' is readable | |||
------------------ Checking player files ------------------- | |||
All player files are readable. | |||
------------------ Scanning the Overworld ------------------ | |||
Scanning: 61 / 673 9% [########## ] ETA: 00:32:17 | |||
Scanning: 673 / 673 100% [#####################################################################################################################] Time: 00:26:50 | |||
Chunk problems: | |||
------------------------------------------------------------------- | |||
| Problem | Corrupted Wrong l. Etities Shared o. Total chunks | | |||
------------------------------------------------------------------- | |||
| Counts | 0 0 4 0 512952 | | |||
------------------------------------------------------------------- | |||
Region problems: | |||
No problems found. | |||
</syntaxhighlight> | |||
<!-- | |||
https://github.com/downloads/Fenixin/Minecraft-Region-Fixer/ | |||
You should extract Region Fixer to its own folder, in this case I will use C:\MCRF\ | You should extract Region Fixer to its own folder, in this case I will use C:\MCRF\ | ||
Ligne 97 : | Ligne 195 : | ||
Alternatively, if there is something I have not made clear or that I have not explained well enough then feel free to reply in this thread. I will edit this soon to fix many of the grammar mistakes, and I will also add some screenshots and linux commands:) | Alternatively, if there is something I have not made clear or that I have not explained well enough then feel free to reply in this thread. I will edit this soon to fix many of the grammar mistakes, and I will also add some screenshots and linux commands:)--> | ||
== Références == | |||
<references/> |
Dernière version du 6 septembre 2019 à 06:20
Bien souvent il arrive que des lags, bugs etc ne proviennent pas de nos plugins mais bel et bien de la map. Celle-ci peut en effet être truffées de chunks corrompus nuisant gravement au jeu.
Prévenir les lags
Il existe des tas de raisons pour qu'un serveur lag; surcharge du fait de vos plugins, des chunks corrompus, trop d'entités ou de mobs présents, etc.
Modification du Bukkit.yml
Il peut être très intéressant de modifier les valeurs de ticks-per: animal-spawns et ticks-per: monster-spawns. Il s'agit du nombre de ticks séparant chaque génération d'animaux et de monstres. Par défaut, la valeur des monstres est à 1. C'est à dire que Minecraft va générer des monstres 20 fois par secondes (Max ticks par seconde: 20). Il est très intéressant de modifier cette valeur de 1 vers des choses plus acceptables comme 100 ou plus. Cela a permit à de nombreux clients d'améliorer leurs performances.
Spigot
Spigot est un fork de Bukkit, conçu pour améliorer les performances de son serveur.
Quelques plugins à connaitre
Détecter l'origine d'un lag
Protocole à suivre face à un lag/crash
Si vous faite face à des crashs réguliers lors de la mise en route de votre serveur, ce protocole est fait pour vous! Suivez chacune des étapes afin d'isoler la source de votre problème. [1]
1ère étape : Mettez à jour Bukkit/Spigot
Bien souvent cette manipulation permet de régler le problème. Testez diverses versions de bukkit ou spigot (plus récentes et plus anciennes) jusqu'à ce que votre souci soit réglé. Ce n'est pas le cas? Passez là l'étape 2.
2ème étape : Désactivez vos mondes
L'une des premières causes de lag est la map en elle-même, un monde corrompu pouvant la plupart du temps faire crasher votre serveur.
- Tentez de lancer votre serveur sans aucun mondes et regardez ce qu'il se passe.
Si votre problème est réglé, il se peut que l'un de vos mondes soit corrompu.
- Isolez le monde mise en cause en lançant votre serveur avec un seul monde à chaque fois.
- Vous l'avez trouvé? Si vous pouvez, supprimez-le ou utilisez un réparateur de chunk
- Votre problème persiste? Passez à l'étape 3.
3ème étape : Lancez votre serveur sans aucun plugin
Pour lancez votre serveur sans aucun plugins :
- Renommez tous le répertoire ou déplacez tous les .jar dans un dossier nommé
TEST
(que vous créerez) - Lancez votre serveur.
- Le problème est résolu? Vous savez maintenant qu'il était causé par un plugin. Passez à l'étape 3a.
3a : Mettez à jour l'ensemble de vos plugins
3b : Vérifiez chacun de vos plugins
Que c'est fastidieux! Sur un semi-vanilla, ça ira vite, mais sur un serveur comme Nefald et ses 60 plugins cette tâche est pénible. Courage! Faites un billet annonçant à vots joueurs que le serveur sera indisponible une heure ou deux et lancez-vous! Vous pouvez aussi soit lancez un autre serveur, soit téléchargez l'ensemble de votre serveur (c'est long!) en local et faire les test à l'abri.
Les plugins
La plupart des lags viennent des plugins. Certains plugins sont connus pour ralentir le serveur comme Multiverse (utilisez plutôt My Worlds ou Multiworld) ou Dynmap. Aussi, il faut vérifier qu'il n'y a aucune erreur dans le fichier server.log car chaque erreur ralentit drastiquement le serveur.[2]
les clocks redstone
Comment les détecter? Un plugin permet ça! Il les détecte et vous téléporte dessus; Chunks_corrompus#Redstone Clock Detector.
Régénérer un chunk
Vous vous en doutez le moyen le plus direct pour regen un chunk ou une portion de map est d'utiliser WorldEdit. Un autre plugin super, dédié à la régénération, est ChunkFixer. C'est celui que j'utilise à chaque fois que je souhaite régénérer une partie de la map, le résultat est d'autant plus propre qu'avec WE.
- Utilisation de WorldEdit
- repérez le lieu à régénérer et faite
//chunk
pour sélectionner le chunk sur lequel vous vous tenez OU sélectionnez une zone avec votre wand - pour régénérer votre sélection faites
//regen
- Utilisation de ChunkFixer
- Pour régénérer le chunk sur lequel vousvous tenez, tapez
/chunkfix
- sinon sélectionnez une portion de la map avec
/cf s
pour obtenir la wand et une fois fait, retapez la commande pour régénérer
Redstone Clock Detector
Développé par hwei, Redstone Clock Detector vous permet de tester les activités redstone en scannant le serveur sur une durée de temps. De préférence testez votre serveur avec ce plugin sans personne d'autres que vous connecté. En effet cela réduira considérablement l'activité redstone. À noter que les hooks s'activent de temps à autre.
commandes | description |
---|---|
/rcd | Get plugin status |
/rcd ? | Help |
/rcd <sec> | Scanne durant <sec> secondes |
/rcd stop | Arrête le scan |
/rcd list [page] | Liste les activités redstone relevées durant le laps de temps indiqué |
/rcd tp [player] [num] | Téléporte [player] (par défaut soi-même) à l'endroit identifié dans la liste par [num] |
Les chunks corrompus
Il existe de nombreux outils dédiés à la correction d'erreurs de chunks; Chunkster, VoidChunk ou encore Minecraft Region Fixer.
Découvrir quel fichier de région est corrompu
Si vous connaissez les coordonnées du bloc ou du chunk corrompu, vous pouvez utiliser le calculateur de Dinnerbone pour découvrir quel fichier de région il vous faudra corriger (supprimer...).
Chunkster, VoidChunk et ChunkFixer
Ces trois plugins, qui autrefois faisaient des miracles, ne sont plus tenus à jour et par conséquent ne fonctionnent plus. :( Chunkster est totalement obsolète et ne prend pas en charge le format Anvil (tout comme checkworld de sk89q), VoidChunk ne semble pas fonctionner malgré mes très nombreuses tentatives.
Quant à Chunkfixer il n'est plus développé depuis 2013 et les sources sont inconnues.
Minecraft Region Fixer
Minecraft Region Fixer est le digne héritié de VoidChunk (lui même remplaçant de Chunkster, héhé).
- Utilisation (Linux/Unix)
- Téléchargez les fichiers au format .zip sur le GitHub de RegionFixer ou clonez-le via Git
- Placez ces fichiers dans un répertoire RegionFixer, à la racine de votre serveur de jeu
- Via un terminal, rendez-vous dans le repertoire RegionFixer
- Lancez un scan complet avec la commande
python region-fixer.py ../<nomdevotremap>
Et patientez le temps que le scan soit terminé!
- Résultats d'un scan
Welcome to Region Fixer!
(version: 0.1.2)
############################################################
################# Scanning world: Harlan #################
############################################################
Scanning directory...
There are 673 region files and 1218 player files in the world directory.
-------------------- Checking level.dat --------------------
'level.dat' is readable
------------------ Checking player files -------------------
All player files are readable.
------------------ Scanning the Overworld ------------------
Scanning: 61 / 673 9% [########## ] ETA: 00:32:17
Scanning: 673 / 673 100% [#####################################################################################################################] Time: 00:26:50
Chunk problems:
-------------------------------------------------------------------
| Problem | Corrupted Wrong l. Etities Shared o. Total chunks |
-------------------------------------------------------------------
| Counts | 0 0 4 0 512952 |
-------------------------------------------------------------------
Region problems:
No problems found.
Références
- ↑ Article Isolating crashes sur spigot.
- ↑ Harmony-hosting.com