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.
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.