Ubuntu Serverで7 Days to Die Dedicated Serverを運用する場合、私はLinuxGSMを使用しています。
LinuxGSMを使用すると、7DTDサーバーのインストールから起動、停止、再起動、アップデート、バックアップ、監視まで、ほとんどの操作を同じ形式のコマンドで管理する事ができます。
一度構築してしまえば普段使用するコマンドはかなり少なく、複数の7DTDサーバーを管理する場合にも便利です。
LinuxGSMとは
LinuxGSMは、Linux上でゲーム専用サーバーを構築・管理するための管理ツールです。
現在のLinuxGSMではUbuntu 24.04 LTSもサポート対象となっています。
専用ユーザーを作成する
ゲームサーバーをrootユーザーで直接実行する事はおすすめしません。
7DTD専用ユーザーを作成します。
sudo adduser sdtdserver
作成後、ユーザーを切り替えます。
sudo su - sdtdserver
以降のLinuxGSM操作は基本的に、このユーザーで行います。
LinuxGSMをダウンロードする
curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh sdtdserver
正常に完了すると、ホームディレクトリに以下のような実行ファイルが作成されます。
sdtdserver
7DTD Dedicated Serverをインストールする
./sdtdserver install
不足している依存パッケージなどがある場合は、LinuxGSM側から案内が表示されます。
インストール完了後は、通常以下のディレクトリにゲーム本体が配置されます。
/home/sdtdserver/serverfiles/
基本的な操作
サーバー起動
./sdtdserver start
サーバー停止
./sdtdserver stop
サーバー再起動
./sdtdserver restart
私はcronで自動起動・再起動を行っているため普段直接入力する事は少ないですが、メンテナンス時にはよく使用します。
現在の状態を確認する
./sdtdserver details
このコマンドでは以下のような情報をまとめて確認できます。
- サーバー稼働状態
- PID
- IPアドレス
- 使用ポート
- 設定ファイル
- サーバーバージョン
- SteamCMD情報
サーバーに接続できない時は、最初にdetailsを確認すると原因を絞り込みやすいです。
コンソールを直接確認する
./sdtdserver console
ゲームサーバーのコンソールへ接続できます。
終了する時は以下です。
Ctrl + B
↓
D
注意:Ctrl+Cを押すとゲームサーバー自体を終了させる可能性があります。
サーバーをアップデートする
./sdtdserver update
アップデートが存在する場合、SteamCMD経由でサーバーファイルが更新されます。
強制アップデート
./sdtdserver force-update
通常のupdateで正常に更新されない場合などに使用できます。
ゲームファイルを検証する
./sdtdserver validate
ゲームファイルが破損している可能性がある場合に使用します。
MODを直接serverfiles内へ上書きしている場合などは、validateによって元のゲームファイルへ戻される可能性がありますので注意してください。
latest_experimentalを適用する
Experimental版を使用する場合はLinuxGSMの設定を変更します。
設定ディレクトリを開きます。
cd ~/lgsm/config-lgsm/sdtdserver/
私の環境ではcommon.cfgへ設定しています。
nano common.cfg
以下を追加します。
branch="latest_experimental"
保存後、アップデートします。
./sdtdserver update
Experimental版はサーバー本体だけ先に更新すると、クライアントやMODとのバージョンが合わなくなる可能性があります。
本番サーバーでは事前にバックアップを取得する事をおすすめします。
ログを確認する
LinuxGSMのログは通常以下に保存されています。
/home/sdtdserver/logs/
エラーが発生した場合は、サーバーコンソールだけではなくLinuxGSM側のログも確認します。
デバッグモード
./sdtdserver debug
サーバーが起動直後に落ちる場合や、LinuxGSM上では原因が分かりにくい場合に便利です。
バックアップ
./sdtdserver backup
LinuxGSMからサーバー全体のバックアップを作成できます。
ただし、私はこれとは別にワールドデータや設定ファイルも定期的にバックアップする事をおすすめします。
monitorを使用する
./sdtdserver monitor
LinuxGSMはゲームサーバーが正常に稼働しているか確認し、停止している場合に再起動させる監視機能を持っています。
例えば5分ごとに監視する場合です。
crontab -e
*/5 * * * * /home/sdtdserver/sdtdserver monitor > /dev/null 2>&1
私が基本的に使っているコマンド
| 用途 | コマンド |
|---|---|
| 起動 | ./sdtdserver start |
| 停止 | ./sdtdserver stop |
| 再起動 | ./sdtdserver restart |
| 更新 | ./sdtdserver update |
| 状態確認 | ./sdtdserver details |
| コンソール | ./sdtdserver console |
| 監視 | ./sdtdserver monitor |
| 検証 | ./sdtdserver validate |
まとめ
7DTDサーバーをUbuntuで長期間運用する場合、LinuxGSMを使用すると管理がかなり楽になります。
特に複数サーバーを動かす場合は、各サーバーを別Linuxユーザーに分離してLinuxGSMで管理すると、設定ファイル、セーブデータ、プロセスを分けやすくなります。
私は基本的にLinuxGSMでサーバーを構築し、cronやCSMM、独自の監視処理などを組み合わせて運用しています。

コメント
Linuxで立ち上げたことあったけど
GMS使えば楽そうなだ~