【パルワールド(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は後で使うので覚えておいてください。

画像
キャラクター名は「\u3082」、uidは「f660ea18-0000-0000-0000-000000000000」

2-4.Level.sav.json内の該当uidをすべて置換する
uidを以下の文字列へ置換してください。

00000000-0000-0000-0000-000000000001
※これはソロデータのキャラクターuidです

3.編集したjsonファイルを保存し、savファイルへ再変換する

palworld save toolのフォルダを開き、編集した「Level.sav.json」を「convert.cmd」へドラッグ・ドロップします。
この際Level.savがすでにフォルダに存在していると上書きについて問われますが、上書きで問題なしです(不安なら別フォルダにLevel.sav.jsonを隔離して行えばOK)

画像
上書きしますか?みたいな感じです。 yを入力してエンター。
画像
なぜかもう一度聞かれます。 yを入力してエンター。
画像
変換中……
画像
変換完了!

4.プレイヤーデータ.savの編集

手順2~3と同じようにプレイヤーデータを編集します。
プレイヤーデータはサーバーデータの「Players」フォルダ配下にあります。
特定には手順2-3でメモしたuidを使用します。
変換について、こちらは数秒から数分で変換が終わると思います。

また、編集後は該当のファイルを「00000000000000000000000000000001.sav」にリネームしてください。

画像
メモしたuidは「f660ea18-0000-0000-0000-000000000000」なので、
プレイヤーデータは「F660EA18000000000000000000000000.sav」
画像
「convert.cmd」にドラッグ・ドロップして~
画像
f660ea18-0000-0000-0000-000000000000を全て
00000000-0000-0000-0000-000000000001に置換して~
画像
編集したものを「convert.cmd」にドラッグ・ドロップして元の形に戻して~
画像
最後にリネーム!

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です。

この記事が気に入ったらサポートをしてみませんか?

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。
【パルワールド(Steam)】専用サーバーのデータをソロ用データへ変換する方法|*。. 。 も 。 .。*