【パルワールド(Steam)】専用サーバーのデータをソロ用データへ変換する方法
以下Redditの日本語意訳的な記事になります。
「How to convert a dedicated server save into a singleplayer save (Steam save)」
https://www.reddit.com/r/Palworld/comments/1acv6rb/how_to_convert_a_dedicated_server_save_into_a/
追記:
本手順により、いくつか初期化されてしまうものがあるようです。
筆者は少なくともマップ進捗の初期化が確認されました。
持ち物やレベル、パル図鑑、クルリス象進捗等の初期化はなかったので、基本的には問題なく遊べると思います。
必要なもの
バージョン3.9以上のPython
Microsoft Storeから最新版をインストールするのがいいと思います(執筆時3.12が最新)大容量ファイルが開けるテキストエディタ(Notepad++など)
palworld save tools (cheahjs氏のgithubへのリンクです。リンク先よりダウンロード⇒解凍してください)
専用サーバーのセーブファイルへのアクセス
鯖主じゃない場合は鯖主からもらってください。
\palworld\steamapps\common\PalServer\Pal\Saved\SaveGames\0 配下がそれにあたります。
本手順では、専用サーバーのセーブファイルにあたる「Level.sav」と「Playersフォルダ内のプレイヤーデータ」を使用します。
変換手順
0.上書きをするワールドデータを予め作っておく
ワールドを作成したら、念のためパルワールドを終了しましょう。
拠点パル数とかはサーバー側に合わせておいた方がいいです。
1.「Level.sav」をpalworld save toolでJSONへ変換する
palworld save toolのフォルダを開き、専用サーバーのセーブファイル「Level.sav」を「convert.cmd」へドラッグ・ドロップします。
PCスペックとデータサイズによりますが、JSON変換は3~15分ほどかかるものと思ってください(モノによっては1億行近くになります)
2.生成された Level.sav.json の編集
2-1.「Level.sav.json」を大容量のテキストファイルを扱えるテキストエディタで開く
Notepad++や秀丸エディタ、サクラエディタなどなど。。
ここではNotepad++を使用します。
2-2.Ctrl+Fで変換したキャラクターの名前を検索
日本語で作成したキャラクター名はUTF-16の文字コードとして登録されているので注意してください。
文字コード変換ツール
2-3.該当キャラクターのuidを特定する
uidは後で使うので覚えておいてください。
2-4.Level.sav.json内の該当uidをすべて置換する 00000000-0000-0000-0000-000000000001
uidを以下の文字列へ置換してください。
※これはソロデータのキャラクターuidです
3.編集したjsonファイルを保存し、savファイルへ再変換する
palworld save toolのフォルダを開き、編集した「Level.sav.json」を「convert.cmd」へドラッグ・ドロップします。
この際Level.savがすでにフォルダに存在していると上書きについて問われますが、上書きで問題なしです(不安なら別フォルダにLevel.sav.jsonを隔離して行えばOK)
4.プレイヤーデータ.savの編集
手順2~3と同じようにプレイヤーデータを編集します。
プレイヤーデータはサーバーデータの「Players」フォルダ配下にあります。
特定には手順2-3でメモしたuidを使用します。
変換について、こちらは数秒から数分で変換が終わると思います。
また、編集後は該当のファイルを「00000000000000000000000000000001.sav」にリネームしてください。
プレイヤーデータは「F660EA18000000000000000000000000.sav」
00000000-0000-0000-0000-000000000001に置換して~
5.編集した「Level.sav」と「プレイヤーデータ.sav」をソロ用データへ上書き
5-1.C:\Users\ユーザー名\AppData\Local\Pal\Saved\SaveGames から手順0.で作成したデータのフォルダを開いてください。
基本的に作成日時が最新のものがそれです。
SaveGameから2つくらい最新のフォルダを潜るはず……。
5-2.level.savと00000000000000000000000000000001.savを上書き
~~0001.savは"Players"フォルダ内にあります。
6.パルワールドを起動して0.で作成したワールドでプレイする
初回起動時は0.で設定したサーバー名、キャラクター名になってますが気にしなくてOKです!
いろいろ処理が走るので、開始するまでちょっとだけ時間がかかります。
無事起動出来れば変換完了!
以上で手順終了です。
何か不明点などがあれば、答えられる限りはできる限り協力します。
TwitterのDMやパルワールド公式Discordで自分(*。. 。 も 。 .。*)宛てにメンションを飛ばしてみてください。
本記事のコメントでもOKです。
この記事が気に入ったらサポートをしてみませんか?

