Konvertierung der Map von Minecraft 1.12 auf 1.13 durchführen

Vor einigen Wochen erschien Version 1.13 des Open-Word-Spieles Minecraft. Im Zuge dieser Aktualisierung wurden unter anderem die Daten der Blöcke verändert. Beim Erzeugen der Weltkarte über die freie Minecraft-Rendersoftware Mapcrafter traten nach dem Update Probleme auf.

Nur die bereits konvertierten Chunks werden gerendert

Während der Server ohne Probleme lief, wurden in der Karte nur bestimmte Chunks gerendert. Der Grund hierfür war das nur die Chunks in das neue Format der Version 1.13 konvertiert wurden, die von den Spielern auf dem Server besucht worden waren. Alle anderen Chunks lagen noch im Format der Version 1.12 vor. Eine Lösung für dieses Problem schafft der mit 1.13 neu eingeführte Kommandozeilen-Parameter –forceUpgrade des Minecraft-Servers. Wenn man diesen entsprechend startet:

java -Xmx4096M -Xms2048M -jar minecraft_server.jar nogui --forceUpgrade

beginnt der Server alle Chunks in das neue Format zu überführen:

[06:42:34] [Server thread/INFO]: Starting minecraft server version 1.13.1
...
[06:42:34] [Server thread/INFO]: Forcing world upgrade!
[06:42:34] [Server thread/INFO]: Counting chunks...
[06:42:48] [Server thread/INFO]: Upgrading structure data...
[06:42:48] [Server thread/INFO]: 0% completed (0 / 1630135 chunks)...
[06:42:49] [Server thread/INFO]: 0% completed (0 / 1630135 chunks)...
..
[08:52:58] [Server thread/INFO]: 99% completed (1629866 / 1630135 chunks)...
[08:52:59] [Server thread/INFO]: 99% completed (1630017 / 1630135 chunks)...
[08:53:00] [pool-4-thread-1/INFO]: World optimizaton finished after 7812721 ms

Je nach der Größe der eigenen Welt kann dieser Vorgang durchaus einige Stunden in Anspruch nehmen. Nachdem alle Chunks konvertiert wurden, funktioniert das Rendering der Weltkarte wieder wie gewohnt.

Bereiche in Minecraft über größere Distanzen klonen

In Minecraft gibt es eine Reihe von Kommandobefehlen, wie z.B. das clone-Kommando. Mit diesem Kommando ist es möglich einen bestimmten Bereich von A nach B zu kopieren. Allerdings gibt es hier einige Beschränkungen. Würde man den folgenden Befehl eingeben:

/clone 87 76 -74 87 76 -74 9000 100 9000

so würde man einen Block in eine sehr entfernte Region kopieren. Der Server antwortet darauf mit einem:

Cannot access blocks outside of the world

Der Hintergrund dieser Fehlermeldung ist, das der betroffende Bereiche nicht geladen wurde. Um den Spieler herum werden einige Chunks vom Festspeicher in den Arbeitsspeicher des Servers geladen. Diese Bereiche können mit dem clone-Kommando bearbeitet werden. Mit einem Trick kann man auch in entfernte Bereiche klonen. Dazu benötigt man einen zweiten Spieler, welcher sich an den Zielkoordinaten aufhält. Dadurch sind die Chunks des Zielbereiches ebenfalls im Arbeitsspeicher des Servers vorhanden, so das die clone-Operation erfolgreich ausgeführt werden. So bequem wie mit dem WorldEdit-Plugin ist das zwar nicht, aber dafür funktioniert es mit dem Vanilla-Server von Minecraft.