7D2D で Windows の SaveGame データを Linux にマイグレートする

7 Days to Die というオープンワールドサバイバルゲームを最近やっていて、友人と遊んでいたセーブゲームデータを Linux Dedicated サーバに移行しようとした際にハマったので備忘録として書いておく。

実はポータブルになっていてセーブデータ自体は Windows でも Linux でも互換性がある。

セーブデータは以下に保存されており、この下のファイル名が Random Gen マップにおけるジェネレーションシードになっている。

Users\UserName\AppData\Roaming\7DaysToDie\Saves\Random Gen

まずマイグレートしたいセーブゲームのゲーム名がシード名になっているので、そのデータを手元に用意する。

Linux Dedicated Server は CentOS 7 以上が良い。glibc++ が新し目のを使っているのと glibc 2.15 2.14 が動く環境でないといけないため、CentOS 6 では敷居が高い。

steam コマンドを落としてきてセットアップする。anonymous ではゲームコンテンツをダウンロードできないので有効な Steam アカウントでログインする。

yum install ld-linux.so.2 glibc.i686 libstdc++.i686 wget unzip
mkdir steamcmd
cd steamcmd
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar zxvf steamcmd_linux.tar.gz
./steamcmd.sh +login anonymous +quit
./steamcmd.sh
steam> login
steam> force_install_dir ./7d2d
steam> app_update 294420 validate
steam> quit

以下にある serverconfig.xml を編集し、GameWorld を Random Gen に、GameName をシード名に設定する。

~/steamcmd/7d2d/serverconfig.xml

必要であれば ServerName や ServerPassword などを適宜設定しておく。
セーブデータは steamcmd 以下ではないので注意。以下のパスに置く。

~/.local/share/7DaysToDie/Saves/Random\ Gen

以上が完了したら以下のスクリプトでサーバを起動する。

~/steamcmd/7d2d/startserver.sh

ログは以下のパスでこのように日付ごとに保存される。

~/steamcmd/7d2d/7DaysToDieServer_Data/output_log__2015-11-03__11-18-04.txt

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です