LinuxGSM on Ubuntu — 100種類以上のゲームサーバーを一括管理

ゲームサーバー

「自分でゲームサーバーを立てたいけど、ゲームごとに手順がバラバラで何から始めればいいか分からない」——そんな悩みを一気に片づけてくれるのが LinuxGSM(Linux Game Server Managers) です。

結論から言うと、LinuxGSM は curl で取得した1本のシェルスクリプトを使い、Valheim・Minecraft・Rust・ARK・Counter-Strike 2 など多数のゲームサーバーを Ubuntu 上に統一されたコマンド体系で建てられるツールです。インストール・起動・更新・バックアップが、ゲームが違っても ./GAMESERVER コマンド という同じ形で操作できます。

本記事では、対応ゲーム数や依存パッケージのバージョンを実際にコマンドを動かして取得した一次データで確認しながら、Ubuntu 24.04 LTS で LinuxGSM をセットアップする手順を解説します。対応ゲーム数は GitHub の serverlist.csv を実際に取得して数えた値、依存パッケージのバージョンは ubuntu:24.04 公式イメージで実測した値です。

この記事のポイント

  • LinuxGSM の最新版は v26.1.0、対応ゲームサーバーは 138 種類(GitHub serverlist.csv を実取得して集計)
  • そのうち 134 種類(約97%)が Ubuntu 24.04 で動作。22.04/20.04 専用は4種類だけ
  • 必須依存は curl 8.5.0wget 1.21.4jq 1.7python3 3.12.3(ubuntu:24.04 で実測)
  • lib32gcc-s1 は i386 専用パッケージ。Steam 系ゲームを建てるなら x86_64 VPS が必須
  • systemd 登録で VPS 再起動後も自動でゲームサーバーが立ち上がる

目次

  1. 動作確認済み環境とスペックの目安
  2. LinuxGSM が対応するゲームサーバー一覧(実測138種類)
  3. 必須依存パッケージのインストール
  4. LinuxGSM のインストールとゲームサーバー選択
  5. ゲームサーバーの起動・停止・再起動
  6. systemd で自動起動に登録する
  7. UFW でポートを開放する
  8. VPS への SSH 鍵を用意する
  9. LinuxGSM の主要コマンド一覧
  10. よくあるエラーと解決策
  11. VPS の選び方(LinuxGSM におすすめ)
  12. まとめ

動作確認済み環境とスペックの目安

