Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter   Noch keinen Server gefunden? Es gibt einen Wiki-Server

Spielstand-Speicherung

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche

Die Spielstand-Speicherung einer Welt erfolgt in Dateien, deren Inhalt in einer übersichtlichen Baum-Struktur aufgebaut ist. Dabei handelt es sich nicht um Textdateien, sondern sie sind im sogenannten NBT-Format (Named Binary Tag) gespeichert, daher kann man den Inhalt nur mit speziellen Programmen ansehen. Es gibt Programme, die die Daten graphisch darstellen, sodass man eine Welt außerhalb von Minecraft sehen und verändern kann (z.B. "MCEdit") oder Programme, die die Baumstruktur der Daten darstellen (z.B. "NBT-Explorer").

Speicherzeitpunkte[Bearbeiten | Quelltext bearbeiten]

Die Speicherung des Spielstandes erfolgt zu unterschiedlichen Zeitpunkten:

  • Wenn eine neue Welt generiert ist, wird sie zum ersten Mal gespeichert.
  • Während man spielt, werden laufend Daten hinzugefügt und geändert.
  • Sobald man die Pause-Taste Esc drückt, wird der Spielstand gespeichert. Im "Game Output" des Launchers wird protokolliert: "[Server thread/INFO]: Saving and pausing game..." - Man kann danach das Spiel fortsetzen oder über den Menüpunkt "Speichern und zurück zum Hauptmenü" beenden.
  • Werden Chunks entladen, etwa weil sich der Spieler zu sehr von ihnen entfernt, werden diese vorher gespeichert.
  • In regelmäßigen Zeitabständen wird automatisch gespeichert.

Speicherkonzepte[Bearbeiten | Quelltext bearbeiten]

Im Laufe der Entwicklung des Spiels wurde das Speicherkonzept mehrfach geändert:

  • Zuerst wurden sämtliche Daten einer Welt vom Java-Programm in einem level-Objekt gehalten, das beim Speichern als serialisiertes Java-Objekt in eine komprimierte Datei geschrieben wurde (Classic Level Format).
  • Von dem Konzept der Datenserialisierung durch Java hat sich Notch in der Indev-Phase verabschiedet und ein eigenes Speicherformat entwickelt (das NBT-Format). Die in der Indev-Phase mit diesem Format gespeicherten Weltdaten werden Indev Level Format genannt. Die Welten hatten immer noch eine feste Größe und alle Daten inklusive aller Blöcke und Objekte wurden in einer gemeinsamen Datei gespeichert.
  • In der Infdev-Phase wurde mit Entwicklung der unbegrenzten Welt das Konzept der Chunk-Speicherung eingeführt. Die globalen Weltdaten wurden nun in der Datei "level.dat" gespeichert, die Landschaft und Objekte dagegen in Chunkdateien. Eine Chunkdatei fasste jeweils eine Fläche von 16×16 Blöcken zusammen. Dieses Konzept wird Alpha Level Format genannt.
  • Mit Beta 1.3 wurde zum neuen Region Format gewechselt, bei dem die Chunks nicht mehr einzeln gespeichert, sondern zu einer Region zusammengefasst wurden. Eine Region enthält 32×32 Chunks, d. h. sie bildet eine Fläche von 512×512 Blöcken ab. Diese Zusammenfassung hat das Speichern der Chunks deutlich beschleunigt.
  • Mit Vollversion 1.2 (12w07a) wurde zum neuen Anvil Format gewechselt. Das Konzept der Regionen wurde beibehalten, aber die Chunks konnten nun statt 128 eine Bauhöhe von 256 Blöcken speichern. Die Chunks wurden in 16×16×16 Block große, würfelförmige Sektionen eingeteilt. Luftleere Sektionen wurden nicht mehr gespeichert und nicht mehr geladen. Es gab noch weitere Änderungen am Speicherkonzept, um das Laden und Speichern von Chunks zu beschleunigen.

