Exiled Kingdoms-Spielstände bearbeiten

17. Mai 2022 · Spiele · andreas · 5 Kommentare

Auch wenn es meist der erste Schritt ist, jeglichen Spielspaß zu runinieren, so gibt es ab und an Situationen, in denen man eine kleine Korrektur an einem Spielstand vornehmen möchte. Nachdem die Suche nach “Exiled Kingdoms savegame editor” zu keinerlei Treffern geführt hat, hieß es selbst tätig werden.

Diese Beschreibung bezieht sich auf die Spielstände der Exiled Kingdoms Android-Version 1.3.1182, bei anderen Versionen kann die Vorgehensweise unterschiedlich sein.

Zuerst müssen die Spielstände aus dem geschützen Speicher des Android-Geräts in einen zugänglichen Bereich exportiert werden, dies geschieht im Spiel mittels der Funktion “Continue Game” / “Export & Cloud Save” / “Export your saves to a file”. Im Datenverzeichnis des Android-Geräts (i.d.R. “/storage/emulated/0/”) wird eine Datei “EK.bak” angelegt, welche die Spielstände enthält.

Das Bearbeiten erledigt man am einfachsten am PC, wohin die Datei als nächstes übertragen wird. Bei der “EK.bak” handelt es sich um eine normale ZIP-Datei:

$ file EK.bak
EK.bak: Zip archive data, at least v2.0 to extract

Umbenennen ist nicht notwendig, die Datei kann direkt ausgepackt werden:

$ unzip EK.bak
Archive: EK.bak
  inflating: saves/0/auto.sav
  inflating: saves/0/auto.sav.nfo 
  ...
  inflating: saves/global.sav

Nach dem Entpacken liegen die einzelnen Spielstände im Verzeichnis “./saves/0”, eine Beschreibung des Spielstands kann der jeweiligen “nfo”-Datei entnommen werden:

$ cat auto.sav.nfo 
Frozen Depths
      [GREEN]Level 9.[] Day 36, 4 AM

Die Spielstände selbst sind allerdings (noch) nicht direkt bearbeitbar, sondern wurden im “base64”-Format kodiert. Die Umwandlung ist allerdings schnell erledigt:

$ base64 -d auto.sav > auto.txt

Jetzt kann die Datei “auto.txt” mit einem Texteditor geöffnet und bearbeitet werden. Hierbei sollte nach Möglichkeit ein Texteditor verwendet werden, der weder die Zeichenkodierung noch die Zeilenenden verändert.

...
stats: {
	cached_maxhp: 99
	characterRace: HUMAN
	cached_level: 9
	missingHP: 126
	XP: 41911
	characterClass: WARRIOR
	cache_valid: true
}
...

Sobald die gewünschten Änderungen durchgeführt wurden, wird die Datei wieder zurückkodiert und die Textdatei (sofern gewünscht) wieder gelöscht:

$ base64 -w 0 auto.txt > auto.sav
$ unlink auto.txt

Dann wird das ZIP aktualisiert

$ zip -f -r EK.bak saves/
freshening: saves/0/auto.sav (deflated 86%)

Anschließend wird die “EK.bak” zurückkopiert und in Exiled Kingdoms mittels der Schritte “Continue Game” / “Export & Cloud Save” / “Restore your saves from a file” wieder importiert.