KeepWorlds

パルワールドのサーバーデータ移行:マルチプレイから専用サーバーへ、別のマシンへ移す手順

パルワールドのサーバーデータ移行の手順です。招待コードの協力プレイのワールドを専用サーバーへ移す場合と、専用サーバーから別のマシンへ移す場合の両方を扱います。バージョンを揃える、完全なセーブを取る、プレイヤーとギルドのデータ、新しいマシンで書き換える3か所、元へ戻す方法まで。

執筆:KeepWorlds チーム

マシンを変える理由はたいてい三つのどれかです。スペックが足りない、今まで置いていた場所を引き払う、遊ぶ人たちから遠すぎる。どれであっても、パルワールドのサーバー移行で実際に動かすのはマシンではなくセーブデータ一式です。その一式がどういう形で、何が揃っていれば完全なのかはセーブデータのバックアップと復元にあります。この記事ではその続きとして「別のマシンへ」の部分だけを扱います。

どちらの移行かを先に分ける

同じ言葉で呼ばれる別物が二つあります。

  • 協力プレイ(招待コード)のワールドを専用サーバーへ。次の節です。ワールドは移せますが、先にホストのキャラクターを一度直す必要があります。
  • 専用サーバーから専用サーバーへ。この記事の残りすべてです。両方ともファイルの置き方が同じなので、ディレクトリをそのまま持っていけます。

協力プレイ(招待コード)のワールドを専用サーバーへ移行する

招待コードで遊んできたワールドは、サーバーではなくホストの PC に保存されています。ファイルはそのまま移せますが、ホストのキャラクターはそうはいきません。協力プレイではホストの ID が「0 が並んで最後だけ 1」という固定値になっていて、専用サーバーはこの ID を認識しないためです。直さずに移すと、ほかの人のキャラクターや拠点、建物は残っているのに、ホストだけが最初からやり直しになります。

  1. ホストの PC でパルワールドを終了し、ワールドをバックアップとしてコピーしておきます。Win+R を押して %LOCALAPPDATA%\Pal\Saved\SaveGames\ を開くと、ホストの Steam ID の数字フォルダがあり、その一階層下の各フォルダが一つのワールドです(Level.sav と Players フォルダが入っています)。サーバーは、このワールドを最後に保存したゲームと同じバージョンに揃えてください。
  2. 協力プレイのセーブを専用サーバー用に変換するツールでホストの ID を差し替えます。ブラウザ内で動き、ホストの Steam ID から新しい ID を割り出して、ギルドの所属、パルの所有者、次元パルストレージまでキャラクターと一緒に移します。フレンドのキャラクターは最初から本物の ID なので手を加えません。対応しているのは Steam 版のセーブで、Xbox 版と Game Pass 版にはまだ対応していません。
  3. サーバーを停止し、zip の中のワールドフォルダをそのまま Pal/Saved/SaveGames/0/ に置いて、DedicatedServerName= をそのフォルダ名に書き換えます。サーバーの既存のワールドと並べて置き、リネームも、既存のワールドフォルダへの中身のコピーもしないでください。フォルダ名がワールドIDで、各プレイヤーの PC にはマップの探索状況(探索済みのエリアやファストトラベル地点)がこの ID ごとに保存されているため、名前を変えると全員のマップが真っ暗な状態からやり直しになります。元のワールドはそのまま残しておけばバックアップになります。設定ファイルの場所は下の「新しいマシンで書き換える3か所」で扱います。zip に WorldOption.sav が入っている場合、サーバーはそれを優先し、PalWorldSettings.ini で変えた設定は反映されません。ini の設定を使いたいなら削除してください。Linux ではファイルの所有者もサーバーを動かすユーザーに揃えてください。

ここから先はほかの移行と同じです。新しいマシンの設定とプレイヤー側でやることは、下の節のとおりに進めてください。

コピーする前にやっておく三つ

1. バージョンを揃えます。新しいマシンに同じサーバー(Steam アプリ 2394010)を入れ、一度起動してディレクトリと ini を生成させてから停止します。二台のビルドは揃えてください。引っ越しの日に片方だけアップデートが入る状況は避けます。セーブの形式はバージョンで変わることがあり、新しいビルドで書かれたワールドは古いビルドで開かないことがあります。どちらが新しいかの確かめ方と、片方が遅れていたときのアップデート手順はパルワールド専用サーバーのアップデート方法:バージョン不一致とセーブを守る手順にあります。

