Steam DeckでFallout4の消えたセーブデータを復活させることができた!
Steam DeckでFallout4を楽しく遊んでいたんだけど、ある時突然、セーブデータが消えた。oops…
消えたというか、かなり初期のころの状態に戻っていた。10数時間遊んだのが、開始30分くらいのころに逆戻りしていた。
ショックのあまり投げ出しそうになったんだけど、まあ、ベセスダ製だしそういうこともあるかもしれないと、また再スタートしてみることにした。こういうのあったなー、なんて思い出しながら数時間遊んだ。
翌日、起動すると、また開始30分くらいに戻っていた・・・orz。
なんじゃいこれは。Fallout4はこれ以上遊べないってことなのか。困った。
あまりにあまりの出来事なので、なんとかセーブデータを戻すことができないかと考えてみることにした。
Steam Deckはデスクトップモードで起動したらLinuxマシンとして使えるから、今がどうなっているのか、もう少し調査してみる。
まずはSteamのサポートページを見ながら確認だ。サポートページには、ローカルに保存されているファイルのパスに関する記述があった。
Linuxであれば、クラウドファイルのローカルでの保存場所は以下にあるらしい。
~/.local/share/Steam/userdata
このパスの下に、ユーザID (steamID)やゲームID (appID)のフォルダがあって、その下にセーブデータがあるようだ。ちなみに、Fallout4はappID=377160らしい。このIDはSteam側で決めているIDなのだろう。
まとめると、Steam Deckだったら、以下の場所にクラウドファイルがあるということだ。
/home/deck/.local/share/Steam/userdata/[steamID]/377160/
実際にこのフォルダを掘ってみると、この下にも何階層かフォルダがあって、最終的にはこのパスにたどり着いた。
/home/deck/.local/share/Steam/userdata/[steamID]/377160/ac/WinMyDocuments/My Games/Fallout4/Saves ・・・ (A)
ダメ元でこちらの(A)のパスのファイルを見てみると・・・あれ?ファイルがあるっぽいぞ?
Steamのサポートページから辿れる場所に、Steamクラウドにアップしているファイル一覧があるのだが、そちらには一部のファイルしかない。
https://store.steampowered.com/account/remotestorage
ローカルにクラウドファイルはあるのに、Steamクラウドにはファイルがない状況。どういうこっちゃ。
最初に見ていたSteamのサポートページを読み進めると、Steamクラウドのアクティビティログがあるらしい。アクティビティログということは、Steamクラウドにファイルをアップするときに何が起こっているかを記録している可能性がある。ここから何かヒントになるものが得られないだろうか。
Steamクラウドのアクティビティログは、Linuxなら以下にあるとのこと。
~/.local/share/Steam/logs/cloud_log.txt
このファイルを読み解くのは難しかったが、よくよく最近のログを見てみると、気になるところがあった。
このあたりだ。
Found 9 files that match /home/deck/.local/share/Steam/steamapps/compatdata/377160/pfx/drive_c/users/steamuser/My Documents//My Games/Fallout4/Saves/*.fos
なんとなくなんだけど、2箇所のフォルダの中のファイルを見比べているような気がする。
そして、続くログにはこうある。
File /home/deck/.local/share/Steam/steamapps/compatdata/377160/pfx/drive_c/users/steamuser/My Documents/My Games/Fallout4/Saves/Autosave1_5FBC3B83_4A_Commonwealth_000315_20231216134623_6_2.fos no longer matches any patterns (2). Removing from cloud
なんとなくなんだけど、2箇所のフォルダの中のファイルを見比べて、そのファイルが片方にないからクラウドから消している、と言っている気がする。
ここで新しいフォルダのパスが出てきているのがとても気になる。名前からしてセーブデータがある場所なのではなかろうか。
/home/deck/.local/share/Steam/steamapps/compatdata/377160/pfx/drive_c/users/steamuser/My Documents/My Games/Fallout4/Saves/ ・・・ (B)
気になったので、このパスにあるファイルを見に行ったら・・・何かあるじゃん。(B)には2ファイルあった。
そのファイルは先の (A)にもあって、Steamクラウドにアップしているファイル一覧に乗っているものと一致した。
どうも予想は正しそうで、(A)と(B)のファイルに差分があると、Steamクラウドにはファイルをアップしないようだ。そして、Fallout4は(B)にあるものをセーブデータとして認識している模様。おそらく、(B)にあった2ファイルは、開始30分ほどのセーブデータと、ゲームを終えたときにできるセーブデータなのだろう。ファイル名からして、「Save1_~」とか「Exitsave0_~」という名前だし。
念のため、(A)と(B)のファイルのコピーを別の場所にバックアップしておいて、(A)にあって(B)にないセーブデータをコピペしてみる。ようは、(A)も(B)も同じファイルセットになるようにした。
それからFallout4を起動して、LOADしてみると・・・
セーブデータが出てきた!やった!
実際にロードしてみると、最後に遊んだ場所から再開することができましたとさ。
なんとかセーブデータの復元ができたっぽい。
ただ、再スタートした際のセーブデータも共存していて、ゲーム終了時に作られるセーブデータ「Exitsave」が2つあるとか気持ち悪い感じがする。そこで、最後のセーブデータと最初の30分ほどのセーブデータ以外はLOAD画面から削除していった。
なんとなく、LOAD画面から削除していっても変な挙動をしている気がしないでもないが・・・ひとまず、セーブデータは戻せたし、それから遊んでいても特に支障はなさそうだから、これでヨシとしておこう。
セーブデータをコピペするとかいう強硬手段を取ったから、もしかしたら今後の不具合の元になる可能性はある。
本当は綺麗さっぱりしてやりたいんだけど、途中まで遊んだセーブデータが消えるのも悲しいから、困ったことになるまではこのまま押し通すしかあるまい。