.minecraft

**.minecraft** (nur **minecraft** in macOS) ist der Ordner, in dem das Spiel selbst und alle Spieldaten gespeichert sind. Hier finden sich alle Welten des Einzelspielermodus, die eingestellten Optionen, die Standard-Ressourcen, Backups, zusätzliche Ressourcenpakete, Screenshots, Spielversionen etc. Der .minecraft-Ordner wird beim allerersten Start des Launchers automatisch erzeugt.

Zu wissen, wo sich der .minecraft-Ordner befindet ist wichtig, wenn man Welten kopieren oder veröffentlichen und Ressourcenpakete, Datenpakete, bestimmte Versionen oder Modifikationen installieren möchte. Da man mit dem Launcher verschiedene Minecraft-Versionen spielen kann, kann es neben dem Standard-Ordner **für jede Version weitere .minecraft-Ordner** geben. Zumindest, wenn man im Menüpunkt *Profile* des Launchers unter *Spielordner* sinnvollerweise für jede Version einen separaten Ordner angegeben hat.

## Zugriff

Den .minecraft-Ordner findet man auf jedem Computer sofort, indem man im Launcher auf den Reiter *Profile* und dann auf den kleinen Pfeil ganz rechts in der Zeile *Spielordner* klickt.

Im alten Launcher erreicht man den .minecraft-Ordner, indem man auf den Reiter *Profile Editor* klickt, dort in der Zeile mit der gewünschten Version die rechte Maustaste drückt und den Menüpunkt *Open Game Folder* auswählt.

Möchte man den .minecraft-Ordner ohne Launcher öffnen, unterscheidet sich der Zugriff je nach Betriebssystem:

  macOS

## .minecraft-Hierarchie