2. 元のサーバーを停止します。稼働中にコピーすると書きかけのファイルをコピーしてしまいます。移行はバックアップより一段厳しく、コピーが終わるまで誰も入れない状態にしてください。その間に進んだぶんは、どのみち捨てることになるからです。

3. 完全な一式を確保します。移す単位はこのディレクトリ一つです。

Pal/Saved/SaveGames/0/<WorldID>/

セーブのディレクトリと一緒に行くもの

中身すべてです。Level.sav(ワールド本体)、LevelMeta.sav、WorldOption.sav、そして Players/ の下のファイル全部。それぞれに何が入っているかはセーブデータのバックアップと復元の表にあります。

移行で最も多い失敗はここで起きます。容量を惜しんで Level.sav だけを持っていくことです。ワールド自体は問題なく開くので移した直後は成功に見え、人が入ってきて初めて分かります。

もう半分は、このディレクトリに入っていないものです。サーバー名やパスワード、各種倍率はセーブではなく ini にあります。そちらは別に持っていく必要があり、その話は次の次の節で扱います。

プレイヤーデータとギルドデータは一組

Players/ の下の .sav 一つがプレイヤー一人のキャラクター本体です。レベル、ステータス、所持品がここにあり、ファイル名はその人の UID です。

ギルドの所属と拠点の所有は、そこには含まれません。Level.sav の中に UID で記録されています。つまり「この拠点は誰のものか」はワールド側に、「その誰かが何者か」はプレイヤー側にあり、両者をつないでいるのは UID だけです。

だから規則は一つです。両方が同じ時点の一組でなければなりません。別々のコピーから混ぜると、予想どおりのことが起きます。

  • Players/ を丸ごと落とせば全員が新規キャラクターになり、拠点は解決できない UID のものとして残ります
  • 一人分のファイルだけ落とせばその人だけが新規になり、ギルドの名簿には元の UID が残ります
  • Level.sav だけ古いバックアップから持ってくると、その間に参加した人がギルドから消えます

ファイル単位で選ばず、ディレクトリごと一度にコピーしてください。移行が終わるのはサーバーが起動した時点ではなく、各自が一度ログインしてキャラクター・ギルド・拠点が揃っていることを確認できた時点です。

新しいマシンで書き換える3か所

一つ目、セーブのディレクトリを選ぶサーバー名。新しいマシンは初回起動時に自前の <WorldID> を生成しているので、持ってきたディレクトリ名とは一致しません。どちらを読むかを決めるのは、次のファイルの DedicatedServerName= です。

Pal/Saved/Config/LinuxServer/GameUserSettings.ini

設定を持ってきたディレクトリ名に合わせ、ディレクトリ名のほうは変えないでください。ディレクトリ名がワールドIDで、各プレイヤーの PC にはマップの探索状況(探索済みのエリアやファストトラベル地点)がこの ID ごとに保存されています。新しいマシンが作った名前に改名してもワールドは読み込めますが、全員のマップが真っ暗に戻ります。両方いじると食い違い、サーバーはセーブが無いと判断してまっさらなワールドを作ります。この落とし穴はセーブデータのバックアップと復元に詳しく書いています。Windows サーバーではパスの LinuxServer が WindowsServer になります。

GameUserSettings.ini の DedicatedServerName が SaveGames/0 配下のワールドディレクトリと同じ32桁の ID なので、サーバーはそのワールドを読み込む
GameUserSettings.ini の DedicatedServerName が SaveGames/0 配下のワールドディレクトリと同じ32桁の ID なので、サーバーはそのワールドを読み込む

二つ目、ポートと公開アドレス。PalWorldSettings.ini の PublicPort= と PublicIP=、起動オプションの -port=、そしてファイアウォールです。新しいマシンの IP は当然違うので、PublicIP= に前の値が残っているとコミュニティ一覧に別のアドレスで載ります。ポート番号を前と同じに揃えておけば、伝え直すものが IP 一つで済みます。

三つ目、PalWorldSettings.ini の残り全部。表示されるサーバー名、サーバーパスワード、管理者パスワード、経験値や採取の倍率などです。これらはセーブに入っていないので、このファイルを置いてくるとワールドはそのままなのにサーバー名が既定値に戻り、パスワード無しで開くことになります。

プレイヤー側でやること

