LoginSignup
2
1

[Palworld] SteamCMD(Windows)版パルワールドサーバーにおけるセーブデータの移行方法

Last updated at Posted at 2024-02-03

「キャラIDによるデータ管理」が理解できない人はブラウザバックでお願いします。
尚、ご理解いただけているとは思いますが、at your own riskです。
当方は一切の責任を負いません。

「理解はできないけれど、どうしてもセーブデータの移行がしたい」という方は、有志の方が公開されている下記スクリプトで行うとよいでしょう。
https://github.com/xNul/palworld-host-save-fix

なぜ書こうと思ったのか?

ネットを検索すれば数多くのセーブデータ移行方法が見つかるが、WindowsのSteamCMD版Palworldサーバーにおけるセーブデータの移行については記事が無い。
また専用サーバーやレンタルサーバーでの方法では移行出来なかったので、私が実際に行い移行に成功した方法を書いておくことにした。

下準備

  1. 移行先のWindowsマシンにSteamCMDをインストール

  2. SteamCMDからPalworldのサーバーをインストール

    login anonymous
    force_install_dir "d:\pal-server"
    app_update 2394010
    
  3. サーバーを起動し、クライアントから接続+新規キャラを作成する

  4. サーバーを停止する

    この時に作成した新規キャラのファイル名をメモしておく。

移行元のセーブデータ修正

  1. 有志が作ったセーブデータ変換ツールをダウンロード(要Python実行環境)
    https://github.com/cheahjs/palworld-save-tools

  2. 移行元のLevel.savとキャラクターのsavファイルを上記ツールでjsonに変換する

    不慮の事故を防ぐため、ファイルをどこかに一度退避して、退避先のファイルで変換しましょう

  3. 変換後のLevel.sav.jsonを開き、移行元のキャラデータのファイル名頭8文字の16進数を、上記下準備で作成した新規キャラの同8文字に置換する

    この時、英字は小文字にしておくこと(9D5E2D92 -> 9d5e2d92)

    jsonファイルが数百MBとなっているので、メモリ展開型テキストエディタで開かないとこの置換作業で詰む。
    SubLime Textなら可能。VSCodeは「置換できません」となるので注意。

    キャラで生産したテクノロジーやパルの所有権にキャラIDが記述されているため、この置換は1000個以上になる。
    さらに複数人でサーバーを使っていた場合、この作業をキャラクターの人数分繰り返す必要がある。
    コーヒーでも飲みながら気長にやりましょう。

  4. 同様にキャラデータのjsonファイル内のキャラIDも置換する(2か所)

  5. 再度変換ツールを使いjsonファイルをsavファイルに変換する

移行作業

  1. 移行元のPalWorldSettings.iniを移行先にコピーする
  2. 移行先のGameUserSettings.iniを開き、DedicatedServerNameを移行元のIDに置き換える
  3. 移行元のSaveGamesフォルダを移行先にコピーする
  4. 移行先のLevel.savを上記で編集したLevel.savに置き換える
  5. 編集したキャラクターファイルを移行先にコピーする。移行先にある移行元のキャラクターファイルは消しておく
  6. サーバーを起動、接続しキャラ&環境が移行出来ていることを確認する

以上になります。お疲れさまでした。

余談 おそらく、WindowsのSteamCMD版サーバーのバグか、Windows固有の問題かと推測される。 Linux版だとキャラデータを見て、既にある場合はそのIDを使用するが、Windows版は問答無用で新IDの取得からワールドを読み込んでいるようだ。 なのでそのままコピーでは既存IDが使えず、どうやっても新IDのキャラクター作成になってしまっているのだろう。 新IDなのでLevel.sav内に記述してあるワールド内の物(建物や捕獲済みのパル)は使用することができない。
2
1
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1