「友達と一緒にパルワールドを遊びたいけど、ホストがログアウトするとみんな遊べなくなる……」
「人数制限を超えて、もっと大人数で遊びたい!」
「純粋にサーバーを立ててみたい!」
そんな悩みをお持ちではありませんか?
最初は招待コードを使ったマルチプレイで十分でも、ハマればハマるほど「24時間稼働する専用サーバー(Dedicated Server)」が欲しくなりますよね。
この記事では、既存のマルチプレイのセーブデータを引き継ぎつつ、Linux(Ubuntu)を使って自宅サーバーを建てる手順を徹底解説します。
初心者の方には「VPS」がおすすめ!
この記事では「自宅サーバー(Linux)」での構築方法を解説しますが、ぶっちゃけコマンド操作やネットワークの設定はかなり難易度が高いです。また、PCを24時間つけっぱなしにするため、電気代やパーツの消耗も気になります。
- コマンド操作は苦手……
- ポート開放とかよくわからない
- PCの電気代が心配
という方は、レンタルサーバー(VPS)を使うのが圧倒的に簡単で安上がりかもしれません。以下の記事で、VPSを使って簡単にサーバーを建てる方法を紹介しているので、まずはコチラをチェックしてみてください。
前提条件
v0.1.2.0(2024/01/21現在)の環境で検証しています。OSはUbuntuを想定しています。※Linux自体のインストール方法は本記事では割愛します。
また、公式サイトや以下の記事の内容を参考にしています。

steam用のユーザーを作成
SteamCMDを安全に実行するために、steamというアカウントを新しく作成し、ユーザーを切り替えます。
$ sudo useradd -m steam
$ sudo passwd steam
$ su steamSteamCMDのインストール
SteamCMDに必要なパッケージと、SteamCMDをインストールします。
なお、以下に示すコードはubuntuでの例です。
その他のディストリビューションをお使いの方ははこちらの方法でインストールしてください。
$ sudo add-apt-repository multiverse
$ sudo dpkg --add-architecture i386
$ sudo apt update
$ sudo apt install steamcmdディレクトリの作成
管理しやすくするためにパルワールド用のディレクトリを作成します。
$ mkdir ~/palworld/専用サーバーのインストール
専用サーバーをディレクトリを指定してインストールします。
$ steamcmd
steam> force_install_dir ~/palworld/
steam> login anonymous
steam> app_update 2394010 validate
steam> exitサーバーの起動確認
インストールディレクトリに移動し、シェルスクリプトを実行すると、サーバーが起動します。
$ cd ~/palworld/
$ ./PalServer.shもし下記のエラーメッセージが表示された場合
.steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory次の手順を実行してください。
$ mkdir -p ~/.steam/sdk64/
$ ln -s ~/palworld/linux64/steamclient.so ~/.steam/sdk64/自動起動の設定
サーバーの起動と同時に実行されるように、systemdに登録します。
$ sudo nano /etc/systemd/palworld-server.service[Unit]
Description=Palworld Dedicated Server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target
[Service]
ExecStartPre=/home/steam/steamcmd/steamcmd.sh +force_install_dir /home/steam/palworld +login anonymous +app_update 2394010 validate +quit
ExecStart=/home/steam/palworld/PalServer.sh port=8211 players=32 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
LimitNOFILE=100000
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID
Restart=always
User=steam
Group=steam
TimeoutStartSec=300
[Install]
WantedBy=multi-user.target以上の内容を記載して、Ctrl+S(保存)、Ctrl+X(終了)を押してください。ポート番号やユーザー名、最大プレイヤー人数などは適宜書き換えてください。専用サーバーは初期設定でUDP 8211を使用します。
ExecStartPreの行で起動前に専用サーバーを更新しています。
デーモンをリロードし、自動で起動するように設定します。先程作ったファイルを編集するたびにデーモンのリロードが必要です。
$ sudo systemctl daemon-reload
$ sudo systemctl enable palworld-server.serviceサーバーの起動
上から順番に、起動、状態確認、停止のコマンドです。
$ sudo systemctl start palworld-server.service
$ systemctl status palworld-server.service
$ sudo systemctl stop palworld-server.serviceファイアウォールの設定
例としてufwの設定を行います。専用サーバーは初期設定でUDP 8211を使用します。
$ sudo ufw enable
$ sudo ufw allow 8211
$ sudo ufw reloadポート開放の設定
お使いのルーターでポート開放をしてください。専用サーバーは初期設定でUDP 8211を使用します。
ルーターによっては設定の名称がポートマッピングやポートフォワーディング、静的NATなどの場合もあります。
サーバーへ接続
ゲームクライアントを起動し、「マルチプレイに参加する(専用サーバー)」を選択します。
下部の入力欄に『IPアドレス:ポート番号』を入れ、「接続」を押します。

