Cyberpunk 2077-Spielstand von Stadia zum Steam Deck übertragen

Bevor die Einstellung von Stadia bekannt gegeben wurde, spielte ich dort unter anderem Cyberpunk 2077. Wer seinen Spielstand mitnehmen möchte, der kann dies aktuell noch bewerkstelligen. Im ersten Schritt müssen dazu die entsprechenden Daten von Stadia über Google Takeout exportiert werden. Der Export für Stadia-Daten soll dabei bis mindestens zum 18. Januar noch funktionieren.

Die Spielstände können auf das Steam Deck übertragen werden

Dort finden sich im Verzeichnis Stadia/GAMING/GAME_SAVE die Spielstände. Die jeweiligen Spielstände sind gepackt und finden sich in entsprechenden ZIP-Dateien z.B. Cyberpunk 2077_1074_gamesave.zip.

Um diese Dateien auf das Steam Deck zu bringen, muss sich per SSH bzw. SFTP mit dem Steam Deck verbunden werden. Dort wird anschließend der Pfad:

~/.local/share/Steam/steamapps/compatdata/1091500/pfx/drive_c/users/steamuser/Saved Games/CD Projekt Red/Cyberpunk 2077

aufgesucht. In diesem finden sich etwaige Spielstände, in Ordnern wie ManualSave-0 oder AutoSave-1. Der Inhalt der ZIP-Dateien kann nun in einen dieser Ordner gepackt werden, oder ein neuer Ordner angelegt werden. Anschließend kann der Spielstand in Cyberpunk 2077 auf dem Steam Deck geladen werden.

Alle Zip-Dateien in einem Verzeichnis unter macOS entpacken

Wer einen unkomplizierten Weg sucht unter macOS alle Zip-Dateien in einem Verzeichnis zu entpacken, der wird um das Terminal nicht herum kommen. Dort können mittels folgender Zeile:

find ./ -name \*.zip -exec unzip {} \;

alle Zip-Dateien in einem Verzeichnis nacheinander entpackt werden. Sollten Dateien mit gleichem Namen entpackt werden, so können diese Probleme im interaktivem Modus gelöst werden.

ZIP-Bombe neu gedacht

ZIP-Bomben (oder Archivbomben im allgemeinen) sind ZIP-Dateien, welche beim dekomprimieren sehr groß werden. Der bekannteste Vertreter dieser Spezies ist die 42.zip. Bei dieser ZIP-Datei werden rekursiv immer weitere Dateien entpackt. Dies führt dazu das die 42 Kilobyte große Datei am Ende 4,5 Petabyte Speicherplatz auf der Festplatte benötigt. Solche Dateien werden meist benutzt, um Virenscanner in die Knie zu zwingen, da diese versuchen die Datei zu entpacken und dabei in den meisten Fällen scheitern.

David Fifield hat nun eine neue Art von ZIP-Bombe gebaut, welche ohne Rekursion auskommt. Das Problem ist das für die 42.zip alle Dateien entpackt werden müssen und nicht nur die erste Ebene. Er verfolgte zwei Ziele: maximale Kompressionsrate und das Ganze sollte möglichst kompatibel bleiben:

Maximize the compression ratio. We define the compression ratio as the the sum of the sizes of all the files contained the in the zip file, divided by the size of the zip file itself. It does not count filenames or other filesystem metadata, only contents.

Be compatible. Zip is a tricky format and parsers differ, especially around edge cases and optional features. Avoid taking advantage of tricks that only work with certain parsers. We will remark on certain ways to increase the efficiency of the zip bomb that come with some loss of compatibility.

Mit dieser neuen Art der ZIP-Bombe, welche überlappende Dateien innerhalb des ZIP-Container nutzt, kommt er auf folgende Werte:

zbsm.zip	42 kB	→	5.5 GB
zblg.zip	10 MB	→	281 TB
zbxl.zip	46 MB	→	4.5 PB (Zip64, less compatible)

