前回の記事では、ミニPCにUbuntuをインストールし、SSHでリモート操作できるところまでセットアップしました。
Palworldサーバー用にミニPCを購入|N100・16GBにUbuntuをインストール | Yuu Log
今回は、このミニPCをPalworld専用サーバーとして使用できるように、Dockerを使って構築していきます。
PalworldサーバーをDockerで構築
Palworldの公式サイトには、専用サーバーを構築するためのDockerテンプレートが用意されています。
今回は、このDockerテンプレートを利用してサーバーを構築することにしました。
まず、公式サイトから案内されているGitリポジトリをミニPCに取得します。
git clone https://github.com/pocketpairjp/palworld-dedicated-server-docker.git
Gitリポジトリを取得すると、PalworldサーバーをDockerで動かすために必要なファイル一式をミニPC上に用意できます。
YAMLファイルをカスタマイズ
取得したファイルの中にあるYAMLファイルを編集し、サーバーの設定を変更します。
palworld-dedicated-server-docker/compose/compose.yaml
sudo nano compose.yaml
今回は、コンテナの再起動に関する設定としてunless-stoppedを追加しました。
restart: unless-stopped
これにより、Dockerコンテナが停止した場合でも、自動的に再起動されるようにしています。

Palworldのゲーム設定を変更
続いて、Palworldのゲーム設定を変更します。
ゲームの設定については、PalWorldSettings.iniに記述します。
./Saved/Config/LinuxServer/PalWorldSettings.ini

今回は、以下の設定を変更しました。
- サーバーのパスワード
- 経験値の倍率
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(ServerPassword="XXXX",ExpRate=0.1)
経験値倍率は0.1に設定しました。通常よりも経験値の獲得量を抑えた環境でプレイするため、この値にしています。
Palworldサーバーを起動
設定が完了したので、Docker Composeを使ってPalworldサーバーを起動します。
docker compose up -d
-dオプションを付けることで、バックグラウンドでコンテナを起動できます。
初回起動時は、必要なDockerイメージのダウンロードなどが行われるため、起動まで少し時間がかかります。
しばらく待ってから、コンテナが正常に起動しているか確認します。
docker ps
Palworldサーバーのコンテナが表示されていれば、正常に起動しています。

既存のワールドデータを移行
以前から使用していたワールドデータをミニPCへ移行します。
初回起動によって、ミニPC側にPalworldサーバーのワールドデータを保存するためのフォルダが作成されます。
/home/XXX/palworld-dedicated-server-docker/compose/Saved/SaveGames/0/XXXXX
ワールドフォルダが作成されたことを確認したら、Dockerコンテナを停止します。
docker compose down
次に、普段使用しているWindows PCからWinSCPを使用してミニPCへ接続します。
SSH接続を利用して、以前使用していたPalworldのワールドデータをミニPC側のワールドフォルダへコピーします。

既存のワールドデータをコピーしたら、再度Docker ComposeからPalworldサーバーを起動します。
docker compose up -d
これで、以前使用していたワールドデータをミニPCのPalworldサーバーへ移行できます。
マップデータは初期のままなので、以下の記事の手順でマップデータも移行します。
【パルワールド】データ移行後にマップ・チュートリアルがリセットされた時の解決方法(LocalData.sav) | Yuu Log
Palworldからサーバーに接続
Dockerコンテナが正常に起動したので、実際にPalworldから接続してみます。
今回は自宅のLAN内から接続するため、ミニPCに設定したプライベートIPアドレスを使用します。
Palworldを起動し、サーバーの接続先としてミニPCのIPアドレスを入力します。
接続すると、以前使用していたワールドが表示され、既存のワールドへ問題なくアクセスできました。

メモリ使用量を確認
PalworldサーバーをミニPC上で5日間連続稼働させた後、メモリ使用量を確認しました。

free -h

確認したところ、システム全体の使用メモリは約3GBでした。
ミニPCには16GBのメモリを搭載しているため、5日間連続でPalworldサーバーを稼働させても、メモリにはまだ十分な余裕がありました。
まとめ
今回は、前回セットアップしたミニPCにDockerを使用してPalworld専用サーバーを構築しました。
GitリポジトリからDocker環境を用意し、YAMLファイルやゲーム設定を変更した後、Docker Composeからサーバーを起動しました。
最終的にPalworldからミニPCのプライベートIPアドレスを指定して接続し、実際にワールドへアクセスできることを確認しました。
以前のようにAzureのサーバーを起動する必要がなくなったため、Palworldをプレイするときの手間も減りました。N100搭載のミニPCでも、問題なくサーバーとして利用できています。
Palworldのアップデートが配信された際には、Docker環境の更新も必要になります。実際にパッチを適用した手順は以下の記事にまとめています。


コメント