第7回、ゲームサーバーの立て方~運用編~

多分最終回?
LinuxGSMのコマンドの紹介とRconツールの説明になります。

第1回、ゲームサーバーの立て方ー序章ー
第2回、ゲームサーバーの立て方~ルーターは友達?~
第3回、ゲームサーバーの立て方~リモートアクセス~
第4回、ゲームサーバーの立て方~XRDP~
第5回、ゲームサーバーの立て方~ゲームインストール~
第6回、ゲームサーバーの立て方~設定編~
第7回、ゲームサーバーの立て方~運用編~ --now

LinuxGSMのコマンド

とりあえず公式を翻訳機能で翻訳して微調整したものを載せておきます。
ご自身の環境にテキストファイル作ってコピペでもしといてください。
公式を見てもらっても全然かまいません。
Insurgency: Sandstorm | LinuxGSM_

// 基本的な使用法
// すべてのコマンド
// コマンドの完全なリストは、./inssserverと入力すると見つかります。
./inssserver

// 以下は、使用可能な最も一般的なコマンドです。
/* 始める */
./inssserver start

/* ストップ */
./inssserver stop

/* 再起動 */
./inssserver restart

/* コンソール */
/* Consoleを使用すると、サーバーの実行中のライブコンソールを表示したり、コマンドを入力したりできます。サポートされている場合。 */
./inssserver console

// コンソールを終了するには、CTRL+b を押して離した後に dを押します。CTRL+cを押すとサーバーが終了します。

/* 更新
アップデート
Updateは、サーバーの更新をチェックして適用します。サーバーは、必要な場合にのみ更新および再起動します。*/
./inssserver update

// チェックをバイパスして、SteamCMDアップデートに直接進みます。
./inssserver force-update

/* 検証
サーバーを更新するときに、SteamCMD検証オプションを使用できます。*/
./inssserver validate

/* 詳細
パスワード、ポート、構成ファイルなど、サーバーに関するすべての重要で有用な詳細を取得できます。*/
./inssserver details

/* デバッグ
サーバーに問題がある場合は、デバッグモードを使用してください。デバッグを使用すると、サーバーの出力を端末に直接表示できるため、サーバーで発生している可能性のある問題を診断できます。*/
./inssserver debug

/* ログ
サーバーログは、サーバーを監視および診断するために使用できます。スクリプト、コンソール、およびゲームサーバー(利用可能な場合)のログがサーバー用に作成されます。*/
/home/inssserver/logs

/* バックアップ
バックアップを使用すると、サーバー全体の完全なtarbzip2アーカイブを作成できます。*/
./inssserver backup

/* モニター
LinuxGSMは、プロセスが実行されていることを確認してクエリを実行することにより、ゲームサーバーを監視できます。サーバーがオフラインになった場合、LinuxGSMはサーバーを再起動し、アラートを送信できます。cronjobを使用して監視を設定できます。*/
./inssserver monitor

/* cronジョブ
LinuxGSMを自動化するには、cronjobsを使用してスケジュールされたタスクを設定し、任意のコマンドをいつでも実行できます。以下を使用してcrontabを編集できます。*/
crontab -e

// 以下は、推奨されるcronタスクです。
*/5 * * * * /home/inssserver/inssserver monitor > /dev/null 2>&1
*/30 * * * * /home/inssserver/inssserver update > /dev/null 2>&1
0 0 * * 0 /home/inssserver/inssserver update-lgsm > /dev/null 2>&1

// 削除
crontab -r

まぁそんなに難しいことはないので細かい説明は割愛。

crontabはちょっと難しいけど、調べればわかりますし、そのまま書けばいい感じに動きます。
簡単に説明すると、
1行目:5分ごとにモニターコマンドを実行。モニターは動いているかチェックして、動いていなければ起動するコマンド
2行目:30分ごとにSteamCMDのアップデートチェック。アップデートがあれば実行する。
3行目:毎週日曜の0時にLinuxGSMのアップデートチェック

モニターコマンドがある為、サーバーPCを起動してほっとけば自動で立ち上がってきます。(サーバーが立ち上がってから5分ほど)

 

