LinuxGSMで7 Days to Die Dedicated Serverを構築・管理する方法【Ubuntu Server】

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、独自の監視処理などを組み合わせて運用しています。

参考資料

コメント

  1. steam_76561198376948699 より:

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