Rust(ゲーム)専用サーバー on Ubuntu — Oxide Mod対応の構築手順

ゲームサーバー

この記事のポイント

  • Ubuntu 24.04 では dpkg --add-architecture i386 を先に実行しないと SteamCMD が候補なし(Candidate: (none))になる
  • SteamCMD でダウンロードした Rust サーバーバイナリは RustDedicated。起動フラグで最大プレイヤー数・ワールドサイズを設定する
  • Oxide Mod(uMod)を入れることで C# プラグインが使えるようになり、荒らし対策・管理ツールの幅が広がる
  • 50 人規模なら Vultr 東京リージョン(nrt)の 4 vCPU / 8 GB RAM / $40 プランが実用的(Vultr API 実取得 2026-06-21)
  • systemd に登録すると VPS 再起動後も自動でサーバーが立ち上がる

Ubuntu 24.04 LTS に Rust(Facepunch Studios のゲーム)の専用サーバーを立てた手順をまとめます。

他の記事でよく見るつまずきポイントが「SteamCMD が入らない」でした。Ubuntu 24.04 では multiverse を有効にするだけでは不十分で、i386 アーキテクチャを先に追加する必要があります。この点を実際に Docker コンテナで確認してから手順を書いています。

Oxide Mod 対応の構成まで含めて、VPS を借りたところから動かせる状態まで通しで説明します。

動作確認済み環境

Ubuntu 24.04 LTS(Noble Numbat)/ SteamCMD 0~20180105-5(i386)/ Oxide Mod(uMod)/ 検証日:2026-06-21

目次

  1. VPS を選ぶ — Rust サーバーに必要なスペック
  2. Ubuntu 初期設定と専用ユーザー作成
  3. SteamCMD のインストール(i386 が必要)
  4. Rust 専用サーバーのダウンロードと起動
  5. ファイアウォール(ufw)とポート設定
  6. Oxide Mod(uMod)のインストール
  7. systemd で自動起動
  8. よくあるエラーと解決策
  9. まとめ

VPS を選ぶ — Rust サーバーに必要なスペック

Rust の専用サーバーはメモリを大量に消費します。10 人以下の身内サーバーでも最低 4 GB RAM は必要で、50 人規模になると 8 GB 以上が実用的です。CPU は単体コア性能が効くためスレッド数より周波数を優先したいところですが、VPS では選択の余地が少ないので vCPU 数で判断します。

下の表は Vultr の公開 API(api.vultr.com/v2/plans)から 2026-06-21 に実際に取得したプラン情報に、ConoHa VPS・DigitalOcean の公式サイト確認情報を加えたものです。

Rust ゲームサーバー向け VPS 料金比較(Vultr API 実取得 2026-06-21)
Rust ゲームサーバー向け VPS 料金比較(Vultr API 実取得 2026-06-21)

日本国内のプレイヤーをターゲットにするなら東京リージョンがある Vultr・ConoHa・Linode(Akamai)が選択肢に入ります。このサイトでは Vultr をメインに検証しています。

Ubuntu 初期設定と専用ユーザー作成

VPS を起動したら root でログインし、サーバー専用のユーザーを作成します。root で Steam を動かすのは推奨されていないため、専用ユーザー steam を用意します。




root@vps: ~
$ adduser steam
Adding user ‘steam’ …
New password: (パスワードを設定)
$ usermod -aG sudo steam
$ su – steam
steam@vps:~$

SSH 鍵認証を使う場合は Ed25519 鍵が現在のベストプラクティスです。Ubuntu 24.04 同梱の OpenSSH 9.6p1 で生成しています。




ローカル PC: ~
$ ssh-keygen -t ed25519 -C “rust-server@vps”
Generating public/private ed25519 key pair.
Your identification has been saved in /tmp/rust_key
SHA256:pGhbX62sKPywyRzZRlH4940ZlQCej0KK+6D6x0Ubgvw rust-server@vps (ED25519)

SteamCMD のインストール(i386 が必要)

ここが 最もつまずきやすいポイントです。Ubuntu 24.04 では multiverse が有効でも、apt-cache policy steamcmd を叩くと Candidate: (none) と表示されます。理由は steamcmd が 32 ビット(i386)パッケージのため、先にアーキテクチャを追加しないとリポジトリに見えないからです。

実際に Docker の ubuntu:24.04 コンテナで確認した手順がこちらです。

SteamCMD インストール実測ログ(i386追加後に Candidate: 0~20180105-5 が現れる)
SteamCMD インストール実測ログ(i386追加後に Candidate: 0~20180105-5 が現れる)



steam@vps: ~
$ sudo dpkg –add-architecture i386
$ sudo apt-get update
$ sudo apt-get install -y steamcmd
The following NEW packages will be installed:
gcc-14-base:i386 libc6:i386 libgcc-s1:i386 libstdc++6:i386 steamcmd:i386
Setting up steamcmd:i386 (0~20180105-5) …
$ which steamcmd
/usr/games/steamcmd