アドレスが変わるので、全員が一度は手を動かす必要があります。

  • 新しい IP:ポート を伝えます。一つの欄にコロン一つで続けて書く形式です。入れない人が出たときに確認する順番は接続できないときの対処にあります
  • 前のアドレスは各自の最近の接続先に残っています。習慣で押すと、もう誰もいない場所に行きます
  • コミュニティ一覧から入っていた人は名前で探し直すことになり、立ち上げたばかりのサーバーが一覧に出るまで数分かかります
  • Xbox や PS5のフレンドも一覧で探し直しです。出てこないときの確認ポイントも同じ記事にあります
  • ini ごと持ってきたならパスワードは変わりません。変えたならアドレスと一緒に伝えてください
  • 招待コードで入っていたフレンドは、これからはタイトル画面の マルチプレイに参加する(専用サーバー) から新しいアドレスで入ります。招待コードはもう使いません

うまくいかなかったら元のマシンへ戻す

元のマシンを当日中に片付けないでください。新しい方で定時再起動とバックアップが一巡し、みんなが一日遊ぶまでは残しておきます。元に戻せる安心感は、それがあってこそです。

戻す手順は短いものです。新しいサーバーを停止し、元のサーバーを触っていないそのままの状態で起動し、前のアドレスをもう一度案内するだけです。元の側のファイルを一つも触っていなければ、これは数分の作業です。

絶対にやってはいけないのは、二台を同時に開けておくことです。両方に人が入れば別々の進行が溜まり、二つのワールドを統合する方法はありません。どちらかを丸ごと捨てることになります。ですから移行は「新しい方を試して良ければ切り替える」ではなく、「片方を閉じて移し、駄目なら閉じた方を開け直す」作業です。

よくある質問

パルワールドのサーバーを移行するとレベルやパルは引き継がれますか?

Players/ を含む <WorldID>/ ディレクトリ全体を移したなら、そのまま引き継がれます。レベルも所持品も捕まえたパルも拠点の所有もです。逆に Level.sav だけを移すと、ワールドは残って全員が新規キャラクターになります。

ゲーム内マルチで作ったセーブも専用サーバーへ移せますか?

移せます。ワールド自体はそのまま移り、壊れるのはホストのキャラクターだけです。協力プレイではホストのIDが固定値になっていて専用サーバーが認識しないためです。協力プレイのセーブを専用サーバー用に変換するツールがブラウザ内でそのIDを書き換えるので、キャラクターもギルドもパルもそのまま移せます。同じツールで逆向きにも変換でき、専用サーバーのワールドを協力プレイ用に戻せます。

移行の間、元のサーバーを起動したままにしてもいいですか?

いけません。両方が接続を受け付けると進行が分かれ、後から統合する方法がありません。コピーを始める前に元の側を停止し、戻すときだけ起動し直してください。

新しいマシンが持ってきたセーブを読まず、新しいワールドを作る場合

たいていセーブは消えておらず、GameUserSettings.ini の DedicatedServerName= と SaveGames/0/ 配下のディレクトリ名が合っていないだけです。DedicatedServerName= を持ってきたディレクトリ名に合わせれば読み込まれます(ディレクトリ名のほうは変えません)。理由と確かめ方はセーブデータのバックアップと復元にあります。

レンタルサーバーへ移ってくる場合

上の手順で難しいのは個々の作業ではありません。一度きりなので慣れる機会が無く、間違えたときに懸かっているのがワールドそのものだという点です。ディレクトリ名、UID だけでつながった二つのファイル、置いてくると静かに既定値へ戻る ini——失敗の大半は作業中ではなく、人が入ってきた後に表面化します。

KeepWorlds のパルワールド専用サーバーへ移ってくる場合、ファイルを自分で扱う部分は無くなります。コンソールのサーバー詳細ページで専用サーバー用セーブデータの圧縮ファイル(.zip または .tar.gz)をアップロードすると、検証のうえ自動で配置してサーバーを再起動します。インポートされるのはワールドのセーブだけで現在の設定はそのままなので、サーバー名やパスワードは設定画面の項目として決めます。各項目の意味は設定の全項目解説にあります。ただし準備は上と同じで、停止してから取った完全なディレクトリであることは変わりません。ゲーム内マルチのホストで作ったセーブは、先ほどの変換ツールを通してから——アップロードするのは常に専用サーバーのワールドです。

他の言語で読む

自分で運用しない方法もあります

ゲームとプランを選ぶだけで、専有マシン上にサーバーが立ち上がります。バックアップ、アップデート、期限のお知らせはこちらで対応いたします。

プランを見る