Tutoriel Comment réparer une map corrompue [10000 vues merci !]

Tehutti

Architecte en herbe
29 Juillet 2014
33
1
74
25
Bonjour/Bonsoir a tous !
Bon tout d'abord sachez que dans ce tutoriel il risque d'y avoir :
- Des fautes
- Des informations erronées
- et encore des fautes d'orthographe
Mais sachez le bien, je fais ce tutoriel pour aider les joueurs nécessiteux, donc soyez indulgents c'est fait de façon bénévole et je prend du temps pour faire ce tuto, temps que je pourrais passer a construire/administrer mon serveur, donc ne me crachez pas dessus pour 2/3 fautes d'orthographe ;).
Une map corrompue késako ?
Alors ! rentrons dans le vif du sujet, une map minecraft est composée de chunks (vous le savez normalement) Chunks elles même composées de cubes et de taille de 16X16 block (largeurXlongueur), mais il arrive que parfois, une de ces chunks soit mal placée.
Et alors me diriez vous ?
Et bien cela fait un effet domino sur les autres chunks, les décalent les une après les autres, en effet a chaque fois qu'une de ces chunks considérée comme "buguée" est générée par le joueurs cela créer un étalement de la chunks (si on peut appeler ça comme ça) sur les autres chunks.
En solo cela ne pose pas souvent de problème, mais en multi joueur cela fait crach le serveur (raison ? je ne la connais pas).
Encore une fois vous me direz : Bon un petit reboot et puis voila hein ;).
Oui, mais imaginez un serveur avec des centaines de joueurs co et une map minuscule comportant une de ces chunks ? un crach tout les 5 min et oui ! D'autant plus que ces chunks ce propagent, comme une maladie ! Elle va infester les autres chunks voisines c'est pourquoi, après avoir découvert ce genre de chunks il vous faut vous empressez de la supprimer ! Sans attendre ! A ce moment là on parle de map corrompue.

Comment savoir si ma map est corrompue ?