注意 — SteamCMD のライセンス同意

インストール中に Steam のライセンス同意ダイアログが出ることがあります。DEBIAN_FRONTEND=noninteractive を付けるとスキップできますが、CI環境以外では同意内容を一度確認することを推奨します。

インストールされた steamcmd/usr/games/steamcmd に置かれます。初回起動時に SteamCMD 本体のアップデートが走るため、数十秒かかります。




steam@vps: ~
$ steamcmd +quit
Redirecting stderr to ‘~/.local/share/Steam/logs/stderr.txt’
[ 0%] Checking for available update…
[—-] Downloading update (0 of 40276 KB)…
Steam Console Client (c) Valve Corporation
Redirecting stderr to ‘~/.local/share/Steam/logs/stderr.txt’
Steam> quit

Rust 専用サーバーのダウンロードと起動

SteamCMD を使って Rust の専用サーバーバイナリ(App ID: 258550)をダウンロードします。約 7 GB あるため、回線速度によっては 10〜20 分かかります。




steam@vps: ~
$ mkdir -p ~/rust_server
$ steamcmd +force_install_dir ~/rust_server \
+login anonymous \
+app_update 258550 validate \
+quit
Update state (0x61) downloading, progress: 12.45 (783.21 / 6291.54) MB
Update state (0x61) downloading, progress: 43.20 (2717.87 / 6291.54) MB
Success! App ‘258550’ fully installed.

ダウンロードが完了すると ~/rust_server/RustDedicated が生成されます。初回起動を試してみます(Ctrl+C で終了)。




steam@vps: ~/rust_server
$ ./RustDedicated \
-batchmode -nographics \
-server.ip 0.0.0.0 \
-server.port 28015 \
-server.queryport 28016 \
-server.rconport 28017 \
-server.maxplayers 50 \
-server.worldsize 3000 \
-server.seed 12345 \
-server.servername “My Rust Server”

Server startup complete

起動時間について

-server.worldsize 3000(デフォルト)のマップ生成には初回 3〜5 分かかります。worldsize 2000 にすると短縮できますが、探索可能なエリアが狭くなります。

主要な起動フラグ一覧

フラグ 説明 デフォルト / 推奨値
-server.port ゲーム接続ポート(UDP) 28015
-server.queryport Steam サーバーリスト用クエリポート 28016
-server.rconport RCON リモート管理ポート 28017
-server.maxplayers 最大同時接続プレイヤー数 50(8GB RAM なら安定)
-server.worldsize マップサイズ(1000〜6000) 3000(バランス良)
-server.seed マップ生成シード値(固定マップ用) 任意の整数

ファイアウォール(ufw)とポート設定

Rust サーバーのポート設定と ufw コマンド
Rust サーバーのポート設定と ufw コマンド



steam@vps: ~
$ sudo ufw allow 22/tcp
$ sudo ufw allow 28015/udp
$ sudo ufw allow 28016
$ sudo ufw allow 28017/tcp
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active
To Action From
— —— —-
22/tcp ALLOW Anywhere
28015/udp ALLOW Anywhere
28016 ALLOW Anywhere
28017/tcp ALLOW Anywhere

注意 — SSH を閉じないこと

ufw enable の前に必ず ufw allow 22/tcp を実行してください。順番を間違えると SSH が切断されて VPS にアクセスできなくなります。SSH ポートを変更している場合はそのポート番号を指定してください。

RCON ポート(28017)は管理者だけが使うポートです。本番運用では特定の IP からのみ許可することを推奨します。




steam@vps: ~
$ sudo ufw delete allow 28017/tcp
$ sudo ufw allow from 203.0.113.10 to any port 28017
# 203.0.113.10 は自分の管理 IP に置き換える

Oxide Mod(uMod)のインストール

Oxide Mod(現在は uMod に統合)を入れると C# で書かれたプラグインが動くようになります。荒らし対策の NoEscape、管理ツールの AdminPanel、経済システムの Economics など豊富なプラグインが公開されています。

インストール手順は、Rust サーバーが一度でも起動済みの状態から行います。




steam@vps: ~/rust_server
$ cd ~/rust_server
$ wget https://umod.org/games/rust/download -O oxide-rust.zip
–2026-06-21 12:34:56– https://umod.org/games/rust/download
Saving to: ‘oxide-rust.zip’
oxide-rust.zip 100%[===========>] 12.5M 1.23MB/s in 10s
$ unzip -o oxide-rust.zip
inflating: RustDedicated_Data/Managed/Oxide.Core.dll
inflating: RustDedicated_Data/Managed/Oxide.Rust.dll

$ ls oxide/
config/ data/ logs/ plugins/

プラグインは ~/rust_server/oxide/plugins/ ディレクトリに .cs ファイルを置くだけで、サーバー再起動後に自動でコンパイル・ロードされます。

著者アイコン
著者アイコン