自宅内から接続する場合はサーバーのローカルIPアドレス、自宅外から接続する場合はグローバルIPアドレスを入力してください。
サーバーの設定
有志の方が設定ファイルジェネレーターを作ってくれています。

これを使って生成した設定値を、以下のファイルに保存してください。
~/palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.iniセーブデータの引き継ぎ(サーバー側)
元々招待コードを作っていた人のパソコンにデータが保存されています。
C:\Users\{ユーザー名}\AppData\Local\Pal\Saved\SaveGames\{ユーザーID}\{ワールドID}\
「Players」「Level.sav」「LevelMeta.sav」の3つのファイルを下記のディレクトリにコピーしてください。
~/palworld/Pal/Saved/SaveGames/0/{ワールドID}/ファイルのコピーにはWinSCPなどを使うと便利です。
なお、v0.1.2.0(2023/01/21現在)の時点では、元々招待コードを作っていた人のデータは引き継げない(?)ので、事前にチェストにアイテムを移動させたり、パルを別の人に譲渡しておいてください。
セーブデータの引き継ぎ(ローカル側)
マルチプレイに参加していた人のパソコンにも先程の場所にローカルデータが保存されています。
C:\Users\{ユーザー名}\AppData\Local\Pal\Saved\SaveGames\{ユーザーID}\{ワールドID}\
ワールドIDはサーバー側の人と共通です。
専用サーバーに一度参加したあと、マルチプレイのワールドIDのフォルダーにある「LocalData.sav」を専用サーバーのワールドIDのフォルダーにコピーしてください。
マルチプレイのホストだった人も「LocalData.sav」をコピーしてください。
まとめ:快適なパルワールドライフを!
以上で移行作業は完了です!これでホストのPCが落ちていても、24時間いつでもパルワールドが遊べるようになります。
「やっぱりコマンド操作が難しくて挫折しそう……」「ポート開放がうまくいかない」という方は、面倒な設定が一切不要なVPSを検討してみてください。月々数千円でこれらの手間がすべてなくなります。
おまけ:自宅サーバーをもっと有効活用しませんか?
せっかくLinuxサーバーを24時間稼働させるなら、パルワールド以外の用途にも使ってみませんか? PCのリソース(CPUやメモリ)が余っているなら、航空機の位置情報を追跡する「Flightradar24」のフィードを行うのも面白いですよ。数百円〜数千円のUSBチューナーがあれば、あなたの家が管制塔になります。





コメント
サーバーを立てる予定で、招待コードを作成していた立場です。
記事の内容的には招待コード側の人はLocalData.savを移さないようですが、LocalData.savを入れるのではうまく動かないってことでしょうか?
こちらの記載漏れです。
マルチプレイのホストの人もLocalData.savをコピーしてください。
「v0.1.2.0(2023/01/21現在)の時点では、元々招待コードを作っていた人のデータは引き継げない」ってあったけどマルチプレイのホストの人もLocalData.savをコピーすれば引き継げるようになるのかな?
マルチプレイのホストの人もLocalData.savをコピーしてください。
ただし、装備やパルなどは引き継げず、チュートリアルの進行やマップなどが引き継げます。
装備やパルなどは引き継げず、チュートリアルの進行やマップなどが引き継げるとのことなのですが、レベルや振り分けたステータス情報なども引き継がれるのでしょうか。
単純にパルを含めた「所持品」のデータが無くなるという感じですか?
レベルや振り分けたステータス情報なども消えてしまいます。所持品のデータもなくなります。