Dans cette partie nous allons voir comment détecter une map corrompue, sachez que vous êtes entre des mains expertes, ma map a été corrompue 3 fois ^^ et a chaque fois mes constructions ont été sauvées.
Lorsque vous marchez sur votre map et que il vous arrive ce genre de chose :
Voir la pièce jointe 28517
suivie d'un crach avec un gros message en anglais tout moche du genre :
Nullpointer.crach.nanana
(j'ai mis au pif)
Ruez vous vers les logs ! si vous avez ce genre de logs :
Code:
[SIZE=13px][FONT=Monaco][COLOR=#555555]---- Minecraft Crash Report ----[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]// My bad.[/COLOR][/FONT][/SIZE]
 
[SIZE=13px][FONT=Monaco][COLOR=#555555]Time: 1/26/14 9:17 PM[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]Description: Exception in server tick loop[/COLOR][/FONT][/SIZE]
 
[SIZE=13px][FONT=Monaco][COLOR=#555555]java.lang.IllegalArgumentException: n must be positive[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at java.util.Random.nextInt(Random.java:300)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.BiomeDecorator.a(SourceFile:183)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.BiomeDecorator.a(SourceFile:27)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.BiomeBase.a(SourceFile:362)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.ChunkProviderGenerate.getChunkAt(SourceFile:432)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at org.bukkit.craftbukkit.v1_7_R1.generator.NormalChunkGenerator.getChunkAt(NormalC​hunkGenerator.java:49)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.​java:226)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.Chunk.a(Chunk.java:836)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at org.bukkit.craftbukkit.v1_7_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvide​r.java:61)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at org.bukkit.craftbukkit.v1_7_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvide​r.java:13)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at org.bukkit.craftbukkit.v1_7_R1.util.AsynchronousExecutor$Task.finish(Asynchronou​sExecutor.java:179)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at org.bukkit.craftbukkit.v1_7_R1.util.AsynchronousExecutor.finishActive(Asynchrono​usExecutor.java:287)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at org.bukkit.craftbukkit.v1_7_R1.chunkio.ChunkIOExecutor.tick(ChunkIOExecutor.java​:30)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:594)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457)[/COLOR][/FONT][/SIZE]
[SIZE=13px][FONT=Monaco][COLOR=#555555]    at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617)[/COLOR][/FONT][/SIZE]
Avec surtout ce mot :
Code:
chunkio
C'est que la chunks sur la quel vous avez craché est corrompue, félicitation ! (humour noir)

Comment m'en débarrasser ?

Tout d'abord sachez que si votre map est totalement infestée et que vous n'avez pas fais attention lors du premier crach c'est quasiment impossible de garder votre map, mais ... vous avez peut être des chances ^^
Bon si c'est votre première chunk pas d'inquiétude ça ira très vite ^^.
Pour vous débarrasser de ce genre de problème il y a 5 techniques principales :
N°1 Delete votre map :

C'est la plus rapide et facile, votre map n'a pas beaucoup d'importance ? Hop corbeille !
N°2 L'hebergeur :

Certain hebergeur proposent des outils de réparation de map, c'est des fois efficaces , mais juste des fois ^^.
N°3 Region-fixer :

Voila jusqu'ici c'était les techniques des flemmards maintenant rentrons dans le vif du sujet !
Pour supprimer votre chunk infectée il existe un logiciel gratuit, qui marche presque a chaque fois (je dis bien presque il y a certain cas rare où il est inutile mais pour ce genre de cas il y a les deux autres techniques ^^)
http://www.minecraftforum.net/topic/302380-minecraft-region-fixer/
Voici le lien de téléchargement.
Pour l'utiliser si vous êtes sous mac : prenez la version python (si je ne dis pas de bétise)
Si vous êtes sous windows prenez la version windows (non sérieux !?)
Comme moi je suis sous windows je vais faire le tuto windows ^^
Tuto :
Allez a l'inviter de commandes autrement appelé : cmds
cliquez sur windows (le bouton) puis r .
Une fois dans la barre de recherche tapez :
cmds.exe
vous allez voir une fenêtre noir s'ouvrire, laissez la pour le moment.
Prenez votre fichier region fixer et mettez le sur votre bureau dans un dossier avec un nom cour (genre mcrf) si il est en .rar décompressez le dedans,ensuite créez un dossier avec un nom cour lui aussi et mettez votre map corrompue a l'intérieur (ce dossier doit être sur le bureau) puis revenez dans l'invite de command.
Une fois dans cette fenêtre tapez :
cd desktop (indique que vous allez travailler dans le bureau)
ensuite :
cd mcrf (le nom de votre dossier)
une fois sur le cd RF tapez :
region-fixer.exe --interactive "C:\Users\(Votre nom sur le screens en bas moi c'est thomas)\(nom du dossier OU IL Y A LE MONDE Corrompu) \(nom du monde corrompu)
Sur le screen mon dossier s'appel save et mon monde world.
Voir la pièce jointe 28526

Vous allez ensuite avoir (comme sur le screen) un message de bienvenue puis des options tapez :
help
ensuite dans les options proposées tapez :
scan
Attendez le scan et tapez :
count_ all
ou
summary
si il vous dit qu'il n'y a aucune chunks corrompues c'est qu'il n'a pas marcher ou que vous avez mal interprété les logs et que votre problème n'est pas un problème de chunks.
Si vous en avez faites une sauvegarde de votre map et tapez :
remove_chunks (ou region ça dépend qu'est-ce qui est corrompu)
Cela va avoir pour effet de supprimer les chunks corrompue.
Ensuite il ne vous reste plus qu'a revenir sur la dite chunk IG et de voir si vous crachez :p (en multi bien sur)
Si ça ne bug plus, félicitation vous avez réparé votre map !
N°4 MCEDIT (première partie) :
Votre chunk bug encore ? malgré la précédente technique ?
Nous allons donc passer au grands moyens !
Tout d'abord téléchargez MCEDIT :
http://www.mcedit.net/
Une fois sur votre world faites :
Load level:
et sélectionnez votre level.dat de votre world.
Vous allez vous retrouver sur votre monde comme en créatif (a peut de chose près .)
Mettez vous en chunks edit (dernier bouton des outils en bas) et pour plus de visibilité cliquez sur chunks view en haut.
Voir la pièce jointe 32080
Voir la pièce jointe 32083
Une fois en chunks view sélectionnez les chunks que vous pensez être corrompues (bien entendu si vous ne connaissez pas la position de votre chunk ou qu'elles sont trop nombreuses, un repérage s'impose ou allez directement au n°5) et faite delete chunks, cela aura pour effet de détruire le chunks corrompue en mode manuel, et allez sur vos chunks IG en multi, elles seront remplacées.
(ATTENTION cette technique détruira toute les constructions sur les chunks détruites)
N°5 MCEDIT (deuxième partie):
A venir.
Si cela ne marche pas il reste la dernière solution pour sauver non pas votre map, mais vos constructions !
Allez sur MCEDIT :
1 - mettez vous en CAMERA VIEW (sur le screeen c'est écrit chunk car je suis déja en camera)
2 - Cliquez sur select (premier bouton du curseur)
3 - Sélectionnez bien de Haut en bas (de la couche 256 a 0 ) sinon l’implantation ressemblera a du vide. (c'est difficile a expliquer bref sélectionnez bien.)
4 - cliquez sur Copy
Voir la pièce jointe 32085

5- Allez ensuite sur votre nouvelle map et faite import :
Voir la pièce jointe 32085

ATTENTION : Si vous importez par erreur une chunks bugguée votre map sera de nouveau infestée, faite attention a ne prendre que de très petites zones, et évitez de prendre des zones a risque (que vous pensez être infestées)

Voila, normalement ça devrait marcher, n'oubliez pas de passer sur les zones supprimées (dans le cas 4) ou les zones implantées (dans le cas 5) pour être sur que tout est rentré dans l'ordre :) !

Je vous remercie d'avoir lus ce tutoriel, je m'excuse pour les fautes.

N'hésitez pas a me donner vos avis et a corriger mon textE si l'envie vous en prend .
cordialement azatom.

Sur ma map j'ai des chunk qui ne sont pas au bon endroit j'en ai un 4ème qui est apparu en plin milieu de ma ville (on le vois pas sur la map. Regarde au niveau de la forêt il y a un chunk de montagne au mauvais endroit et on peut voir l'endroit ou il devrai ê
2014-10-17_22.59.29.png
tre normalement tout en bas