* .minecraft
	+ assets: Ein Teil der Standard-Ressourcen von Minecraft (siehe dort).
	+ backups: Sicherungsordner für alle Welt-Backups. Die Dateinamen bestehen aus einem Zeitstempel und dem Namen des gesicherten Weltordners.
	+ crash-reports: Wenn Minecraft abstürzt, wird ein Crash-Report erzeugt. Normalerweise ist der für Mojang gedacht, aber auch Mod-Ersteller können ihn nutzen.
	+ debug: Dieser Ordner existiert nur, wenn mit dem Befehl `/debug` Debug-Protokolle erzeugt wurden, die dann hier stehen.
	+ libraries: Alle Programmbibliotheken mit Funktionen, die von Minecraft genutzt werden.
	+ logs: Alle Client-Protokolldateien.
	+ resourcepacks: Alle Ressourcenpakete stehen in diesem Ordner. Die Installation erfolgt über das Menü/Optionen/Ressourcenpakete.
	+ saves: Alle Welten des Einzelspielermodus werden hier in jeweils einem Weltordner gespeichert.
	+ screenshots: Jeder Screenshot, den man mit `F2` macht, wird hier gespeichert.
	+ server-resource-packs: Ressourcenpakete, die von einem Server heruntergeladen wurden. Die Ressourcenpakete haben keinen Dateityp, sind aber trotzdem zip-Dateien, die mit einem entsprechenden Programm geöffnet werden können.
	+ versions: Alle Versionsordner.
	+ hotbar.nbt: Die gespeicherten Schnellzugriffsleisten aus dem Kreativmodus.
	+ hs\_err\_pid*Zahl*.log: Absturzbereicht bei einem Java-Crash (hs = *HotSpot*, der Name der Java Virtual Machine, die ein Teil der Java-Laufzeitumgebung ist; *err* = Error oder Fehler; *pid* = Process Identification, die Nummer des abgestürzten Computerprozesses).
	+ launcher\_log.txt: Die Protokolldatei des Minecraft Launchers. Hier kann man eventuelle Probleme beim Starten des Launchers nachvollziehen.
	+ launcher\_profiles.json: Alle Einstellungen des Launchers und alle dort hinterlegten Minecraft-Profile in JSON.
	+ options.txt: Sämtliche Einstellungen des Clients werden in dieser Textdatei gespeichert.
	+ realms\_persistence.json: Wenn im Menü/Optionen die Einstellung "Realms-Nachrichten" eingeschaltet ist, wird auf neue minecraft.net-Blogposts zum Thema "Minecraft Realms" hingewiesen. Klickt man im Hauptmenüpunkt "Minecraft Realms" das Zeitungs-Icon an, wird der Blogpost im Standard-Browser geöffnet und die URL in der Datei *realms\_persistence.json* gespeichert, was den Blogpost als "gelesen" markiert.
	+ servers.dat: Die Serverliste.
	+ usercache.json: In dieser Datei im JSON-Format werden die Spieler mit Name und UUID gespeichert, wenn sie den Client benutzen oder auch nur, wenn ihr Kopf im Spiel platziert wird. Dieser Zwischenspeicher (engl. *cache*) dient der schnelleren Darstellung der Skins. Diese Datei gibt es auch für Server (siehe server.properties#Usercache).

## Client-Protokolldateien

Immer wenn ein Minecraft-Client gestartet wird, erzeugt er eine Protokolldatei (engl. *log file*). Der Dateiname enthält das Datum und eine fortlaufende Nummer. Wenn z.B. an einem Tag aus dem Launcher heraus vier Mal der Minecraft-Client gestartet wurde, gibt es für diesen Tag vier Logfiles. Läuft ein Spiel über Mitternacht, wird ab 00:00 Uhr ein neues Logfile erzeugt. Das aktuellste heißt immer *latest.log*, alle anderen sind als gz-Datei komprimiert. In dem Logfile finden sich vielfältige Informationen, vor allem von Client und Server:

* `[Client thread/...]`: Das sind Meldungen des Client, z.B. das Laden aller Blöcke und anderer Gegenstände, das Empfangen einer Chat-Nachricht, das Beenden des Programms. Jede Chat-Nachricht, die man erhält, wird hier protokolliert. Das bedeutet aber auch, dass jede Chat-Nachricht, die man schreibt, bei den Mitspielern protokolliert wird.
* `[Server thread/...]`: Das sind Meldungen des Servers. Auch im Einzelspielermodus gibt es Server-Meldungen, denn eine solche Welt wird *integrated minecraft server* genannt.
* `[...]`: Sonstige Meldungen des Programms, z.B. das Überprüfen des Mojang-Accounts [Main/INFO] oder das Laden der Soundfunktionen [Sound Library Loader/INFO].

Das Format der Client-Protokolldateien ist als XML-Datei in den Standard-Ressourcen unter *.minecraft/assets/log\_configs* hinterlegt.

## Versionsordner

In dem Versionsordner hat jede Minecraft-Version, die man über den Launcher spielen möchte, einen eigenen Ordner, der die Versionsnummer trägt. Normalerweise hat man für jede Version im Launcher ein Profil angelegt, so dass die Liste aller Versionen identisch ist mit der Liste aller Profile. Im Launcher kann man unter dem Reiter *Profile* das Profil für die "neueste Version" öffnen und unter "Spielordner" auf den kleinen grünen Pfeil klicken, um den Ordner *.minecraft* zu öffnen. Dort geht man in den Unterordner *versions* und sieht alle Versionsordner.

In jedem Versionsordner steht eine **minecraft.jar-Datei**, die das ausführbare Java-Programm und einen Teil der Standard-Ressourcen enthält. Die Datei heißt nicht wirklich *minecraft.jar*, sondern trägt immer die jeweilige Versionsnummer als Namen, also z.B. *1.7.4.jar*. Gestartet wird das Programm über den Launcher, der das entsprechende Java-Kommando zusammenstellt. Die dazu notwendigen Informationen (Pfade der Programmbibliotheken und weitere Parameter) holt sich der Launcher aus der **json-Datei**, die auch im Versionsordner steht (zum Inhalt der jar-Datei siehe minecraft.jar).

Beim Start einer Version erzeugt der Launcher im Versionsordner zwei Unterordner, die beim Beenden der Version wieder gelöscht werden:

* logs: enthält immer die aktuelle Protokolldatei *latest.log*. Sie wird beim Beenden der Version nach *.minecraft/logs* verschoben.
* Der zweite temporäre Unterordner trägt die Versionsnummer und die Bezeichnung **natives** im Namen, gefolgt von einer ID, die bei jedem Start wechselt. Er enthält betriebssystemabhängige Bibliotheken, die der Launcher zusammengestellt hat und die das Programm benötigt.

## Serverliste

Die Datei *.minecraft/servers.dat* speichert alle vom Spieler eingetragenen Server im Mehrspielermodus. Die Datei ist im NBT-Format gespeichert. Das heißt, die Daten sind außerhalb des Spiels nur mit einem speziellen NBT-Editor einseh- und änderbar.

* **servers:** Die Liste aller eingetragenen Server.
	+ Ein Server.
		- **acceptTextures:** 1 oder 0 (true/false) - true, wenn man das serverseitige Texturenpaket beim Betreten des Servers heruntergeladen hat.
		- **hideAddress:** 1 oder 0 (true/false) - true, wenn die IP-Adresse des Servers nicht angezeigt werden soll.
		- **icon:** Die Icondatei des Servers als String.
		- **ip:** Die IP-Adresse des Servers.
		- **name:** Der Name des Servers wie vom Spieler eingegeben.

## Schnellzugriffsleisten

Die Datei *.minecraft/hotbar.nbt* speichert neun unterschiedliche Inhalte der Schnellzugriffsleiste im Kreativmodus. Die Datei ist im NBT-Format gespeichert. Das heißt, die Daten sind außerhalb des Spiels nur mit einem speziellen NBT-Editor einseh- und änderbar.

* **0 bis 8:** Die unter Nummer 1-9 gespeicherte Schnellzugriffsleiste.
	+ Der Inhalt eines Slots. Die Position in der Liste entspricht der Slotposition. Es sind immer alle neun Slots vorhanden. Ist ein Slot leer, wird er als Luft gespeichert (Anzahl 1, Metadaten 0, ID *air*).
		- **Count:** Die Anzahl des Gegenstandes im Slot.
		- **id:** Der ID-Name.
		- **tag:** Weitere Eigenschaften des Blockes oder Gegenstandes. Bei Werkzeugen und Waffen z.B. die Abnutzung *Damage* (siehe Gegenstandsdaten).

## launcher\_profiles.json

Die Datei `launcher_profiles.json` ist nur im originalen .minecraft-Ordner vorhanden. Durch eigene Installationen angelegte Ordner enthalten diese Datei nicht. In ihr speichert der Launcher alle angelegten Installationen sowie weitere Einstellungen.

* Die namenlose Haupteigenschaft
	+ profiles: Alle Installationen im Minecraft Launcher
		- Eine Installation. Als Eigenschaft enthält sie einen ID-Namen
			* created: Wann diese Installation erstellt wurde.
			* gameDir: Optional. Der für die Installation eingestellte Ordner. Fehlt diese Eigenschaft, wird der Standardordner .minecraft verwendet.
			* icon: Das Icon der Installation. Die im Launcher standardmäßig auswählbaren Icons haben feste Namen. Eigene Icons werden als Base64-Zeichenkette gespeichert.
			* javaArgs: Optional. Wenn die JVM-Argumente manuell verändert wurden, werden diese hier gespeichert. Ansonsten wird das Spiel mit den Standardargumenten gestartet.
			* javaDir: Optional. Wenn im Launcher eine andere Java-Programmdatei ausgewählt wurde, wird der Pfad zu dieser gespeichert. Ist diese Eigenschaft nicht vorhanden, wird das vom Launcher mitgelieferte Java verwendet.
			* lastUsed: Wann diese Installation zuletzt benutzt wurde.
			* lastVersionId: Die für die Installation ausgewählte Version. Wurde "Neuste Vollversion" ausgewählt, wird `latest-release` gespeichert, wurde "Neuste Entwicklungsversion" ausgewählt, wird `latest-snapshot` gespeichert. Ansonsten der Name der Version.
			* name: Der Name der Installation
			* type: Der Typ der Installation. Möglich sind `latest-release`, `latest-snapshot` und `costum`. Eigens erstellte Installationen sind immer vom Typ `custom`. Ist hier `latest-release` oder `latest-snapshot` angegeben, kann die Installation im Launcher nicht gelöscht sowie der Name, das Icon und die Version nicht geändert werden. Als Name wird "Neuste Vollversion" bzw. "Neuste Entwicklungsversion" und als Icon der Grassblock oder die Werkbank angezeigt. Die Version kann allerdings als einzige der Einstellungen manuell in der Datei geändert werden.
	+ settings: Zusätzliche Einstellungen des Launchers
		- crashAssistance: Ob die Option "Automatisch Absturzberichte von Minecraft: Java Edition an Mojang Studios senden" aktiviert ist.
		- enableAdvanced: *unbekannt*
		- enableAdnalytics: *unbekannt*
		- enableHistorical: *unbekannt*
		- enableReleases: *unbekannt*
		- enableSnapshots: *unbekannt*
		- keepLauncherOpen: Ob die Option "Launcher geöffnet lassen, während Spiele laufen" aktiviert ist.
		- profileSorting: Auch wenn die Installationen im Launcher nach Name und letztem Spielzeitpunkt sortiert werden können, scheint dieser Wert immer "ByLastPlayed" zu sein.
		- showGameLog: Ob die Option "Ausgabeprotokoll öffnen, sobald Minecraft: Java Edition gestartet wird" aktiviert ist.
		- showMenu: *unbekannt*
		- soundOn: *unbekannt*

## Ältere Elemente des .minecraft-Ordners

Der Inhalt und die Struktur des .minecraft-Ordners kann sich immer mal wieder ändern, wobei ältere, nicht mehr benötigte Elemente nicht automatisch gelöscht werden. Sie stehen dann weiterhin in diesem Order, werden aber nicht mehr verwendet. Auch das Starten eines älteren Launchers bewirkt, dass ältere Elemente in diesem Ordner erzeugt werden. Dazu gehören:

* .minecraft
	+ bin: Hier stand seit Alpha 1.0.0 die Datei *minecraft.jar* nebst den benötigten Programmbibliotheken im jar- und (bei Windows) im dll-Format (Unterordner *natives*). Seit Vollversion 1.6 steht die *minecraft.jar* im *versions*-Ordner und die Programmbibliotheken im *libraries*-Ordner.
	+ libraries: Siehe Programmbibliothek#Nicht mehr verwendete Programmbibliotheken.
	+ resources: Dies war der erste Ordner, den es in *.minecraft* gab. Er enthielt die Standard-Ressourcen *music* (Hintergrundmusik aus der Classic-Phase), *newmusic* (Hintergrundmusik der Infdev- und Alpha-Phase), *sound* (Geräusche der Classic-Phase), *newsound* (Geräusche nach der Classic-Phase), *sound3* (Zusammenfassung der Ordner *sound* und *newsound*) und *streaming* (Lieder der Schallplatten). Zeitweise gab es auch einen Unterordner *pe* mit einem *Humble Bundle*-Logo. Die Standard-Ressourcen stehen seit Vollversion 1.6 im *assets*-Ordner.
	+ stats: hier standen seit Beta 1.5 die Statistiken aller Spieler, die auf diesem Computer gespielt haben. Sie werden seit Vollversion 1.7 für jede Welt einzeln im Weltordner gespeichert.
	+ texturepacks: Hier standen seit Alpha 1.2.2 die Texturenpakete, als es noch keine Ressourcenpakete gab. Die Ressourcenpakete stehen seit Vollversion 1.6 im *ressourcepacks*-Ordner.
	+ texturepacks-mp-cache: Hier standen seit Vollversion 1.3 die Texturenpakete von Servern (*mp* = *Multiplayer*). Die Ressourcenpakete von Servern stehen seit Vollversion 1.6 im *server-ressource-packs*-Ordner.
	+ debug.stitched\_items.png: Diese Datei enthielt in der Vollversion 1.5 die Texturen aller flachen Gegenstände zum Test des Unstitcher-Programms, das Texturdateien in Einzeltexturen auftrennen konnte.
	+ debug.stitched\_terrain.png: Diese Datei enthielt in der Vollversion 1.5 die Texturen aller Blöcke zum Test des Unstitcher-Programms.
	+ launcher.jar: Nur wenn Minecraft mit der alten Variante (vor dem 30. Januar 2015) installiert wurde, steht hier der Launcher zum Starten des Minecraft-Clients und zum Verwalten der verschiedenen Versionen.
	+ launcher.pack.lzma: Nur wenn Minecraft mit der alten Variante installiert wurde, steht hier die Datei *Launcher.jar* als komprimierte lzma-Datei. Siehe dazu Launcher#Start.
	+ output-client.log: Diese Datei (und weitere mit ähnlichem Namen) waren seit Vollversion 1.5 die Protokolldateien, die seit Vollversion 1.7 im *logs*-Ordner stehen.

## Einzelnachweise

1. ↑ http://www.minecraftforum.net/forums/minecraft-discussion/recent-updates-and-snapshots/379857-output-client-server-log-files-created?cookieTest=1