Rconツール

Rconツールというのはリモートでコントロールするツールって意味だと思います。(確証はない)

実際にはアプリでゲームサーバの管理者コントロールを可能にするツールです。
これがあればいちいちゲーム内でアドミンコマンドを打つ必要がなくなり。
誰がログインしているかなどの情報もリアルタイムで分かります。

 

ポート開放

Rcon用のポートを新たに開く必要とパスワードを設定する必要があります。

ポートはデフォルトで27015 TCP/UDP
パスワードは/lgsm/config-lgsm/inssserver/common.cfg で設定します。

rconpassword="xyz"

今回は適当に”xyz”にしておきます。

ポート開放はルーターとサーバーPC両方で行います。
ルーターの設定は以前の設定を参考に自力でやってみてください。

サーバー側は管理者権限がないとポートは弄れないので

su - 「管理者権限があるユーザー名」
sudo ufw allow to 0.0.0.0/0 port 27015
sudo ufw reload
sudo ufw status

1行目:管理者権限があるユーザーに切り替える。
2行目:27015 TCP/UDPのポート開放(IPV4のみ)
3行目:ファイヤーウォールをリロードして追加したルールを有効化
4行目:念のため確認

とします。終わったら「exit」と打って、元の「inssserver」ユーザーに戻すか、
とりあえず端末を閉じてもいいです。

 

ISRT

インサージェンシー専用のRconツールです。
ダウンロードは下記から。

Release ISRT v1.5 - Final Version released · olli-e/ISRT · GitHub

残念ながらISRTは英語以外対応していないため
日本語などのプレイヤー名は文字化けしますが。。。
まぁ個人が開発したツールなんでご容赦を。

それと、ゲーム内でアドミン権限でマップチェンジしようとしても、
管理者コンソールではバニラMapしか変更できませんが、
インサージェンシー用のRconツールはModMapにも対応しています。
新しいModMapの場合でも自分で設定すれば対応もできます。

 

インストール

exe形式のファイルで出来ると思います。
特に何も問題なくインストールできた気がするので説明は割愛。

 

初期設定

上記のように設定する。
サーバーネームはあっていなくても問題なし。
逆に言うとサーバー名が変わってもISRTに反映はされないので注意。

使い方

基本画面ではマップの変更やアドミンコマンド機能が使える。

Server Monitor

運用するときはServer Monitorを出しっぱなしにしておくと、
誰がいるか、ロード中が何人か、サーバーが動いているかなどの情報がリアルタイム(30秒ごとに更新、変更可能)で見れる。

 

ローカルIPアドレスの固定

大事なことを忘れてました!

グローバルIPアドレスなんですが一般のプロバイダ契約の場合、動的IPアドレスとなります。
これは、何かのきっかけでIPアドレスが変更されるものです。

この場合、ISRTの設定をそのたびに変更しなくてはならないので、
ローカルIPアドレスを固定させて、ISRTで使ったほうが多分楽です。
自分の場合は、固定IP契約をしてるので忘れてました!

まず、Ubuntuで設定を開いてネットワークの有線の設定を開く。

下記ウィンドウが開きます。

設定を入れます。

ここで入れるIPアドレスは他とかぶらないようにするか、かぶってしまうほうを変更する必要があります。
というのも、普通の場合DHCPという機能により自動配布されているので、
かぶってしまった場合は接続をオフ・オンすれば勝手に他のIPにしてくれます(自動にしていた場合)

ローカルIPアドレスも同じエリアの場合、
同じIPアドレスが存在すると普通に通信できなくなるので注意です。
この辺、ちゃんと説明すると長いんで、
一番無難なのは今自動で割り振られているIPアドレスに固定することです。

後は、ISRTに登録すれば、とりあえずリモート管理ができます。
但し、インターネットにつながっているかはわからなくなりますので注意です。

以上でゲームサーバーの立て方の説明は終了!
う~ん、思った以上に連載は大変だった。
これでうまく動いてくれるといいな~。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です