こんにちは、風船(@fusen_niconico)です。
今回は、今話題の「パルワールド」のサーバーをSynology NASとDockerを使って構築する方法をご紹介します。
有志の方のDockerイメージを使用させていただきましたが、一部うまく行かない部分などがあったのでそちらも含めて対処法をご紹介します。
前提条件
Synology NASにContainer Managerが導入されているか確認してください。
導入していない場合でも、DockerとDocker Composeが使えれば大丈夫だと思います。
マジで気を付けて
公式が公表している推奨環境のメモリは16GBです。
8GBでも動作するそうですが、身近な人でも8GB環境でのセーブデータクラッシュなどの事例が確認されています。
おひとり様かリソース管理を行うことができて、必要に応じて再起動を講じられる場合を除き、16GB以上の環境で動かすようにしてください。
使用イメージ
今回サーバー構築に使用するイメージは以下のモノを使用します。
https://hub.docker.com/r/jammsen/palworld-dedicated-server/
このイメージを選定した理由は
- DockerイメージはあくまでOSとSteamCMD部分のみで、肝心のサーバーバイナリはダウンロード式で永続化ボリュームに保存できる
- 他のイメージも見てみたが、サーバーバイナリも含めてイメージ化されているものがあった→サーバー関係のファイル更新がダルそうだった
- 環境変数で、サーバーを専用サーバー・コミュニティサーバーの変更が簡単にできる
が挙げられます。
では、実際に試していきましょう。
Gitから必要なファイルをクローン
Synology NASに対して、SSHで接続し、Docker関係のファイルを置いておく場所に必要なファイルをクローンします。
以下のコマンドを実行してください。
git clone -b master https://github.com/jammsen/docker-palworld-dedicated-server.git
クローンできたら、SSHでの作業はいったん完了です。後ほど、パーミッションの関係で使用するので閉じないで置いておいてください。
Container Managerへプロジェクト追加する
先ほどクローンしたフォルダを、Container Managerのプロジェクトへ追加します。
Container Managerを開き、[作成]ボタンをクリックしてください。
ウィザードが表示されますので、適切に値を設定していきます。
項目名 | 値 |
プロジェクト名 | プロジェクトの名前(PalWorldServerなど) |
パス | 先ほどクローンしたディレクトリ |
ソース | 変更しなくてOK |
ファイル | 変更しなくてOK |
パスを選択すると、以下のような画面が表示されますので、「既存のdocker-compose.ymlを使用して~」を選択してOKをクリックします。
自動的にdocker-compose.ymlが設定されて表示されます。
この中身を変更していきます。
項目名 | 値 |
container-name | なんでも(複数のサーバーを建てる場合は変更必要) |
network_mode | bridge→host(そのままでもいいですが、うちはhostにしています) |
ports | /udpを追加してください。(network_modeがhostの場合は設定不要) |
続いて、environmentの値を追加・変更していきます。
項目名 | 値 |
TIMEZONE | Asia/Tokyo |
GAME_PORT | 8211(適宜変更してください) |
MAX_PLAYERS | 32(適宜変更してください) |
SERVER_NAME | 好きなサーバー名 |
COMMUNITY_SERVER | 有効にする場合はtrue 専用サーバーにする場合はfalse |
volumesには、PalWorldのサーバーを格納するディレクトリを指定しましょう。
私の環境の場合は
/volume1/docker-data/palworld
にしています。
変更ができたら[次へ]をクリックします。
Webポータル設定は不要です。そのまま[次へ]をクリックします。
「プロジェクトが作成されると、開始されます。」のチェックを外して[次へ]をクリックします。
作成できたプロジェクトを開き、「YAML構成」を開きます。
今一度確認して問題がないことを確認してください。
先ほど閉じずにおいておいたSSHのターミナルを開き
volumesで指定したフォルダの1つ上の階層までcdで移動し、以下のコマンドを実行してください。
chown -R 1000:1000 [volumesで指定したフォルダ]
上記でダメならば
chown -R 1000:101 [volumesで指定したフォルダ]
それでもダメなら最終手段ですが
chmod 777 [volumesで指定したフォルダ]
で必ずいけるはずです。
ただしこれは、全てのユーザ、グループに読み込み、書き込み、実行を許可するという最大限のパーミッション付与になるので注意して使用してください。
正直オススメはできません。
これで、コンテナから当該フォルダに対するアクセスができるようになります。
プロジェクトの構築とコンテナの起動
ここまでできたら、プロジェクトを構築します。
先ほど作成したプロジェクトを右クリックし、[構築]をクリックします。
構築完了後、自動的にコンテナが起動するので、コンテナのログを開くと状況が確認できます。
以下のように、ログの出力が停止したらサーバーは起動できています。
ポート開放、ファイアウォールの設定を変更する
コンテナが起動したら、最後にポート開放(ポート転送)とファイアウォールの設定を実施します。
これはルーターや使用しているデバイスにより異なるため、割愛いたします。
ゲームからサーバーに接続する
パルワールドを起動し、[マルチプレイに参加する(専用サーバー)]をクリックします。
専用サーバー一覧の下部にあるIPアドレス入力欄に、「IPアドレス:ポート」で入力し、[接続]をクリックして接続します。
パルワールドの世界を楽しみましょう!!!
まとめ
パルワールドのサーバをSynology NASを使用して構築する方法をご紹介しました。
この方法は、DockerとDocker Composeが使用できれば同じような手順で構築可能です。
WindowsやLinuxサーバーを用意しなくても簡単に立ち上げられるので、ぜひ試してみてください。