ミニPCにPalworld専用サーバーをDockerで構築

Linux・サーバー

前回の記事では、ミニPCにUbuntuをインストールし、SSHでリモート操作できるところまでセットアップしました。

Palworldサーバー用にミニPCを購入|N100・16GBにUbuntuをインストール | Yuu Log

今回は、このミニPCをPalworld専用サーバーとして使用できるように、Dockerを使って構築していきます。

PalworldサーバーをDockerで構築

Palworldの公式サイトには、専用サーバーを構築するためのDockerテンプレートが用意されています。

GitHub – pocketpairjp/palworld-dedicated-server-docker: Official Docker image and example Compose file for the Palworld Dedicated Server · GitHub

今回は、この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環境の更新も必要になります。実際にパッチを適用した手順は以下の記事にまとめています。

パルワールドのDocker版専用サーバーにパッチを適用する | Yuu Log

コメント

タイトルとURLをコピーしました