Minecraft. Jak uratowałem świat?
minecraft.jpg

Grałem sobie spokojnie w Minecrafta (w trybie singleplayer) i niestety gra mi się zawiesiła. Ludek zaczął podskakiwać, a klawisze przestały odpowiadać. Nie dało się nawet przejść do windowsa, więc pozostał mi tylko reset komputera. Po powrocie do gry mój świat nie pojawił się na liście, a gra przy włączaniu pokazywała w tle takie dwa komunikaty:

C:\Documents and Settings\Sciezka\Sciezka>java -Xmx768M -Xms256M -jar minecraft
.exe
17 achievements
161 recipes
Setting user: ja, 1149541612705412189
Loading: net.java.games.input.DirectAndRawInputEnvironmentPlugin

Starting up SoundSystem...
Initializing LWJGL OpenAL
    (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.or
g)
OpenAL initialized.

java.io.IOException: Not in GZIP format
        at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
        at java.util.zip.GZIPInputStream.<init>(Unknown Source)
        at java.util.zip.GZIPInputStream.<init>(Unknown Source)
        at aj.a(SourceFile:9)
        at aas.b(SourceFile:50)
        at ed.b(SourceFile:34)
        at jv.g(SourceFile:64)
        at jv.a(SourceFile:54)
        at qr.a(SourceFile:95)
        at net.minecraft.client.Minecraft.a(SourceFile:460)
        at sf.a(SourceFile:112)
        at qr.a(SourceFile:72)
        at qr.f(SourceFile:120)
        at qr.i(SourceFile:108)
        at net.minecraft.client.Minecraft.k(SourceFile:1197)
        at net.minecraft.client.Minecraft.run(SourceFile:666)
        at java.lang.Thread.run(Unknown Source)
java.io.IOException: Not in GZIP format
        at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
        at java.util.zip.GZIPInputStream.<init>(Unknown Source)
        at java.util.zip.GZIPInputStream.<init>(Unknown Source)
        at aj.a(SourceFile:9)
        at aas.b(SourceFile:61)
        at ed.b(SourceFile:34)
        at jv.g(SourceFile:64)
        at jv.a(SourceFile:54)
        at qr.a(SourceFile:95)
        at net.minecraft.client.Minecraft.a(SourceFile:460)
        at sf.a(SourceFile:112)
        at qr.a(SourceFile:72)
        at qr.f(SourceFile:120)
        at qr.i(SourceFile:108)
        at net.minecraft.client.Minecraft.k(SourceFile:1197)
        at net.minecraft.client.Minecraft.run(SourceFile:666)
        at java.lang.Thread.run(Unknown Source)
minecraft-error.jpg

No i koniec. Tygodnie grzebania w ziemi na marne! Zaraz, zaraz… chwileczkę. Robiłem kopię zapasową. 4 dni wcześniej skopiowałem cały podkatalog z moim światem. Ścieżka na moim komputerze: ..\Dane aplikacji\.minecraft\saves\Zaginiony-Swiat.

No ale utrata 4 dni kopania to też bolesna strata. Zacząłem przeglądać katalog Zaginiony-Swiat.
Katalog główny zawierał trzy pliki:
- level.dat
- level.dat_old
- session.lock
oraz podkatalog region, który zawierał serię plików .mcr

Plik session.lock do niczego się nie przydał. Okazało się, że pliki .mcr to były moje dokonania w grze. A pliki Level.dat i Level.dat_old (z czasem, dokładnie takim samym jak awaria gry i reset zawierały informacje o pozycji mojego ludka oraz o rozmiarze odkrywania mojego świata. Gdy zamieniłem te dwa pliki Level.dat i Level.dat_old na stare sprzed 4 dni. Wielkość mojego świata spadła z 42 do 30 mb. Postać znalazła się w innym miejscu niż w momencie przerwania gry, ale… eureka… skrzynka, wykopane ścieżki, wydobyte surowca były identyczne jak w chwili awarii. Uratowałem Świat!