Im Detail wird die neue ZIP-Bombe auf bamsoftware.com erklärt; dort lassen sich auch entsprechende Beispiele herunterladen. Nur entpackt werden sollten die Beispiele natürlich nicht.

ZIP-Archive auf der Konsole unter Linux

ZIP-Archive können unter Linux nicht nur mithilfe von grafischen Anwendungen auf dem Desktop erzeugt werden, sondern ebenfalls über die Konsole. Dazu existieren die beiden Kommandos zip und unzip. Das Kommando zip dient der Komprimierung von Dateien und Ordnern. Soll eine oder mehreren Dateien zu einem Archiv verbunden werden, so sieht dies auf der Konsole wie folgt aus:

zip beispiel.zip text1.md text2.md

Auch die Komprimierung von ganzen Ordnern ist mit dem zip-Kommando möglich:

zip -r beispiel.zip texte

Neben der Erzeugung von normalen ZIP-Archiven, können auch verschlüsselte Archive mittels des Parameters -e erzeugt werden:

zip -e beispiel.zip text1.md text2.md

Nach der Eingabe des Kommandos wird der Nutzer nach einem entsprechenden Passwort für die Verschlüsselung gefragt. Soll ein Archiv wieder dekomprimiert werden, so wird das Kommando unzip genutzt.

unzip beispiel.zip

Das Kommando bietet nicht nur die Möglichkeit ein Archiv zu dekomprimieren, sondern kann den Inhalt des Archivs ausgeben, ohne dieses zu dekomprimieren:

unzip -l beispiel.zip

CPGZ-Datei beim Entpacken einer ZIP-Datei unter Mac OS X

Wenn man unter Mac OS X auf eine ZIP-Datei klickt, so wird diese Datei im Normalfall entpackt. In seltenen Fällen kann es allerdings passieren das z.B. aus der ZIP-Datei daten.zip die Datei daten.zip.cpgz ensteht.

Bei diesen CPGZ-Dateien handelt es sich um sogenannte Copy In, Copy Out-Archive bzw. Compressed cpio-Archive. Technisch betrachtet handelt es sich bei diesem Archiv um eine Datei, in welcher die entsprechenden Daten nacheinander in diese Datei geschrieben wurde. Meist werden diese anschließend noch mittels gzip komprimiert. Damit ähnelt cpio dem bekannteren tar-Format bzw. dessen komprimierter Version, dem tgz-Format. 1988 wurde cpio im POSIX.1-1988-Standard erwähnt; hat aber seit dem stark an Bedeutung eingebüßt. Es wird heutzutage noch beim RPM-Paketsystem und dem initramfs genutzt.

Die einfachste Methode eine solche ZIP-Datei trotzdem zu entpacken ist es eine zusätzliche Applikation wie The Unarchiver zu nutzen.

‎The Unarchiver
Preis: Kostenlos

The Unarchiver kann solche Dateien, meist problemlos entpacken, auch wenn das Mac OS X eigene Archivprogramm an einer solchen Datei scheitert. Hervorgerufen wird dieses Verhalten meist durch defekte oder ungewöhnliche ZIP-Dateien. Die defekten Dateien können durch unvollständige Downloads oder bestimmte Webbrowser entstehen, welche den Dateityp nicht korrekt behandeln. Deshalb kann es manchmal auch helfen, die Datei erneut herunterzuladen. Wenn ein Fehler im Browser vermutet wird, sollte ein anderer Browser für den Download genutzt werden. Eine CPGZ-Datei kann im Terminal mittels:

ditto -x datei.zip.cpgz targetFolder

entpackt werden. Mit der Nutzung des Terminals kann auf externe Applikationen verzichtet werden. Sollte das Problem öfter auftreten, kann es allerdings nicht schaden, The Unarchiver zu installieren und nutzen. The Unarchiver war bis zum Aufkauf durch MacPaw freie Software, deren Quelltext auf BitBucket zu finden ist.