Oxide を入れると起動時間が少し増えます。プラグインを 20 個以上入れると起動に 2 分近くかかることもありました。プラグインの数は必要最小限に絞っておくのが無難です。

systemd で自動起動

VPS が再起動されたとき、手動で Rust サーバーを立ち上げ直すのは面倒です。systemd にサービスとして登録しておけば、OS 起動後に自動で Rust サーバーも立ち上がります。

下の構成ファイルは Ubuntu 24.04 の Docker コンテナ内で生成・構文検証したものです。

Rust サーバーの systemd サービスファイル(ubuntu:24.04 実構成)
Rust サーバーの systemd サービスファイル(ubuntu:24.04 実構成)



steam@vps: ~
$ sudo nano /etc/systemd/system/rust-server.service

以下の内容を貼り付けて保存します(server.servernameserver.rconpassword は必ず変更してください)。

[Unit]
Description=Rust Dedicated Game Server
After=network.target

[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/rust_server
ExecStart=/home/steam/rust_server/RustDedicated \
  -batchmode \
  -nographics \
  -server.ip 0.0.0.0 \
  -server.port 28015 \
  -server.queryport 28016 \
  -server.rconport 28017 \
  -server.rconpassword "YourStrongPassword" \
  -server.maxplayers 50 \
  -server.worldsize 3000 \
  -server.seed 12345 \
  -server.servername "My Rust Server" \
  -server.description "Ubuntu 24.04 / Oxide Mod 対応"
Restart=always
RestartSec=15
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target



steam@vps: ~
$ sudo systemctl daemon-reload
$ sudo systemctl enable rust-server
Created symlink /etc/systemd/system/multi-user.target.wants/rust-server.service
$ sudo systemctl start rust-server
$ sudo systemctl status rust-server
● rust-server.service – Rust Dedicated Game Server
Loaded: loaded (/etc/systemd/system/rust-server.service; enabled)
Active: active (running)
$ sudo journalctl -u rust-server -f
# Ctrl+C でフォローモードを抜ける

よくあるエラーと解決策

①「Candidate: (none)」と表示されて steamcmd が入らない

dpkg --add-architecture i386 を実行してから apt-get updateapt-get install steamcmd をやり直してください。multiverse が有効でも i386 アーキテクチャを追加しないと 32 ビットパッケージは見えません(Ubuntu 24.04 で実際に確認)。

②「libstdc++6:i386 が見つからない」エラー

apt-get install -y lib32stdc++6 lib32gcc-s1 で依存ライブラリを追加してください。steamcmd パッケージ自体が依存している場合は apt-get install -y steamcmd で一括インストールされるはずです。

③ RustDedicated が Segmentation fault で落ちる

RAM 不足が主な原因です。-server.maxplayers を減らすか、プランをアップグレードしてください。free -h でメモリの空き状況を確認し、スワップが 100% 使われている場合はほぼ間違いなくメモリ不足です。

④ Steam サーバーリストにサーバーが表示されない

28016(クエリポート)の UDP が解放されているか確認してください。sudo ufw status でルールを確認し、なければ sudo ufw allow 28016 を追加します。

⑤ Oxide Mod が読み込まれない

サーバー起動後の journalctl -u rust-serverLoaded plugin: ... が出ているか確認します。プラグインファイルが oxide/plugins/ 内に正しく置かれていれば、起動時に自動でコンパイルされます。コンパイルエラーがある場合は oxide/logs/ にエラーが記録されます。

参考:サーバー性能(sysbench 実測)

VPS 選びの参考として、手元の検証環境(Docker ubuntu:24.04)で sysbench CPU テストを 3 回実行した結果を載せておきます。

sysbench CPU ベンチマーク 3 回実測(4 スレッド、Docker ubuntu:24.04)
sysbench CPU ベンチマーク 3 回実測(4 スレッド、Docker ubuntu:24.04)

docker コンテナ上での計測のため VPS 実機の値とは異なりますが、Rust サーバーの要件(重い物理シミュレーション)を考えると、sysbench で 10,000 events/sec 以上のプランを選ぶのが目安になります。

まとめ

Ubuntu 24.04 に Rust 専用サーバーを立てるときのポイントをまとめます。

  • dpkg --add-architecture i386apt-get updateapt-get install steamcmd の順が正しい(逆にすると Candidate: none になる)
  • SteamCMD でインストールされた Rust サーバー(App ID: 258550)の本体は RustDedicated
  • ufw で 28015/UDP(ゲーム)、28016(クエリ)、28017/TCP(RCON)を開放する
  • Oxide Mod は ~/rust_server/ に zip を展開するだけで有効になる
  • systemd に登録しておくと OS 再起動後も自動で復帰する
  • 50 人規模なら Vultr 東京の 4 vCPU / 8 GB プラン($40/月)が現実的な選択肢

自分の環境では最初に i386 の手順を見落として 30 分ほど詰まりました。同じ轍を踏まないように最初に書いた次第です。

VPS を選ぶときの参考記事

コメント

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