1
1

AWSにLinux GSMを使ってPalworldを構築しGSAで管理

Last updated at Posted at 2024-02-05

AWS(Amazon Web Services)にLinux GSM(Game Server Managers)を使ってPalworldを構築したうえで、GSA(Game Server App)で管理してみた。

概要

まず、料金に関して、立てっぱなしが前提なら、ConohaX ServerなどのVPSのほうが安上がりであり、Conohaであれば16GBプランが割引込で9,430円/月となっている。私としては月約1万を少々お高く感じたので、ゲームをプレイするときだけサーバを上げる運用を前提として、AWSを選定した。
次に、構築に関してはLinux GSM(Game Server Manager)を利用した。ゲームサーバの構築・運用を楽に行えるようにするためのツール。構築やアップデートなど、面倒な処理はすべて半自動でやってくれる。
加えて、GSM推奨のGSAというWebサービスも利用した。ゲーム内の情報をわかり易く表示してくれたり、Discordとの連携機能を提供してくれたり、なかなか使えるサービスだ。Palworldで公式に提供されている、RCON(Remote Console)というAPI(?)を用いて実現されており、ゲームの外から、ゲーム内の情報を取得したり、ゲームの設定を変更したりできる仕組み。RCON自体は一般的な概念らしい、実装はゲームによってまちまちらしいが。

AWS設定

インスタンス選定

メモリ16GBは必要との公式情報をもとに、どのインスタンスタイプが良いか調べた結果、「m7a.xlarge」を選定。オンデマンド料金を見ると「USD 0.23184/h」なので、こまめに電源OFFする前提での運用を想定し、3,441円/月=34.41円/h*5h*20dayと見積もった。加えて、電源OFF時に少額の維持費がかかる。

OS

今回はLinux GSMで構築する前提なので、サポートされている「Ubuntu 20.04 LTS」を選定。

セキュリティグループ

インバウンドに「UDP8211(ゲームプレイ用のデフォルトポート)」と「TCP25575(後述するGSAから接続するためのRCONデフォルトポート)」を開放する。
image.png

ElasticIP

このままだと起動し直すたびにIPアドレスが変わるので、ElasticIPを払い出ししてサーバに割り当てる。お値段は0.005 USD/hとのことなので、530円/月ほど。

サーバ構築

Linux GSMで構築

基本は下記手順に則って実施する。抜粋しておくが、変わる可能性があるので、原典を当たっていただきたい。

AWSにおけるUbuntuインスタンスで、SSH可能なデフォルトユーザはubuntuです。

  1. まずはUbuntuのパッケージを全体的にアップデート
    1. apt update
    2. apt upgrade
  2. Dependenciesから必要なパッケージをインストール(詳細は上記リンク参照)
    sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd
  3. Install からゲームをインストール(詳細は上記リンク参照)
    1. adduser pwserver
    2. su - pwserver
    3. curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh pwserver
    4. ./pwserver install
  4. Basic Usageを読んで使い方を理解

GSA(Game Server App)にRCONで接続

GSAに登録する。ちなみに、AWSで固定IPを割り付けていない場合、起動し直すたびに毎回IPアドレスが変わるので、設定し直しが大変というオチ。

PalWorldSettings.iniを編集

まずは、PalworldのRCONを有効化する。./pwserver details | grep Configを実行すると設定ファイルの場所がわかるので、vi /home/pwserver/serverfiles/Pal/Saved/Config/LinuxServer/PalWorldSettings.iniで編集する。AdminPasswordに任意の文字列を設定し、RCONEnabled=Trueとすれば良い。

PalWorldSettings.ini
ServerDescription="",AdminPassword="任意の文字列",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=True,RCONPort=25575,Region=""

./pwserver stopでPalworldを止めた状態で編集すること。そうしないと、設定が巻き戻る。

GSAでRconConnect設定

Connect Rcon ConnectからServer IPRCON portRCON password(AdminPassword)を設定する。Query portは使っていないのか、何でも良かった。

GSAでDediConnect設定

SSH設定をしてやることで、サーバ自体をいじくれるようにもなるらしい。軽くやってみた感じ、rootでのSSHを許容しなければならなさそうだった。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1