このガイドでは、WindowsとLinux上にRustゲームサーバーをダウンロード、インストール、設定していきます。
このガイドはバニラサーバーの構築に焦点を当てていますが、uMod(旧Oxide)のようなModやアドオンのインストール方法についても、追加のガイドへのリンクを掲載します。
必要条件
- 少なくとも9~10GBの空き容量があるサーバーまたはコンピューター。
- 少なくとも8GBのRAMが利用可能なサーバーまたはコンピューター(ワールドサイズやプレイヤー数などによって異なります)。
- こちらの便利なツールを使えば、サーバーのマップサイズやプレイヤー数などから必要なRAM量を見積もることもできます!
- フォルダやファイルの操作、コマンドの実行方法についての基本的な理解。
- Windows: PowerShellおよび/またはコマンドプロンプトを使用。
- Linux: ターミナル経由でシェルコマンドを使用。
必須ではありませんが、セキュリティ向上のため、Rustサーバーを実行するためにWindowsまたはLinux上に別のユーザーを作成することを強く推奨します。
サーバーファイルのダウンロード
まず、SteamCMDを使ってゲームサーバーファイルをダウンロードします。
SteamCMDのダウンロードと使い方については別のガイドを作成しています。使い方が分からない場合は、以下を読んでみてください。ガイドを読む前に、RustサーバーのアプリIDはWindowsとLinuxのどちらも258550であることに注意してください。
https://moddingcommunity.com/blog/how-to-download-run-steamcmd/
サーバーをダウンロードしたら、以下の実行ファイルがあるフォルダまたはディレクトリに移動してください。
- Windows:
RustDedicated.exe - Linux:
RustDedicated
サーバーの起動
ここまでで、Rustサーバーの実行ファイルがあるフォルダにいるはずです。まずはシステムのシェルで起動コマンドを実行し、その後サーバーを自動的に起動するスクリプトを作成していきます。
起動コマンド
続ける前に、必要な起動コマンドについて分解して説明したいと思います。これらはWindowsとLinuxの両方のRustサーバーで共通です。
| Command | Default | Description |
|---|---|---|
server.ip |
0.0.0.0 |
サーバーをバインドするIPアドレス。すべてのIPおよびネットワークインターフェースにバインドするには0.0.0.0を使用します(最も一般的)。 |
server.port |
28015 |
サーバーをバインドするUDPポート。 |
server.tickrate |
10 |
サーバーを実行するティックレート。この値を増やすとより多くのリソースを消費します。よく分からない場合は10を使用してください。 |
server.hostname |
N/A | ユーザーがサーバーブラウザ(またはA2Sクエリ)経由でサーバーを探す際に使用するサーバーのホスト名。 |
server.identity |
N/A | servers/フォルダ内に作成されるフォルダの名前。このフォルダには追加の設定ファイル、マップの保存データ、プレイヤーのストレージなどが含まれます。 |
server.level |
Procedural Map |
サーバーを実行するレベル。 |
server.worldsize |
4000 |
新しいワールドを生成する際のワールドサイズ。 |
server.seed |
8675309 |
新しいワールドを生成する際に使用するシード値。 |
server.maxplayers |
200 |
サーバーに同時に接続できるプレイヤーの最大数。 |
rcon.ip |
0.0.0.0 |
RCONリスナーをバインドするIP。すべてのIPおよびネットワークインターフェースにバインドするには0.0.0.0を使用します(最も一般的)。 |
rcon.port |
28016 |
RCONリスナーをバインドするTCPポート。 |
rcon.password |
N/A | RCONを使用するために必要なパスワード(安全で、最低でも8文字以上の長さにしてください!)。 |
また、サーバーを実行する際には-batchmodeフラグが必要です。-nographicsフラグはGUIが起動しないようにするものです(ほとんどの場合このフラグが必要だとは思いませんが、多くの人はこのオプションを付けています)。
注意 - 後でメインサーバーの起動コマンドをまとめる際、各コマンドの前に-または(より一般的な)+を付ける必要があります。
注意 - 上記のシードとサイズコマンドを使って新しいワールドを生成する際は、Rust Mapsのようなウェブサイトの利用をお勧めします!
RCONについて
RCONはサーバー上でコマンドをリモートで実行するために使用されます。RCONコマンドを実行するクライアントがそのIPとTCPポートにアクセスできることを確認する必要があります(ポート開放が必要な場合があります)。
RCONパスワードは信頼できるユーザーにのみ教えるようにしてください!
Windows
WindowsでRustサーバーを起動するには、必要な起動コマンドを付けてRustDedicated.exe実行ファイルを実行する必要があります。
まず、ターミナルを開き、RustDedicated.exeファイルがあるRustサーバーのフォルダに移動します。エクスプローラーではメインフォルダ内で右クリックするとメニューが表示されます。ここからターミナルボタンをクリックすると、そのフォルダでターミナルが開きます。
起動コマンドのベースはこちらです。
.\RustDedicated.exe -batchmode -nographics
次に、上記で必要な起動コマンドを、それぞれ+<command> <value>の形式で追加していきます。
以下は例です!
.\RustDedicated.exe -batchmode -nographics +server.ip "0.0.0.0" +server.port 28015 +server.tickrate 10 +server.hostname "My Rust Server!" +server.identity "server01" +server.seed 793197 +server.maxplayers 200 +server.worldsize 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "test1234"
起動コマンドの値をお好みに編集してコマンドを実行してください!
サーバーのスペック、マップシード、ワールドサイズなどによっては、しばらく時間がかかります。
サーバーが正常に起動すると、以下のようなメッセージが表示されます!
SteamServer Initialized
Server startup complete
SteamServer Connected
起動スクリプトの作成 (Windows)
サーバーの起動を簡単にするために、サーバーを自動的に起動するバッチファイルを作成しましょう。
- エクスプローラーから、メモ帳(標準搭載)やVS Codeなどのテキストエディタを使って新しいファイルを作成し、
start.batという名前を付けます。- ファイルは
RustDedicated.exeファイルと同じフォルダに配置してください。 - ファイル拡張子(
.bat)を編集できない場合は、こちらのガイドをご覧ください!
- ファイルは
- 次の内容をファイルに貼り付けます:
@echo off
setlocal
set RESTART_DELAY=5
:restart
cls
echo Starting Rust server...
echo.
.\RustDedicated.exe -batchmode -nographics ^
+server.ip "0.0.0.0" ^
+server.port 28015 ^
+server.tickrate 10 ^
+server.hostname "My Rust Server!" ^
+server.identity "server01" ^
+server.level "Procedural Map" ^
+server.seed 793197 ^
+server.maxplayers 200 ^
+server.worldsize 600 ^
+rcon.ip 0.0.0.0 ^
+rcon.port 28016 ^
+rcon.password "test1234"
echo.
echo Detected server stop or crash. Restarting in %RESTART_DELAY% seconds...
timeout /t %RESTART_DELAY% /nobreak > nul
goto restart
- 必要に応じて起動コマンドの値と再起動までの待機時間を変更してください。
- ファイルを保存して終了します。
あとはバッチファイルをダブルクリックすればサーバーが起動します。このスクリプトは自動的に
Linux
続行する前に、RustDedicatedファイルがあるディレクトリ内にいることを確認し、ターミナルで以下を実行してください。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
上記は現在、DebianやUbuntuを含む多くのLinuxディストリビューションでRustサーバーを実行する前に必要になります。実行しないと、リンカーの問題によりサーバーがクラッシュする可能性が高くなります。
それでは、サーバーの起動に取り掛かりましょう!
LinuxでRustサーバーを起動するには、必要な起動コマンドを付けてRustDedicatedファイルを実行する必要があります。
起動コマンドのベースはこちらです。
./RustDedicated -batchmode -nographics
次に、上記で説明した必要な起動コマンドを、それぞれ+<command> <value>の形式で追加していきます。
以下は例です!
./RustDedicated -batchmode -nographics +server.ip "0.0.0.0" +server.port 28015 +server.tickrate 10 +server.hostname "My Rust Server!" +server.identity "server01" +server.seed 793197 +server.maxplayers 200 +server.worldsize 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "test1234"
上記のコマンドを編集したら、実行できます。これによりRustサーバーが起動します。
サーバーのスペック、マップシード、ワールドサイズなどによっては、しばらく時間がかかります。
サーバーが正常に起動すると、以下のようなメッセージが表示されます!
SteamServer Initialized
Server startup complete
SteamServer Connected
注意 - サーバーのコンソールを通してコマンドを実行・設定することもできます。応答が返ってくれば、サーバーがオンラインであることを示します。例えば、サーバー起動後にstatusコマンドを実行してみてください!
起動スクリプトの作成 (Linux)
上でまとめたコマンドを毎回コピー&ペーストするのは面倒で煩わしいものです。
作業を簡単にするために、Rustサーバーを起動するBashスクリプトを作成しましょう。
nanoやvimのようなテキストエディタを選び、start.shという名前の新しいファイルを作成します。- ファイルは
RustDedicated実行ファイルと同じディレクトリに配置してください。
- ファイルは
- 次の内容をファイルに貼り付けて編集します:
#!/bin/bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
RESTART_DELAY=5
clear
while :
do
echo "Starting Rust server..."
echo
./RustDedicated -batchmode -nographics \
+server.ip "0.0.0.0" \
+server.port 28015 \
+server.tickrate 10 \
+server.hostname "My Rust Server!" \
+server.identity "server01" \
+server.level "Procedural Map" \
+server.seed 793197 \
+server.maxplayers 200 \
+server.worldsize 600 \
+rcon.ip 0.0.0.0 \
+rcon.port 28016 \
+rcon.password "test1234"
echo
echo "Detected server stop or crash. Restarting in ${RESTART_DELAY} seconds..."
sleep $RESTART_DELAY
done
- お好みに合わせて起動コマンドの値と再起動までの待機時間を変更してください。
- ファイルを保存します。
- 以下のコマンドを使用して、ユーザーがファイルを実行できるようにします:
chmod u+x start.sh
上記のスクリプトはRustサーバーを起動し、サーバーがクラッシュしたりシャットダウンされたりした場合に、自動的にサーバーを再起動しようとします。
以下のコマンドを使って実行できるはずです。
./start.sh
Screenの使用
Linuxユーザーがおそらく煩わしいと感じるのは、例えばCTRL + CなどでRustサーバーを完全にシャットダウンするまで、同じターミナルでコマンドを実行できないことです。
この煩わしさを解消するために、ほとんどのLinuxディストリビューションでパッケージマネージャーから入手できるscreenコマンドのインストールと利用をおすすめします。
# For Debian/Ubuntu
sudo apt install -y screen
# For CentOS/RHEL
sudo yum install screen
次に、起動スクリプトを実行する際に以下を前に付けます。
screen -S <name>
例えば:
screen -S rustsrv01 ./start.sh
screenでコマンドを実行すると、CTRL + Dを押して現在のスクリーンをデタッチ(切り離す)できます。
スクリーンに再度アタッチするには、以下のコマンドを使用します。
# Replace <name> with your session name above (e.g. rustsrv01).
screen -r <name>
以下のコマンドを使ってセッションの一覧を表示することもできます。
screen -ls
screenの使い方について詳しく知りたい方は、こちらの役立つガイドをぜひご覧ください!
追加設定
サーバーのアイデンティティ内にあるcfgフォルダの中にserver.cfgという設定ファイルを作成し、追加のコマンド/ConVarを設定できます。
cfgフォルダは、Rustサーバーファイルのルートから見ると以下の場所にあります。
.\servers\<identity>\cfg
例えば、このガイドではサーバーのアイデンティティとしてserver01を使用しているので、以下のフォルダにファイルを作成することになります。
.\servers\server01\cfg
このファイル内では、技術的には上記の起動コマンドの値の一部を設定することもできますが、私の見る限り、ほとんどの管理者はそれらの特定のコマンドをコマンドラインから設定することを推奨しています。起動コマンドと同様に、追加のコマンドやConVarもコマンドラインから設定できますが、個人的には専用のserver.cfgファイルを使う方が簡単で綺麗だと思います。
例えば、サーバーのURLを設定したい場合、server.cfgファイルに以下のように記述します:
server.url "https://rust.mydomain.com"
あとは保存してサーバーを再起動するだけです!値が変更されたかどうかは、server.url(または設定したコマンド)を実行することで確認でき、新しい値が表示されるはずです。
まとめ
ここまでで、Rustサーバーのセットアップと設定について基本的な理解が得られたはずです!
Rustサーバーの運用と管理は多くのユーザーにとって楽しいものですが、特にModやアドオンのインストールと設定に関しては、非常に複雑になることもあります。
関連項目
- Rust - Facepunch
- Rust - Steam
- RAM Calculator Tool
- Rust Maps - Rustサーバーのワールドサイズとシードを生成するために使用します。
- Pterodactyl - Rustのようなゲームサーバーやアプリケーションを管理するための人気のパネルです。
uModのインストール方法
uMod(Oxide)のダウンロード、インストール、設定方法について作成したガイドです。
https://moddingcommunity.com/blog/how-to-install-umod-onto-rust-servers/
Pterodactyl用Rust Autowipeツール
また、Pterodactyl用に、cronジョブに基づいてRustサーバーを自動でワイプするツールも作成しました。多くの機能が搭載されています!
このガイドに関する質問やフィードバックがあれば、こちらのフォーラムトピックに返信してください!このガイドは今後も継続的に手を加え、改善していく予定です。
Discordサーバーに参加しよう!

