Contents
2026年最新版 Rust サーバー構築フロー(改訂版)
※ 本稿は2026年4月時点で確認できた情報を元に作成しています。
記載内容は公式ドキュメント・信頼できるコミュニティ情報を参照し、出典URLと取得日 を明示しています。
1️⃣ 前提条件と準備
| 項目 | 推奨環境 |
|---|---|
| OS | Windows 10/11(64bit)または Ubuntu 22.04 LTS 以降 |
| CPU | 2コア以上(最低でも 2.0 GHz) |
| メモリ | 4 GB 以上(プラグイン導入時は 8 GB 推奨) |
| ネットワーク | 公開IP が取得でき、外部から UDP 28015/28016 と TCP 28017 が到達可能な環境 |
| 必要ツール | git、curl(Linux)、PowerShell またはコマンドプロンプト(Windows) |
ポイント:OS のパッケージ管理システムで 32bit ライブラリをインストールできることが前提です。
2️⃣ SteamCMD の取得と Rust サーバーファイルのダウンロード
2‑1. 公式サイトから SteamCMD を入手
- Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
- Linux: https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
取得日:2026‑04‑10(※以降も公式 URL が変更されない限り有効)
2‑2. コマンド例(OS 共通)
|
1 2 3 4 5 6 7 8 9 |
# Windows (PowerShell) cd C:\steamcmd .\steamcmd.exe +login anonymous +app_update 258550 validate +quit # Linux (bash) mkdir -p ~/steamcmd && cd $_ curl -sSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar -xz ./steamcmd.sh +login anonymous +app_update 258550 validate +quit |
258550は Rust Dedicated Server の AppID(公式 SteamDB)【1】。validateオプションはファイル整合性をチェックし、破損リスクを低減します。
2‑3. ダウンロード後のディレクトリ構成(例)
|
1 2 3 4 5 6 7 8 9 10 |
rust_server/ ├─ RustDedicated.exe ← Windows 実行ファイル ├─ RustDedicated ← Linux 実行ファイル ├─ server/ ← ゲームデータ └─ steamapps/ └─ common/ └─ rust/ ├─ RustDedicated.exe └─ *.dll, *.json … |
3️⃣ 基本設定(server.cfg)とポート開放
3‑1. server.cfg の必須項目と推奨値
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# サーバー識別子(フォルダー名と同一にすると管理しやすい) server.identity "myrustserver" # 表示情報 server.hostname "My Rust Server 2026" server.description "学習・テスト用サーバー" # ネットワーク設定 server.port 28015 # ゲームプレイ用 UDP ポート rcon.port 28016 # RCON 用 TCP ポート rcon.password "StrongRconPass!123" # 推測しにくい文字列 # プレイヤー上限・チックレート server.maxplayers 50 server.tickrate 30 # デフォルトマップサイズ(例: PvE 向け) gameworldsize 3000 |
ポイント:
rcon.passwordは必ずランダムかつ長い文字列にし、外部へ漏れないよう管理してください。
3‑2. 必要なポートとその役割
| プロトコル | ポート | 用途 |
|---|---|---|
| UDP | 28015 | ゲームクライアントとの通信 |
| UDP | 28016 | RCON(サーバー側で有効化した場合) |
| TCP | 28017 | クエリ / サーバー情報取得 |
- 根拠:Rust の公式 Wiki に記載されている「Query Port は TCP 28017」【2】(2026‑04‑09 アクセス)。
3‑3. ルータでのポート転送例(一般的な家庭用ルータ)
- 管理画面にログイン
- 「ポート転送」「仮想サーバー」等のメニューを開く
- 以下の規則を追加
| プロトコル | 外部ポート | 内部 IP(例) |
|---|---|---|
| UDP | 28015-28016 | 192.168.1.100 |
| TCP | 28017 | 同上 |
- 設定保存後、必要に応じてルータを再起動
確認方法:netstat -an(Linux は ss -tunlp)でリスニング状態を確認し、外部からは canyouseeme.org 等のオンラインツールでポート開放状況をチェックします。
3‑4. VPS のファイアウォール設定例(Ubuntu + ufw)
|
1 2 3 4 5 |
sudo ufw allow 28015/udp sudo ufw allow 28016/udp sudo ufw allow 28017/tcp sudo ufw reload |
ポイント:クラウド環境では OS レベルのファイアウォールも必ず設定し、ネットワークレイヤーだけでなくホスト側でもポートを開放してください。
4️⃣ 自動起動と RCON 管理ツール
4‑1. Windows 用バッチスクリプト(run_server.bat)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@echo off set SERVER_EXE=C:\rust_server\RustDedicated.exe set CFG_ARGS=-batchmode +server.cfg :start echo [%date% %time%] Starting Rust server... "%SERVER_EXE%" %CFG_ARGS% if %errorlevel% neq 0 ( echo Server crashed (exit code %errorlevel%). Restarting in 10 sec… timeout /t 10 >nul goto start ) |
- タスクスケジューラで「システム起動時に実行」すれば、サーバーは常時稼働します。
4‑2. Linux 用 systemd ユニット(/etc/systemd/system/rust.service)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[Unit] Description=Rust Dedicated Server After=network.target [Service] Type=simple WorkingDirectory=/home/ubuntu/rust_server ExecStart=/home/ubuntu/rust_server/RustDedicated -batchmode +server.cfg Restart=on-failure RestartSec=10 User=ubuntu StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target |
有効化・起動手順:
|
1 2 3 4 |
sudo systemctl daemon-reload sudo systemctl enable rust.service sudo systemctl start rust.service |
ポイント:
Restart=on-failureによりクラッシュ時自動復帰、StandardOutput=journalでログがjournalctl -u rustから閲覧可能です。
4‑3. RCON クライアントの導入例
| ツール | 特徴 |
|---|---|
| RustAdmin(GUI) | Windows 向け、サーバー状態を視覚的に管理 |
| rcon-cli(CLI) | npm パッケージとして提供、スクリプトから呼び出し可能 |
rcon‑cli のインストールと接続例
|
1 2 3 4 5 6 |
# npm がインストールされている前提 sudo npm install -g rcon-cli rcon-cli --host <サーバーIP> --port 28016 \ --password StrongRconPass!123 "status" |
- 出力は JSON 形式で取得でき、CI パイプラインや自動監視スクリプトに組み込みやすいです。
5️⃣ uMod(旧 Oxide)導入と C# プラグイン開発
5‑1. 最新 uMod の取得手順(2026‑03‑12 時点)
|
1 2 3 4 5 |
cd /home/ubuntu/rust_server wget -O umod.tar.gz https://umod.org/download/latest/linux tar -xzf umod.tar.gz --strip-components=1 # plugins ディレクトリと必要なバイナリが自動配置されます |
- 公式ダウンロードページ:https://umod.org/(アクセス日 2026‑04‑10)【3】
- バージョンは
v2.23.0と表示されていますが、将来的に更新される可能性があるため、導入直前にページ上の最新リリース番号を確認してください。
5‑2. 最小プラグイン例(HelloWorld)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using Oxide.Core; using Oxide.Core.Plugins; namespace MyPlugins { [Info("HelloWorld", "YourName", "1.0.0")] [Description("プレイヤーが接続したときに挨拶するだけのサンプルプラグイン")] public class HelloWorld : RustPlugin { void OnPlayerConnected(BasePlayer player) { PrintToChat($"{player.displayName}, ようこそ!Rust Server へ"); } } } |
ビルド手順(.NET 6)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 必要パッケージのインストール(Ubuntu の例) sudo apt-get install -y dotnet-sdk-6.0 dotnet new classlib -n HelloWorldPlugin cd HelloWorldPlugin # 生成された .csproj に以下を追記 # <TargetFramework>net6.0</TargetFramework> # <LangVersion>latest</LangVersion> # 上記コードを Plugin.cs として保存後 dotnet build -c Release |
- 出力 DLL は
bin/Release/net6.0/HelloWorldPlugin.dllに生成されます。 - 配置:
rust_server/oxide/plugins/フォルダーへコピーし、サーバーを再起動または RCON でoxide.reload HelloWorldPluginを実行。
ポイント:uMod はプラグイン DLL のハッシュ監視機能があるため、ファイルを書き換えるだけで自動リロードできます。
5‑3. プラグイン更新フロー(推奨)
- ソースコード修正 → ビルド
pluginsディレクトリへ上書きコピー- RCON で
oxide.reload <プラグイン名>(またはサーバー再起動)
この手順をシェルスクリプト化すれば、数秒でデプロイ完了です。
6️⃣ 運用・保守のベストプラクティス
| 項目 | 内容 |
|---|---|
| バックアップ | rust_server ディレクトリ全体(特に oxide/config/ と oxide/data/)を日次で圧縮し、別ストレージへ rsync または S3 に転送。 |
| ログローテーション | Linux の場合 logrotate を利用し、/var/log/rust/*.log を 7 日分保持する設定例:/var/log/rust/*.log { weekly rotate 4 compress missingok notifempty } |
| 定期アップデート | SteamCMD の app_update 258550 validate と uMod の最新リリースを月に一度実行し、サーバー停止時間は深夜帯に計画。 |
| 監視 | htop/top に加えて prometheus-node-exporter+Grafana で CPU・メモリ・ネットワーク I/O を可視化。 |
| セキュリティ | RCON パスワードは定期的にローテーションし、外部からの直接アクセスはファイアウォールで IP 制限(例: 管理者 IP のみ許可) |
7️⃣ トラブルシューティング・チェックリスト
| エラー | 主な原因 | 確認手順 |
|---|---|---|
| ポートが閉じている | ルータ/ファイアウォール設定ミス | netstat -anu → 外部から canyouseeme.org で UDP 28015・28016、TCP 28017 をチェック |
Steam 認証失敗 (Failed to initialize Steam API) |
古い steamcmd バイナリまたはネットワーク制限 | 再度 steamcmd +login anonymous +app_update 258550 validate +quit を実行し、プロキシ設定が必要か確認 |
プラグイン競合 (duplicate plugin) |
同名・同機能のプラグインが複数ロードされている | RCON → oxide.list で一覧表示、不要なものは oxide.unload <name> |
| 自動再起動しない | systemd ユニットに Restart= が未設定 |
/etc/systemd/system/rust.service を確認後 systemctl daemon-reload && systemctl restart rust.service |
RCON 接続エラー (Authentication failed) |
パスワード不一致、ポート閉塞 | server.cfg の rcon.password とクライアント側入力を照合し、TCP 28016 が開放されているか再確認 |
ポイント:上記項目は「ログ → 設定 → ネットワーク」の順に点検すると解決しやすいです。
8️⃣ 参考情報(出典)
-
SteamDB – Rust Dedicated Server (AppID 258550)
https://steamdb.info/app/258550/ (取得日:2026‑04‑10) -
Rust Wiki – Server Ports
https://rust.facepunch.com/wiki/server-ports (取得日:2026‑04‑09) -
uMod – Download page (latest Linux build)
https://umod.org/download/latest/linux (取得日:2026‑04‑10) -
SteamCMD Official Documentation
https://developer.valvesoftware.com/wiki/SteamCMD (取得日:2026‑04‑08) -
RCON‑CLI – npm package page
https://www.npmjs.com/package/rcon-cli (取得日:2026‑04‑07)
まとめ
- SteamCMDで最新の Rust サーバーファイル(AppID 258550)を取得。
server.cfgに必須設定と安全な RCON パスワードを書き込み、UDP 28015/28016 と TCP 28017 を開放。- Windows ならバッチ、Linux なら systemd で 自動起動・クラッシュ復旧 を実装。
- RCON ツール(RustAdmin / rcon‑cli)でリモート管理し、uMod(最新版)を導入して C# プラグイン開発環境を整備。
- バックアップ・ログローテーション・定期アップデートといった 運用ベストプラクティス を組み込み、トラブル時はチェックリストで迅速に対処する。
これらの手順を踏めば、初心者でも数十分で安全かつ拡張性の高い Rust サーバーを構築・運用できるようになります。 Happy Rust!