« Détecter et corriger les lags » : différence entre les versions

De Nefald Wiki
Aller à la navigation Aller à la recherche
Hiob (discussion | contributions)
m Uti a déplacé la page Corriger les lags vers Détecter et corriger les lags
Hiob (discussion | contributions)
 
(8 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.


== Première intervention ==
== 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 gros outils ==
== 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...).


Il existe deux outils dédiés à la correction d'erreurs de chunks, qui ont déjà fait leur preuves; [[Chunks_corrompus#Chunkster|Chunkster]] et [[Chunks_corrompus#VoidChunk|VoidChunk]].
* https://dinnerbone.com/minecraft/tools/coordinates/
<br />Ces outils ont été développés il y a longtemps déjà et ne semblent plus fonctionner correctement.


Un remplaçant, moins précis peut-être, semble fonctionner impeccablement : [[Chunks_corrompus#Minecraft Region Fixer|Minecraft Region Fixer]]
=== 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.


=== Chunkster ===
Quant à Chunkfixer il n'est plus  développé depuis 2013 et les sources sont inconnues.
Once you have downloaded it, unzip it into the folder that your world is in, then stop the server and open the RunMe.bat file. Once it is open, check that it has found the right world and then continue (by pressing y). Let it do its thing, and then press the any key when asked(you have one of those, right?).
The next step is to start your server and check if it has worked. There is a good chance it has worked, however if it has not then the next tool should fix it for you :)


=== 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é!


=== VoidChunk ===
{{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>


=== Minecraft Region Fixer ===
== Deuxième partie ==
Download the Minecraft Region Fixer from here:
https://github.com/downloads/Fenixin/Minecraft-Region-Fixer/Minecraft-Region-Fixer-v0.0.8(win32).zip


<!--
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.

Article détaillé : Spigot.


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

Article détaillé : 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