Palworldのマルチサーバーを建てよう【ConoHa for GAME版】
バーチャル美少女プログラマー/麻雀VTuberの新篠ゆうです。
久々に超ハマれそうなゲームが出たので、さっそくマルチサーバーを建ててみました。
今回はConoHa for GAMEでマルチサーバーを建てる手順の紹介になります。
(ConoHa for GAMEやNitoradoとかでテンプレートが出てきたらわざわざこの方法で建てなくていいので、それまでの繋ぎです。)
2023/1/24 追記
最初からPalworldのテンプレートを選ぶか、再構築でPalworld選ぶだけでよくなりました
サーバー構成
[ConoHa for GAME](https://www.conoha.jp/game/?btn_id=vps-top--banner_game-top)
ARKテンプレート(SteamCMDがすでに入っててちょっと楽)
メモリ 8GB, CPU 6コア, SSD 100GB
月あたり3,292円
手順
1. ConoHa for GAMEでサーバー契約する
ARKテンプレートを選んでおいてください。
プランや期間はお好みで。
2. 左メニューのセキュリティグループからセキュリティグループを追加
適当な名前でセキュリティグループを追加して、UDPの8211ポートを開けます。(公式ドキュメントは8221ですが、8211が正しいです。)
左メニューのサーバーから契約したサーバーの詳細画面へ行き、追加したセキュリティグループを設定する。
3. コンソールからログイン(rootユーザー)
初回はrootでログイン。
ARKのサーバーを止めます。
(ConoHaのコンソールからコピペできないのでコマンドは手打ちです。もしtypoしてたら教えてください。)
# systemctl stop ark-server.service
# systemctl disable ark-server.service
ログイン時にARKサーバーに関するメッセージが表示されていたと思いますが、それもメッセージ中にある `rm motd` みたいなコマンドで消すことができます。
また、rootユーザーだと権限が強すぎてPalWorldのサーバーが起動できないようになってるので、ユーザーを追加します。
# useradd -m palworld
# passwd palworld
# usermod -aG sudo palworld
# su -
4. コンソールからログイン(palworldユーザー)
steamcmdはすでに入っているので、サーバーのDLからやります。
公式のドキュメントと微妙にパスが違ってます。
一度エラーが出ますが、起動してみます。
$ steamcmd +login anonymous +app_update 2394010 validate +quit
$ cd .steam/SteamApps/common/PalServer/
$ ./PalServer.sh
起動してみるとおそらく `steamclient.so` に関するエラーが発生します。
実際には `steamclient.so` ファイルがあるのですが、パスの問題で読み込めなくなっているようです。
これを解決するために、指定されたパスにファイルをコピーします。
$ mkdir ~/.steam/sdk64/
$ cp ~/.steam/SteamApps/common/PalServer/linux64/steamclient.so ~/.steam/sdk64/
この後 `./PalServer.sh` を起動してみると、`[S_API FAIL]` とかすごくエラーっぽい表示は出ますが、一応サーバーは起動します。
5. uwfによるポート開放
2.で行ったポート開放だけではうまく反映されないようで、uwfでもポート開放の設定が必要になります。
ここまでやると、ゲーム内の専用サーバーのページで、サーバーの詳細画面にあるサーバーのIPアドレスを入れてあげれば接続できるようになります。
$ sudo ufw allow 8211/udp
6. サーバー設定の変更
サーバーのデフォルト設定をコピーして、必要なところを変更します。
$ cd .steam/SteamApps/common/PalServer/
$ cat DefaultPalWorldSettings.ini > ./Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
$ vi ./Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
私はまだ初日で難易度がわからないので、とりあえずServerNameだけ変えました。
7. systemctlへの登録
サーバー再起動時に自動で起動されるように、systemctlに登録します。
(3.でARKのサーバーを止めたのと逆)
$ cd /etc/systemd/system/
$ sudo vi palworld.service
`ark-server.service` を参考に、とりあえず以下のファイルを作成しました。
[Unit]
Description=palworld
After=network-online.target
[Service]
Type=simple
WorkingDirectory=/home/palworld/.steam/SteamApps/common/PalServer/
LimitNOFILE=100000
User=palworld
ExecStartPre=/usr/games/steamcmd +login anonymous +app_update 2394010 validate +quit
ExecStart=/bin/bash -c "./PalServer.sh"
ExecStop=/bin/kill -s INT $MAINPID
Restart=on-failure
RestartSec=30
TimeoutSec=600
[Install]
WantedBy=multi-user.target
ConoHa のコンソールの「テキスト送信」は長い文章だと途中で切れるみたいなので、3行ずつ貼り付けました。
できたらお試し起動とsystemdへの登録を行います。
$ sudo systemctl daemon-reload
$ sudo systemctl start palworld.service
$ sudo systemctl status palworld.service
$ sudo systemctl enable palworld.service
この後再起動してもう一度ログインし `sudo systemctl status palworld.service` を実行してみて、 statusが `active(runnning)` になっていれば成功です。
さいごに
以上がConoHa for GAMEでマルチサーバーを建てる手順になります。
早くサーバーのテンプレートにPalworld追加されないかな。
普段は麻雀の段位戦ばかりやっているVTuberですが、もし麻雀に興味があったらチャンネル登録よろしくお願いします!
この記事が気に入ったらサポートをしてみませんか?