友達と一緒にRustをやりたいけど、既存のサーバーはPvPが激しすぎる。自分のペースで遊べる環境が欲しい。そう思って調べてみると「ローカルサーバーを立てればいい」とわかるんだけど、手順を見て「なんか難しそう…」と感じた人も多いはず。
この記事では、SteamCMDを使ってWindowsにRustの専用サーバーを構築する手順を、初めての人でも迷わないように解説する。コマンドの意味もちゃんと説明するので、何をやっているかわからないままコピペするだけ、みたいな状態にならずに済むはずだ。
必要なスペックと事前確認
まず、ローカルサーバーを動かすには相応のPCスペックが必要になる。自分でプレイしながらサーバーも動かすとなると、かなりのリソースを消費する。
| 項目 | 最低スペック | 推奨スペック |
|---|---|---|
| CPU | 4コア以上 | 8コア以上(Core i7 / Ryzen 7) |
| RAM | 16GB | 32GB |
| ストレージ | 20GB 空き(HDD) | 30GB 以上(SSD推奨) |
| OS | Windows 10 64bit | Windows 10/11 64bit |
サーバーのワールドサイズを大きくするほどメモリを食う。マップサイズ3000なら最低16GBあれば動くが、友達も接続するなら32GBは欲しい。
SteamCMDのインストール
SteamCMDは、Steamのゲームをサーバー用に管理するためのコマンドラインツールだ。Rustの専用サーバーファイルはSteamCMD経由でダウンロードする。
ダウンロードと配置
- SteamCMD公式ページ からZIPファイルをダウンロードする
C:\steamcmd\というフォルダを作成して、中にあるsteamcmd.exeを置く
C:\steamcmd\
└── steamcmd.exe
フォルダの場所はどこでもいいが、C:\steamcmd\ にしておくと後でコマンドを書くときに楽になる。
初回起動と自動アップデート
steamcmd.exe をダブルクリックすると黒いウィンドウが開いて、自動的にSteamCMD本体のアップデートが始まる。数分待てば Steam> というプロンプトが表示されるはずだ。
これでSteamCMDの準備は完了。
Rustサーバーファイルのダウンロード
SteamCMDのプロンプト(Steam>)が出たら、以下のコマンドを順番に実行していく。
force_install_dir C:\rustserver\
サーバーファイルをインストールする場所を指定する。C:\rustserver\ 以外の場所でもいいが、スペースを含むパスは後でトラブルの元になりやすい。
login anonymous
Rustの専用サーバーファイルは、Steamアカウントなしでダウンロードできる。Login Successful と表示されれば成功。
app_update 258550 validate
258550 がRust専用サーバーのApp IDだ。validate をつけることでダウンロード後にファイルの整合性チェックも行ってくれる。初回は10〜20GB程度のダウンロードが走るので、回線速度によっては時間がかかる。
exit
ダウンロードが完了したらSteamCMDを終了する。C:\rustserver\ にファイルが展開されていれば成功だ。
起動バッチファイルの作成
毎回手打ちでコマンドを入力するのは面倒なので、バッチファイルを作って管理する。
C:\rustserver\ の中に start_server.bat という名前でテキストファイルを作成し、以下の内容を書き込む。拡張子が .bat になっていることを確認してから保存すること(.bat.txt になっていないか要注意)。
@echo off
cd /d C:\rustserver\
RustDedicated.exe -batchmode -nographics ^
+server.hostname "My Rust Server" ^
+server.port 28015 ^
+server.identity "my_server" ^
+server.maxplayers 10 ^
+server.worldsize 3000 ^
+server.seed 12345 ^
+server.saveinterval 300 ^
+rcon.port 28016 ^
+rcon.password "ChangeThisPassword" ^
+rcon.web 1
各パラメータの意味
| パラメータ | 説明 | 推奨値 |
|---|---|---|
server.hostname | サーバーリストに表示される名前 | 好きな名前 |
server.port | ゲーム通信に使うポート | 28015(変更不要) |
server.identity | サーバーのデータ保存先フォルダ名 | 英数字のみ |
server.maxplayers | 最大接続人数 | 自分専用なら1〜5 |
server.worldsize | マップサイズ(1000〜6000) | 3000が標準 |
server.seed | マップの地形シード値 | 任意の数値 |
server.saveinterval | 自動保存の間隔(秒) | 300〜600 |
rcon.password | リモート管理用パスワード | 必ず変更する |
rcon.password はデフォルトのまま使うと危険なので、必ず自分で設定したパスワードに変更してほしい。
サーバーの起動
start_server.bat をダブルクリックすると黒いウィンドウが開いて起動シーケンスが始まる。
起動中は以下のようなログが流れる:
World size: 3000, seed: 12345
Generating terrain...
Server startup complete
最初の起動は10〜20分程度かかる場合がある。マップの生成処理が走るためだ。2回目以降は既存のマップデータを読み込むので3〜5分で起動する。
起動中に ShaderWarning や PhysX のエラーが出ることがあるが、これは無視して問題ない。Server startup complete か Saving complete と表示されたら接続できる状態だ。
ゲームからサーバーに接続する
Rustを起動してF1キーでコンソールを開き、以下のコマンドを入力する。
client.connect 127.0.0.1:28015
127.0.0.1 は自分自身のPC(ループバックアドレス)を指す。別のゲームサーバーに接続中の場合は先に切断してから実行すること。
接続できたら成功だ。初期スポーン地点に原人が出現すれば正常に動いている。
友達も接続できるようにする(ポート開放)
自分だけで遊ぶなら 127.0.0.1 で接続できるが、友達にも入ってもらうにはポート開放が必要になる。
Windowsファイアウォールの設定
まずWindowsファイアウォールでRustサーバーの通信を許可する。
- 「Windowsセキュリティ」を開く
- 「ファイアウォールとネットワーク保護」→「詳細設定」
- 「受信の規則」→「新しい規則」
- 「ポート」を選択してUDPで
28015を許可 - 同様に
28016(RCON用)も許可
ルーターのポート開放
次にルーター側でも同じポートを開放する。手順はルーターによって異なるが、基本的な流れは以下の通り:
- ブラウザで
192.168.1.1または192.168.0.1にアクセスしてルーターの管理画面を開く - 「ポートフォワーディング」または「ポート変換」の設定画面を探す
- 外部ポート
28015(UDP)をサーバーPCのローカルIPアドレスに転送する設定を追加 28016(TCP/UDP)も同様に設定
友達には自分のグローバルIPアドレスを伝えて、client.connect あなたのIP:28015 で接続してもらう。グローバルIPは https://checkip.amazonaws.com などで確認できる。
管理者権限の設定
サーバー内で管理コマンドを使うには、まず自分に管理者(owner)権限を付与する必要がある。
SteamIDの確認
SteamIDはSteamプロフィールページのURLから確認できる。https://steamcommunity.com/profiles/76561198XXXXXXXX の数字部分が SteamID64 だ。
ownerの設定
サーバーコンソール(黒いウィンドウ)で以下を入力する:
ownerid 76561198XXXXXXXX "あなたの名前"
設定を保存:
server.writecfg
ゲーム内でF1コンソールを開いて global.status_cl を実行し、IsAdmin: True と表示されれば管理者権限が付与されている。
便利なサーバーコマンド集
管理者権限があれば、サーバーコンソールからさまざまなコマンドが使える。
時間・天候操作
| コマンド | 説明 |
|---|---|
env.time 12 | ゲーム内時刻を正午にする |
env.time 0 | 深夜0時にする |
env.progresstime false | 時間の進行を止める |
env.progresstime true | 時間の進行を再開する |
weather.rain 0 | 雨を止める |
weather.rain 1 | 雨を降らせる |
weather.fog 0 | 霧を消す |
プレイヤー管理
| コマンド | 説明 |
|---|---|
status | 接続中のプレイヤー一覧 |
kick "プレイヤー名" | プレイヤーをキック |
ban SteamID | プレイヤーをBAN |
unban SteamID | BANを解除 |
teleportpos "名前" X Y Z | プレイヤーを座標に転送 |
アイテム付与(管理者のみ、ゲーム内コンソール)
inventory.giveto "プレイヤー名" wood 1000
inventory.giveto "プレイヤー名" stones 1000
inventory.giveto "プレイヤー名" explosive.timed 5
サーバー管理
| コマンド | 説明 |
|---|---|
server.save | 手動でワールドを保存 |
server.restart | サーバーを再起動 |
quit | サーバーをシャットダウン |
トラブルシューティング
サーバーが起動しない
症状: バッチを実行しても黒い画面がすぐ消える
RustDedicated.exeのパスが正しいか確認する- バッチファイルに
pauseを追加してエラーメッセージを確認する
@echo off
cd /d C:\rustserver\
RustDedicated.exe -batchmode ...
pause
自分は接続できるが友達が入れない
- ルーターのポート開放(UDP 28015)ができているか確認
- Windowsファイアウォールで
RustDedicated.exeが許可されているか確認 - プロバイダーによってはポート開放が制限される場合がある(固定IPやVPSの利用を検討)
メモリ不足でサーバーがクラッシュする
server.worldsizeを小さくする(3000→2000)- 不要なバックグラウンドプロセスを終了する
- 物理RAMが16GB以下の場合はワールドサイズを2000以下に抑える
サーバーが重くてラグる
server.maxplayersを減らすserver.worldsizeを小さくする- Oxideプラグインを使っている場合は重いプラグインを無効化する
まとめ
Rustのローカルサーバー構築の流れをまとめると以下の通り:
- SteamCMDをダウンロードして配置する
app_update 258550 validateでサーバーファイルを取得- バッチファイルを作成して起動する
- F1コンソールから
client.connect 127.0.0.1:28015で接続 - 友達を招くにはポート開放が必要
PCのスペックさえあれば無料でRustサーバーを運用できるのがローカルサーバーの最大の魅力だ。ただし、常時稼働させるには電気代がかかるし、スペックが足りなければラグの原因になる。もし自前のPC運用が厳しいと感じたら、レンタルサーバーも選択肢の一つとして考えてみてほしい。
MODを導入してサーバーをカスタマイズする方法は別の記事で解説しているので、興味があればそちらも読んでみてください。