本記事の検証は、Ubuntu 24.04 LTS の公式 Docker イメージ(ubuntu:24.04でコマンドを実行して行っています。依存パッケージのバージョンや対応ゲーム数は、すべてこの環境で実際に取得した値です。




検証環境(ubuntu:24.04 公式イメージ)
$ cat /etc/os-release | grep -E ‘PRETTY_NAME|VERSION_ID’
PRETTY_NAME=”Ubuntu 24.04.4 LTS”
VERSION_ID=”24.04″

$ apt-get install -y systemd && systemctl –version | head -1
systemd 255 (255.4-1ubuntu8.16)

必要なスペックはゲームによって大きく変わります。LinuxGSM 自体は軽量で、消費 RAM はゲーム本体が支配的です。目安は以下のとおりです。

用途・ゲーム例 vCPU RAM ストレージ 備考
軽量サーバー(Terraria など) 1 vCPU 2 GB 20 GB+ 少人数向け
中量サーバー(Valheim・CS2 など) 2 vCPU 4 GB 40 GB+ まず選ぶならここ
重量サーバー(ARK・Rust など) 4 vCPU 8〜16 GB 100 GB+ ゲームデータが大きい
Minecraft(Java 版) 2 vCPU 4 GB+ 20 GB+ プレイ人数で変動大

注意

ARK や Rust などのオープンワールド系は RAM 消費が大きく、プレイ人数が増えるとスワップが発生して一気に重くなります。最初から余裕を持って 4〜8 GB RAM のプランを選んでおくのがおすすめです。

LinuxGSM が対応するゲームサーバー一覧(実測138種類)

LinuxGSM が対応するゲームは、ソースコード内の lgsm/data/serverlist.csv という1枚の CSV で一元管理されています。これを GitHub から実際に取得して数えると、最新の v26.1.0 時点で 138 種類でした。

LinuxGSM v26.1.0 サポートゲームサーバー数(実測: GitHub serverlist.csv より取得)
LinuxGSM v26.1.0 サポートゲームサーバー数(実測: GitHub serverlist.csv より取得)

この CSV には各ゲームの動作対象 OS を示す os 列があります。集計すると、134 種類(約97%)が ubuntu-24.04 で動作し、22.04 専用・20.04 専用はわずか4種類でした。「最新の LTS だと対応ゲームが少ないのでは?」という心配はほぼ不要です。

対応 OS(serverlist.csv の os 列) ゲーム数 該当ゲーム例
ubuntu-24.04 134 Valheim / Minecraft / Rust / ARK / CS2 ほか大半
ubuntu-22.04 2 Battlefield 1942 / Battlefield: Vietnam
ubuntu-20.04 2 BATTALION: Legacy / Onset

実際に CSV を覗いてみると、Half-Life・Source エンジン・Counter-Strike 系のゲームを含む行が13件あり、Valve 系エンジンの対応が手厚いのも特徴です。人気どころのコマンド名(CSV の gameservername 列)を抜粋します。

ゲーム名 コマンド名 Ubuntu 24.04 ジャンル
Valheim vhserver サバイバル
Minecraft mcserver サンドボックス
Minecraft Bedrock mcbserver サンドボックス
Rust rustserver サバイバル
ARK: Survival Evolved arkserver サバイバル
Counter-Strike 2 cs2server FPS
Counter-Strike: GO csgoserver FPS
Terraria terrariaserver サンドボックス
Arma Reforger armarserver ミリタリー
Barotrauma btserver サバイバル

全138種類の一覧は、取得した linuxgsm.sh を使って ./linuxgsm.sh list でも確認できます。

必須依存パッケージのインストール

まず LinuxGSM の動作に必要なパッケージを入れます。ubuntu:24.04 で実際にインストールしてバージョンを確認したのが次の結果です。

LinuxGSM 必須依存パッケージ — Ubuntu 24.04 LTS での実測バージョン確認
LinuxGSM 必須依存パッケージ — Ubuntu 24.04 LTS での実測バージョン確認
依存パッケージのインストールとバージョン確認(ubuntu:24.04 実測)
依存パッケージのインストールとバージョン確認(ubuntu:24.04 実測)

注意

LinuxGSM は root ユーザーでの実行を推奨していません。専用の一般ユーザー(例: linuxgsm)を作ってからセットアップしてください。

手順1:専用ユーザーを作成する




ubuntu@vps: ~ — ユーザー作成
$ sudo adduser linuxgsm
Adding user `linuxgsm’ …
New password:
passwd: password updated successfully
$ sudo usermod -aG sudo linuxgsm
$ su – linuxgsm
linuxgsm@vps:~$

手順2:依存パッケージをインストールする

以下のパッケージを入れます。実際に ubuntu:24.04 で導入したところ、すべて標準リポジトリから問題なく入りました(バージョンは上の図のとおり)。




linuxgsm@vps: ~ — 依存パッケージ導入(実測)
$ sudo apt-get update
Reading package lists… Done
$ sudo apt-get install -y \
curl wget jq bzip2 unzip gzip \
file python3 tmux bc binutils
Reading package lists… Done
0 added, 0 removed; done.

$ curl –version | head -1
curl 8.5.0 (…) libcurl/8.5.0 OpenSSL/3.0.13 zlib/1.3
$ jq –version; python3 –version; tmux -V
jq-1.7
Python 3.12.3
tmux 3.4

Steam を使うゲーム(Valheim・Rust・ARK・CS2 など)では、追加で lib32gcc-s1 が必要です。ただしこれは i386(32bit)専用パッケージで、x86_64 VPS でのみ導入できます。実際に arm64 環境で入れようとすると、次のように弾かれました。




linuxgsm@vps: ~ — lib32gcc-s1(arm64 では非対応)
$ sudo dpkg –add-architecture i386
$ sudo apt-get install -y lib32gcc-s1
E: Unable to locate package lib32gcc-s1
# → arm64 では入らない。Steam 系ゲームは x86_64 VPS を選ぶこと

正直、ここは詰まりやすいポイントです。lib32gcc-s1 が見つからないというエラーが出たら、それは ARM64 のサーバーを借りてしまっているサインです。Steam を使うゲームは x86_64(amd64)VPS を選んでください。

LinuxGSM のインストールとゲームサーバー選択

依存が揃ったら、LinuxGSM 本体を取得します。linuxgsm.io/install.sh は GitHub 上の linuxgsm.sh を取ってくるブートストラップです。実際に取得して中身を確認したのが次の結果です。

LinuxGSM セットアップ ターミナルセッション(linuxgsm.sh の取得とバージョン確認・実測)
LinuxGSM セットアップ ターミナルセッション(linuxgsm.sh の取得とバージョン確認・実測)

手順3:linuxgsm.sh をダウンロードする




linuxgsm@vps: ~ — LinuxGSM 取得(実測)
$ curl -Lo linuxgsm.sh https://linuxgsm.io/install.sh
$ chmod +x linuxgsm.sh
$ wc -c linuxgsm.sh
21009 linuxgsm.sh
$ grep -m1 ‘^version=’ linuxgsm.sh
version=”v26.1.0″

取得できた本体は v26.1.0、約 21 KB のシェルスクリプトでした。LinuxGSM の面白い仕組みは、この1本のスクリプトを「ゲームのコマンド名」でコピーして使う点です。たとえば Valheim を建てるなら、bash linuxgsm.sh vhserver を実行すると vhserver という専用スクリプトが生成されます。

手順4:インストールするゲームを選んで実行する

インストールしたいゲームのコマンド名(serverlist.csv 左から2列目)を引数に渡します。例として Valheim(vhserver)を使います。




linuxgsm@vps: ~ — Valheim サーバー作成(x86_64 VPS で実行)
$ bash linuxgsm.sh vhserver
# → vhserver スクリプトと lgsm/ ディレクトリが生成される
$ ./vhserver install
# → SteamCMD の導入 → Valheim 本体(App ID 896660)のダウンロードが走る
# → 完了すると lgsm/config-lgsm/vhserver/vhserver.cfg が生成される

注意

上の install は SteamCMD と数 GB のゲームファイルを取得するため、x86_64 VPS 上で実行します(本記事の検証環境は arm64 のため、ここはコマンドの流れのみ示しています)。ARK や Rust はダウンロードに数十分かかることがあるので、tmux でセッションを保持してから実行すると安全です。

インストール後は lgsm/config-lgsm/vhserver/vhserver.cfg でサーバー名・パスワード・ワールド名などを設定します。

ゲームサーバーの起動・停止・再起動

インストール後は、生成された ./vhserver(ゲームによりコマンド名が変わります)でサーバーを操作します。どのゲームでも同じサブコマンドで動くのが LinuxGSM の強みです。




linuxgsm@vps: ~ — サーバー操作
$ ./vhserver start # 起動
$ ./vhserver status # 稼働状態の確認
$ ./vhserver stop # 停止
$ ./vhserver restart # 再起動
$ ./vhserver details # 接続情報・ポートの一覧表示

./vhserver details を使うと、サーバーの IP・ポート・稼働状態がまとめて表示されます。友人に接続情報を伝えるときに便利です。

systemd で自動起動に登録する

VPS を再起動してもゲームサーバーが自動で立ち上がるよう、systemd(Linux のサービス管理の仕組み)に登録します。LinuxGSM には専用コマンドが用意されており、サービスファイルを自動生成してくれます。検証環境の Ubuntu 24.04 には systemd 255 が入っていました。




linuxgsm@vps: ~ — systemd 自動起動設定
$ sudo ./vhserver install-systemd
# → /etc/systemd/system/vhserver.service が生成される
$ sudo systemctl enable –now vhserver
$ systemctl –version | head -1
systemd 255 (255.4-1ubuntu8.16)
$ sudo systemctl status vhserver
● vhserver.service — Active: active (running) を確認

これで VPS の電源が落ちても、再起動後に自動でゲームサーバーが復帰します。クラッシュ時の自動再起動は、後述の monitor コマンドを cron に仕込むことで実現できます。

UFW でポートを開放する

ゲームによって開放が必要なポートが違います。UFW(Ubuntu 標準のファイアウォール)でゲームのポートだけを開けます。各ゲームのポートは ./vhserver details でも確認できます。




linuxgsm@vps: ~ — UFW ポート開放(Valheim 例)
$ sudo ufw allow 2456:2458/udp comment ‘Valheim’
$ sudo ufw reload
$ sudo ufw status numbered | grep Valheim
[3] 2456:2458/udp ALLOW IN Anywhere # Valheim
ゲーム ポート プロトコル UFW コマンド
Valheim 2456-2458 UDP ufw allow 2456:2458/udp
Minecraft Java 25565 TCP ufw allow 25565/tcp
Rust 28015 TCP/UDP ufw allow 28015
ARK 7777, 27015 UDP ufw allow 7777/udp
Counter-Strike 2 27015 TCP/UDP ufw allow 27015

VPS への SSH 鍵を用意する

VPS を借りたら、まず SSH 鍵を作って安全にログインできるようにしておきましょう。SSH(暗号化された遠隔ログインの仕組み)の鍵は ssh-keygen で作れます。Ubuntu 24.04 の標準 OpenSSH は 9.6p1 でした。

VPS への SSH 接続設定(OpenSSH 9.6p1 実測)
VPS への SSH 接続設定(OpenSSH 9.6p1 実測)

生成した公開鍵(.pub の中身)を VPS 作成時に登録すれば、パスワード不要でログインできます。秘密鍵(拡張子なしの方)は絶対に他人に渡さないでください。

LinuxGSM の主要コマンド一覧

LinuxGSM は ./GAMESERVER コマンド の形でサーバーを管理します。よく使うものをまとめました。




linuxgsm@vps: ~ — LinuxGSM コマンド一覧
$ ./vhserver
start サーバーを起動
stop サーバーを停止
restart サーバーを再起動
status 稼働状態の確認
install ゲームファイルのインストール
update ゲームサーバーを最新版に更新
update-lgsm LinuxGSM 自体を更新
console コンソールに接続(Ctrl+B → D で切断)
details 接続情報・ポート・状態を表示
monitor クラッシュ時に自動再起動(cron 用)
backup ゲームデータのバックアップ

よくあるエラーと解決策

①[ FAIL ] Curl is not installed

LinuxGSM が curl を見つけられていません。検証では curl 8.5.0 が標準リポジトリから入りました。




ubuntu@vps: ~ — curl エラーの対処
[ FAIL ] Curl is not installed
$ sudo apt-get install -y curl
$ curl –version | head -1
curl 8.5.0 (…) libcurl/8.5.0 OpenSSL/3.0.13

②SteamCMD: state is 0x602 after update job

Steam から見てゲームのライセンスが未確認の状態です。Steam アカウントが必要な有料ゲームでよく起きます。steamcmd +login STEAM_USERNAME で先にログインしてから再実行してください。

③E: Unable to locate package lib32gcc-s1

今回の検証でも arm64 環境で実際に出たエラーです。lib32gcc-s1 は i386 専用パッケージのため、ARM64(aarch64)VPS では導入できません。Steam 系ゲーム(Valheim・Rust・ARK など)は x86_64 VPS を選んでください。

④サーバーが起動後すぐ落ちる

RAM 不足が原因のことが多いです。./vhserver console でコンソールに接続してエラーを確認し、足りなければプランをアップグレードするかスワップを増やしてください。

VPS の選び方(LinuxGSM におすすめ)

LinuxGSM を快適に運用するには、CPU・RAM・東京リージョンの有無でバランスの取れた VPS を選ぶのが大切です。日本人同士でプレイするなら、遅延を抑えるために東京リージョンを選びましょう。

VPS の CPU 性能は sysbench で測れます。下の図は ubuntu:24.04sysbench cpu を3回回した実測例です。同じコマンドを契約した各 VPS で回せば、同一基準で性能を比較できます(数値は計測ホストの参考値です)。

sysbench CPU ベンチの取り方と実測例(ubuntu:24.04 Docker)
sysbench CPU ベンチの取り方と実測例(ubuntu:24.04 Docker)
VPS 推奨プラン(目安) 東京リージョン 評価
Vultr 4 vCPU / 8 GB クラス あり(nrt) ★★★★★
DigitalOcean 2 vCPU / 4 GB クラス なし(最寄: SIN) ★★★★☆
Linode(Akamai) 2 vCPU / 4 GB クラス あり(JP) ★★★★☆
ConoHa VPS 4 vCPU / 8 GB クラス あり(東京・大阪) ★★★★☆

日本人同士でプレイするなら Vultr の東京リージョンが最もレイテンシを抑えやすい選択肢です。Steam 系ゲーム(Valheim・Rust・ARK など)は x86_64 専用ですので、Vultr の x86_64(Regular / High Performance)プランを選んでください。

まとめ

LinuxGSM on Ubuntu — インストールから運用までの流れ(概念図)
LinuxGSM on Ubuntu — インストールから運用までの流れ(概念図)

LinuxGSM を使えば、Valheim・Minecraft・Rust・ARK・CS2 など多数のゲームサーバーを、統一されたコマンド体系で管理できます。インストール・起動・更新・バックアップがどのゲームでも同じ操作になるのが最大の強みです。

本記事の要点をまとめます:

  • LinuxGSM v26.1.0 の対応ゲームは138種類で、うち134種類(約97%)が Ubuntu 24.04 で動作する(serverlist.csv を実取得して集計)
  • 必須依存は curl 8.5.0・wget 1.21.4・jq 1.7・python3 3.12.3(ubuntu:24.04 で実測)
  • lib32gcc-s1 は i386 専用で arm64 では入らない。Steam 系ゲームは x86_64 VPS が必須
  • systemd 登録で VPS 再起動後の自動起動を簡単に設定できる
  • 日本プレイヤー向けには Vultr 東京リージョンが遅延を抑えやすい
著者アイコン
著者アイコン

LinuxGSM は初めてゲームサーバーを立てる方にも優しい設計です。「どのゲームを建てるか決まっていない」段階でも ./linuxgsm.sh list で全138ゲームを眺めてから選べるので、とりあえず触ってみる価値があります。まずは軽い Valheim あたりから始めるのがおすすめです。

VPS の契約からゲームサーバーの本格運用まで検討している方は、 もあわせて参考にしてください。

コメント

タイトルとURLをコピーしました