第5回、ゲームサーバーの立て方~ゲームインストール~
さて、ようやく本編です。
ゲームサーバーをインストールします。
第1回、ゲームサーバーの立て方ー序章ー
第2回、ゲームサーバーの立て方~ルーターは友達?~
第3回、ゲームサーバーの立て方~リモートアクセス~
第4回、ゲームサーバーの立て方~XRDP~
第5回、ゲームサーバーの立て方~ゲームインストール~ --now
第6回、ゲームサーバーの立て方~設定編~
第7回、ゲームサーバーの立て方~運用編~
LinuxGSM(LinuxGameServerManagers)
というわけで、お勧めのLinuxGSMを使ったインストール方法の説明です。
参考:Insurgency: Sandstorm | LinuxGSM_
もちろんSteamCMDだけでのインストールでもいいんですが、
それだけだと運用するときにひと手間かかるのでこちらをお勧めしています。
というのも起動スクリプトが必要なのと、コンソール(端末)を占有してしまうからです。
GUIがあるなら多分ウィンドウを別で起動できるんですが、誤ってコンソールを閉じるとゲームサーバーも終了してしまいます。
自動起動させるのもひと手間必要なので。
まぁ、SteamCMDだけでやってみるのもいいと思います。
ネットで情報は転がっているので。
ちなみにLinuxGSMでも結局はSteamCMDでインストールしていますが、スクリプトなどのテンプレートが準備されるので楽だって事です。
事前インストール(Ubuntu22.04)
まずは先に必要になるパッケージをインストールします。
Insurgency: Sandstorm | LinuxGSM_
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 lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd
途中、SteamCMDライセンス規約が表示されるのでESCキーを押して「I agree」を選択する。
ゲームサーバーインストール
下記コマンド1行ずつ入れる。
adduser inssserver
su - inssserver
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh inssserver
./inssserver install
1行目:ゲームサーバー用のユーザーを作成。例として「inssserver」。パスワードを聞かれるので好きなパスを入力する、簡単なパスの場合警告が出るが無視してもう一度入力すれば登録できる。
2行目:「inssserver」ユーザー&「inssserver」homeフォルダに切り替える。
3行目:「linuxgsm」のスクリプトをダウンロード
4行目:ゲームサーバー本体のインストール
途中、インストール先や本当にインストールしていいか?匿名情報の許可を聞かれるが[y]を入力してエンターで問題ない。
ここまでで、インストールは完了!
初期設定
このまま起動すると「LinuxGSM Server」のサーバー名で起動して、
デフォルトルールのPVPモードで起動しますが、とりあえずサーバー名だけ変えておこうと思います。
参考:LinuxGSM Config - LinuxGSM_
まず、一度リモートデスクトップからログアウトします。
もう一度リモートデスクトップから先ほど作った「inssserver」でログインします。
GUIでファルダを開いて下記ファイルを開いて編集。
/home/inssserver/lgsm/config-lgsm/inssserver/_default.cfg
このファイルが起動スクリプトのデフォルトテンプレートなので中身をコピーして
/home/inssserver/lgsm/config-lgsm/inssserver/common.cfg
に上書きします。
全てコピーしてもいいんですが、とりあえず最初に必要なものだけ
一応例を載せときます。
##################################
######## Common Settings #########
##################################
# PLACE GLOBAL SETTINGS HERE
## These settings will apply to all instances.
stats="on"
#### Game Server Settings ####
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
port="27102"
queryport="27131"
rconport="27015"
rconpassword=""
servername="SMGTEST Server"
defaultmap="Canyon"
defaultscenario="Scenario_Crossing_Push_Security"
maxplayers="28"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
## Parameter Docs | https://sandstorm-support.newworldinteractive.com/hc/en-us/articles/360049211072-Server-Admin-Guide
startparameters="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers} -Port=${port} -QueryPort=${queryport} -hostname='${servername}' -Rcon -RconPassword=${rconpassword} -RconListenPort=${rconport} -log"
servername="SMGTEST Server"
これがサーバー名なので好きな名前に変更してください。
ここでポートを指定したりもできます。
rconport というのは後で説明するので今は無視で。
./inssserver start
上記コマンドでゲームサーバーが起動します。
まだ、ルーターのポートを開いていなければローカルでのみアクセスできるので、
まずはローカルで入ってみます。
ローカルアクセステスト
クライアントPCで(Windows)でインサージェンシーを立ち上げて
「コミュニティーサーバー」から「IPアドレスに接続」をクリック。
サーバーPCのIPとポートを入力する。
今までの流れでいうと
「192.168.11.2:27102」
と入力。パスワードは入力せずエンターで行けるはず。
で後は、ルーターのポートを開けばいいと思いきや、
多分そのままだとコミュニティサーバーのリストに表示されないはずなので、次回説明します。
ルーターのポートを開いて、グローバルIPが分かるなら
グローバルIP+port番号で「IPアドレスに接続」でならつながるはずです。
もしこっそりサーバーを開けたいときは有効かも。。。
停止は下記コマンドで
./inssserver stop
次回は本設定