こんばんは。五月雨です。
今回は表題の通り、Palworld(パルワールド)の専用サーバーの立て方を説明していこうと思います。
調べればいくらでも出てきそうなものですが、今回はLinux GSMをつかって比較的簡単にインストールしていくことにします。
→Linux GSMの手順ページ(英語)
ご注意
Linuxのインストール、初期設定はこの記事では扱いません。
前提条件
今回、OSはUbuntu 22.04を使用します。
LinuxGSMを使うための準備
まずは、サーバを最新の状態に更新し、LinuxGSMが動作するのに必要なパッケージ類を導入します。
sudo -s
apt update && apt upgrade -y
dpkg --add-architecture i386
apt update
apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd
インストール中に以下のような画面が出てきますが、Tabキーを押してカーソルを「了解」に移動させ、Enterを押すと進みます。
さらに同意するかどうか聞かれるので、矢印キーの上下で「I AGREE(同意する)」を選び、Tabでカーソルを「了解」へ移動させEnterキーを押します。
これで、事前の準備は完了です。
ユーザーを作成する
警告
セキュリティ上の問題を引き起こさないよう、この手順をスキップしないことを強く推奨します。
まずは、サーバを実行するためのユーザーを作成します。
ユーザーの作成は以下のコマンドで実行できます。必ずパスワードは強力な文字列に設定してください。
sudo -s
adduser pwserver
コマンドを実行すると以下のような感じでいろいろ聞かれる場合がありますが、パスワードを設定したら最後のY/n以外は空欄で問題無いです。
ユーザーの作成が完了したら現在作業に使用しているユーザーから作成したユーザーへ切り替えます。
su - pwserver
切り替えが完了すると、以下のように pwserver@xxxxx:~$ のような表示に切り替わります。
サーバーのインストール
前提条件
以降の手順はユーザーを作成するの手順が実施されている前提で記載されています。
以下のコマンドを実行し、LinuxGSM本体をダウンロードします。
curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh pwserver
実行すると以下のような表示が出てきます。
表示されたら以下のコマンドを実行してサーバーの初期設定を実行します。
./pwserver install
実行すると以下のようにいろいろと聞かれますので適宜回答します。
ちなみにそこそこ時間がかかります。
Server Directory
=================================
/home/pwserver
Continue? [Y/n] Y <- デフォルトでYなのでそのままEnterを押す
---中略---
Success! App '2394010' fully installed.
Complete! Installing pwserver: SteamCMD
=================================
Was the install successful? [Y/n] Y <- 上の行に fully installedと表示されていたらYでEnter
---中略---
LinuxGSM Stats
=================================
Assist LinuxGSM development by sending anonymous stats to developers.
Collected data is publicly available: https://linuxgsm.com/data/usage
More info: https://docs.linuxgsm.com/configuration/linuxgsm-stats
The following info will be sent:
* game server
* distro
* game server resource usage
* server hardware info
Allow anonymous usage statistics? [Y/n] Y <-ここではサーバーの稼働状況などを収集して良いかの選択。収集させたくなければnに変えても問題無い
これでサーバーのインストールは完了です。
サーバの追加設定
サーバそのものの設定(ワールド設定など)
設定ファイルは上記の手順でインストールを実行した場合、以下の場所にあります。
/home/pwserver/serverfiles/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
サーバーの詳細な設定は公式ドキュメントを参照してください。→公式ドキュメントのリンク
警告
以下に示すパラメータは変更することを強く推奨します。
変更を行わなかった場合、第三者に管理者権限を奪取されたり過負荷に陥る場合があります。
- ServerPlayerMaxNum(サーバーに参加できる最大人数)
- ServerName(サーバーの名前)
- ServerDescription(サーバーの説明)
- AdminPassword(管理者権限用のパスワード)
- ServerPassword(サーバーにログインするためのパスワード)
サーバーの待ち受けポートの変更
LinuxGSMを使用する場合、Palworld公式ドキュメントの手順ではポートを変更できません。
以下のファイルを編集する必要があります
/home/pwserver/lgsm/config-lgsm/pwserver/common.cfg
ファイルをnanoやviコマンドで開き、以下の内容を書き込むことで変更されます。
通信規約を遵守する
設定する際は0から1023の範囲及び49152以上の数字は使用しないでください。
これはインターネット通信に関する国際標準ルールに記載がある事項です。
port="設定したいポート番号"
サーバーの更新などの自動化
サーバーのアップデートや状態確認等を自動で実行されるようにCronを設定します。
以下のコマンドを実行すると設定を行えます。
crontab -e
以下の内容を書き込みます。
*/5 * * * * /home/pwserver/pwserver monitor > /dev/null 2>&1
*/30 * * * * /home/pwserver/pwserver update > /dev/null 2>&1
0 0 * * 0 /home/pwserver/pwserver update-lgsm > /dev/null 2>&1
以上で、設定が完了しました。
サーバーを起動する
以下のコマンドでサーバーが起動します。
起動したらゲームを起動し、サーバーへ接続してPalworldをプレイすることが可能です。
./pwserver start
トラブルシューティング
サーバーに接続できません。
まずは、サーバー自体にインストールされているファイアウォールの状態を確認してください。
sudo -s
ufw status
以下のように表示されている場合は有効ですので次の手順に進みます。
状態: アクティブ
以下のような表示の場合は無効ですのでルーターやクラウドサービスの設定をご確認ください。
状態: 非アクティブ
ufw が有効の場合は以下のコマンドを実行し、ポートへの通信を許可します。
ufw allow 8211/udp
※もし、ポートを変更している場合は8211の部分を適宜変更してください。