Welt-Ordner[Bearbeiten | Quelltext bearbeiten]

Ausgangspunkt für das Speichern der Spielstände aller Welten ist der Ordner .minecraft/saves. In diesem Ordner gibt es für jede Welt, die man generiert hat, einen Welt-Ordner. Jeder Welt-Ordner trägt den Namen der Welt, so wie man ihn bei der Generierung gewählt hat. Bei einer späteren Umbenennung einer Welt behält der Welt-Ordner stets den ursprünglichen Namen. Dieser wird im Einzelspielermodus immer unter dem Namen einer Welt mit angezeigt.


  •  .minecraft: Minecraft-Ordner

    •  saves: Alle Minecraft-Welten.

      •  Welt-Ordner: Alle Daten einer Welt. Der Welt-Ordner kann über das Menü/Welt bearbeiten bequem direkt geöffnet werden.

        •  data: Bauwerke und andere Daten der Welt.

          •  loot_tables: Veränderte Beutetabellen.

            •  minecraft: Minecraft-Beutetabellen.

              •  chests: Veränderte Beutetabellen für Truhen.

              •  entities: Veränderte Beutetabellen für Kreaturen.

              •  gameplay: Veränderte sonstige Beutetabellen im Spiel.

          •  EndCity.dat: Optional Informationen über die Endsiedlungen der Welt. Siehe Bauwerksdaten.

          •  Fortress.dat: Optional Informationen über die Netherfestungen der Welt. Siehe Bauwerksdaten.

          •  idcounts.dat: Optional die ID der zuletzt hergestellten Landkarte der Welt, unabhängig von welchem Spieler sie hergestellt wurde. Siehe Kartendaten.

          •  map_ID.dat: Optional Informationen über eine bestimmte Landkarte. Der Dateiname enthält die ID der Karte. Siehe Kartendaten.

          •  Mineshaft.dat: Optional Informationen über die Minen der Welt. Siehe Bauwerksdaten.

          •  Monument.dat: Optional Informationen über die Ozeanmonumente der Welt. Siehe Bauwerksdaten.

          •  scoreboard.dat: Optional Informationen über die Anzeigetafel der Welt. Siehe Anzeigetafeldaten.

          •  Stronghold.dat: Optional Informationen über die Festungen der Welt. Siehe Bauwerksdaten.

          •  Temple.dat: Optional Informationen über die Dschungeltempel, Wüstentempel, Sumpfhütten und Iglus der Welt. Siehe Bauwerksdaten.

          •  Village.dat: Optional Informationen über die Konstruktion der Dörfer der Welt. Siehe Bauwerksdaten.

          •  villages.dat: Informationen über die Bewohner der Dörfer der Oberwelt. Diese Datei wird immer erzeugt, auch wenn noch kein Dorf generiert wurde. Siehe Dorfdaten.

          •  villages_end.dat: Informationen über die Bewohner der Dörfer im Ende. Ein solches Dorf wird vom Spiel nicht generiert, kann aber vom Spieler gebaut werden. Diese Datei wird immer erzeugt. Siehe Dorfdaten.

          •  villages_nether.dat: Informationen über die Bewohner der Dörfer im Nether. Ein solches Dorf wird vom Spiel nicht generiert, kann aber vom Spieler gebaut werden. Diese Datei wird immer erzeugt. Siehe Dorfdaten.

        •  DIM-1: Dateien des Nethers (Dimension "Minus 1").

          •  players: Für DIM-1 wird analog zur Oberwelt ein Ordner "players" angelegt, der hier bedeutungslos ist.

          •  region: Alle Regiondateien des Nethers.

            •  r.X.Z.mca: X und Z sind die Koordinaten der Region (32×32 Chunks). Siehe Chunkdaten.

        •  DIM1: Dateien des Endes (Dimension "Plus 1").

          •  players: Für DIM1 wird analog zur Oberwelt ein Ordner "players" angelegt, der hier bedeutungslos ist.

          •  region: Alle Regiondateien des Endes.

            •  r.X.Z.mca: X und Z sind die Koordinaten der Region (32×32 Chunks). Siehe Chunkdaten.

        •  playerdata: Alle Spieler, die diese Welt betreten haben.

        •  players: Für Welten vor der Vollversion 1.7.6 die Spielerdaten. Auch für neuere Welten wird der players-Ordner manchmal angelegt, hat dann aber keine Bedeutung.

          •  Spielername.dat: Der Dateiname enthält den Namen des Spielers. Siehe Spielerdaten.

        •  region: Alle Regiondateien der Oberwelt (Dimension 0).

          •  r.X.Z.mca: X und Z sind die Koordinaten der Region (32×32 Chunks). Siehe Chunkdaten.

        •  stats: Für jeden Spieler, der in dieser Welt spielt, die Erfolge und Statistiken.

        •  structures: Durch einen Konstruktionsblock gespeicherte Konstruktionen.

          •  Konstruktion.nbt: Der Dateiname enthält den Namen, den man im Konstruktionsblock angegeben hat. Siehe Konstruktionsvorlagen.

        •  icon.png: Das Icon der Welt, das im Menü/Einzelspieler angezeigt wird und im Menü Menü/Welt bearbeiten zurückgesetzt werden kann.

        •  level.dat: Globale Informationen der Welt. Siehe Weltdaten.

        •  level.dat_mcr: Bei der Konvertierung vom Region ins Anvil Format wurde eine neue Datei "level.dat" angelegt und die alte in "level.dat_mcr" umbenannt. Aber auch danach noch wird "level.dat_mcr" beim Generieren einer Welt erzeugt. Siehe Weltdaten.

        •  level.dat_old: Bei Beginn der Alpha-Phase wurde eine neue Datei "level.dat" angelegt und die alte in "level.dat_old" umbenannt. Aber auch danach noch wird "level.dat_old" beim Generieren einer Welt erzeugt und beim Speichern der Welt beschrieben. Siehe Weltdaten.

        •  resources.zip: Optional ein Welt-Ressourcenpaket, das beim Laden der Welt automatisch mit geladen wird. Siehe Ressourcenpaket.

        •  session.lock: Sperre, sobald die Welt mit Minecraft bespielt wird. Siehe Alpha Level Format.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Speichern Classic 0.30.png Ab Classic 0.0.13a_02 konnte man bis zu fünf Spielstände online speichern. In der später entstandenen Survival Test-Variante konnte man das ebenfalls, aber zusätzlich konnte man über den Menüpunkt "Save file..." Spielstände erstmals auch lokal speichern. Dazu wurde das Windows-Speicherfenster angezeigt, das einen beliebigen Speicherort ermöglichte. Mit Classic 0.30 wurde dieses lokale Speichern auch der Classic-Variante hinzugefügt.
Speichern Alpha 1.0.17.png In der Indev-Variante konnte man Spielstände anfangs gar nicht speichern. Ab Indev 22. Januar 2010 war es dann möglich. Die Spielstände wurden jedoch ab sofort nicht mehr online, sondern nur noch lokal gespeichert. Das Windows-Speicherfenster, das in der Vergangenheit mehrfach Probleme bereitet hatte, wurde weggelassen. Stattdessen wurden die fünf bereits von Survival Test bekannten Speicherslots für das lokale Speichern verwendet. Dieses Konzept wurde während der restliche Alpha-Phase beibehalten.
Speichern Beta 1.3.png Mit Beta 1.3 wurde nicht nur das Speicherformat verbessert, sondern man konnte jetzt beliebig viele Spielstände speichern. Sie wurden automatisch unter .minecraft/saves gespeichert.
Speichern 1.9.png Mit Vollversion 1.9 wurde die Auswahlliste um Icons erweitert, die bei ersten Betreten einer Welt im jeweiligen Welt-Ordner gespeichert werden.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]