Rust 専用サーバーの立て方
マップサイズ、ワイプ日、ルールを自分で決めて、自分のRustサーバーを動かせます。Facepunchのサーバープログラムは無料で、WindowsとLinuxで動きます。
必要なもの
みんながプレイしている間ずっと起動しておけるWindowsかLinuxのPCと、SteamCMD(Steamサーバーをダウンロードするための、Valveの無料コマンドラインツール)。Rustのサーバーは Steamアプリ258550で、ダウンロードは6.1 GB、匿名ログインで入手できます。そのPCにはRustもSteamアカウントも要りません。
プレイヤーはそれぞれSteam版のRustを持っている必要があります。サーバー側は、Facepunchの最低要件で空きRAM 12 GBとディスク15 GB(できればSSD)。大きいマップほどどちらも増えます。
目安として、テストPCではプレイヤーのいない1000 mのワールドがRAM約2.8 GBで落ち着き、準備完了まで3分18秒かかりました。フルサイズのマップはもっと時間がかかり、必要なリソースも増えます。
プレイに必要な開放ポートはUDP 28015の1つです。サーバーリストとRust+のスマホアプリはさらに2つ使います(「ポートとファイアウォール」を参照)。
2026年10月22日のRustサーバービルド(プロトコル 2635.289.1)で確認しました。
サーバーのインストール
1. ValveからSteamCMDをダウンロードし、C:\steamcmd に展開します。
2. PowerShellかコマンドプロンプトを開き、サーバーを C:\rust-server にダウンロードします:
C:\steamcmd\steamcmd.exe +force_install_dir C:\rust-server +login anonymous +app_update 258550 validate +quit3. Rustの起動コマンドは長いので、ファイルにしておきます。次の内容を C:\rust-server\start-server.bat として保存し、ダブルクリックします:
cd /d "%~dp0"
RustDedicated.exe -batchmode +server.identity main +server.port 28015 +server.queryport 28017 +rcon.port 28016 +rcon.password "YOUR-ADMIN-PASSWORD" +rcon.web 1 +app.port 28082 +server.hostname "YOUR-SERVER-NAME" +server.maxplayers 60 +server.worldsize 3500 +server.seed 90817 -logfile server-log.txt読み込みには数分かかります。ウィンドウに Server startup complete と表示されたら、プレイヤーが参加できます。
この手順はUbuntu 24.04で試しました。ValveのSteamCMDには32bitのGCCライブラリ(lib32gcc-s1)が必要で、ないと steamcmd.sh がすぐに止まります。
sudo apt update
sudo apt install lib32gcc-s1 curl screen
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xz
./steamcmd.sh +force_install_dir ~/rust-server +login anonymous +app_update 258550 validate +quitログアウトしても動き続けるよう、screenセッションの中でサーバーを起動します:
cd ~/rust-server
export LD_LIBRARY_PATH=~/rust-server:~/rust-server/RustDedicated_Data/Plugins/x86_64
screen -S rust ./RustDedicated -batchmode +server.identity main +server.port 28015 +server.queryport 28017 +rcon.port 28016 +rcon.password "YOUR-ADMIN-PASSWORD" +rcon.web 1 +app.port 28082 +server.hostname "YOUR-SERVER-NAME" +server.maxplayers 60 +server.worldsize 3500 +server.seed 90817 -logfile server-log.txtexport の行は消さないでください。サーバーはSteamの steamclient.so を、自分のフォルダーが LD_LIBRARY_PATH に入っているときだけそこから読み込みます。この行がないと、テストではマップを生成したあと Failed to load module steamclient.so で終了しました。
Ctrl+A のあと D でセッションから抜け、screen -r rust で戻れます。Linuxのコンソールはコマンド入力を受け付けないので、管理作業にはRCONを使ってください(「管理者」を参照)。
FacepunchはDockerイメージを公開していません。テストでは、素の ubuntu:24.04 コンテナでrootとして、上のLinux手順をexportの行も含めて実行しました。
起動コマンド
起動コマンドの +名前 値 の組み合わせは、それぞれワールドの読み込み前にコンソール変数(convar)を1つ設定します。省いたものはデフォルト値になります:
| オプション | デフォルト | 内容 |
|---|---|---|
-batchmode | グラフィックなしでサーバーを動かします。必ず入れてください。 | |
+server.identity | my_server_identity | server/ の下にある、このサーバーのセーブと設定を入れるフォルダーの名前。identityを別にすれば、同じインストールから独立したサーバーをもう1つ動かせます。 |
+server.port | 28015 | ゲームポート(UDP)。プレイヤーはここに接続します。 |
+server.queryport | 28016 | サーバーリストが使うUDPポート。ゲームポートと同じにはできません。 |
+rcon.port | 28015 | リモートコンソール(TCP)。 |
+rcon.password | (なし) | リモートコンソールのパスワード。自分で長いものを決めてください。 |
+rcon.web | 1 でWebSocket RCONになります。Facepunchが推奨し、そのWebコンソールも使う方式です。 | |
+app.port | 28082 | Rust+ コンパニオンアプリのTCPポート。10000以上。 |
+server.hostname | My Untitled Rust Server | サーバーリストに出る名前。 |
+server.maxplayers | 500 | 同時にオンラインにいられる最大人数。 |
+server.worldsize | 4500 | マップサイズ、1000~6000。大きいマップほど読み込みが遅く、RAMを多く使います。 |
+server.seed | 1337 | マップ生成の元になる数値(0~2147483647)。 |
-logfile | コンソールの出力をファイルにコピーします。 | |
デフォルト値は、テストサーバーがログとRCONで報告したものです。+server.seed がないと、どのサーバーも同じシード1337のマップを生成します。
サーバー設定
再起動しても残したい設定は、サーバーフォルダー内の server\main\cfg にある server.cfg に書きます(main は server.identity の値)。1行に1つのconvarを、+ なしで書きます。
初回起動で cfg フォルダーが作られ、users.cfg、bans.cfg、serverauto.cfg(サーバー自身が書き込むファイル)が入ります。server.cfg は自分で作るまでありません。
server.tags biweekly,softcore,EU
server.description "YOUR-SERVER-DESCRIPTION"
server.url "https://YOUR-WEBSITE"
server.headerimage "https://YOUR-WEBSITE/header.png"
server.pve false
decay.scale 0.5サーバーは起動のたびに server.cfg を読み込みます。テストでは、server.cfg と起動コマンドの両方で設定したconvarは起動コマンドの値になり、server.cfg のほかの行は反映されました。サーバーが server.cfg に書き込むことはありません。
| Convar | デフォルト | 内容 |
|---|---|---|
server.description | No server description has been provided. | プレイヤーが参加前に見る画面に出るテキスト。 |
server.url | (空) | その画面に出るWebサイトのリンク。 |
server.headerimage | (空) | その画面に出るバナー画像のリンク。 |
server.tags | (空) | サーバーリストの絞り込み用タグ。カンマ区切り。 |
server.pve | False | PvEモード。true にすると pve タグも付きます。 |
decay.scale | 1 | 建物が劣化(decay)する速さの倍率。 |
server.saveinterval | 600 | 自動セーブの間隔(秒)。 |
タグはプレイヤーがリストを絞り込むのに使います。ワイプのタグ(weekly、biweekly、monthly)とスタイルのタグ(vanilla、softcore、hardcore)はそれぞれ1つまで、それに地域(NA、SA、EU、WA、EA、OC、AF)を選びます。
ほかに pve、roleplay、creative、minigame、training、battlefield、broyale、builds、tut、premium があります。同じグループのタグを2つ付けると、絞り込み検索に出なくなることがあります。
convarの今の値を見るには、サーバーコンソールかRCONでその名前だけを入力します。
管理者
Rustの権限は owner と moderator の2つです。サーバーコンソールかRCONで、プレイヤーの17桁のSteamID64を使って付与します。status コマンドでオンラインの全員とそのIDが表示されます:
ownerid YOUR-STEAMID64 "YOUR-NAME"
moderatorid A-FRIENDS-STEAMID64 "A-FRIENDS-NAME"そのあとプレイヤーが再接続します。どちらのコマンドもすぐに cfg/users.cfg に権限を書き込みます。テストでは server.writecfg を実行する前から2行とも入っていました。removeowner と removemoderator で権限を外せます。
ゲーム内では、管理者はF1でコンソールを開いてコマンドを入力します。
| コマンド | 内容 |
|---|---|
status | オンラインのプレイヤーをSteamID64付きで表示します。 |
say <text> | チャットで全員にメッセージを送ります。 |
kick <player> <reason> | プレイヤーをサーバーからキックします。 |
ban <player> <reason> | オンラインのプレイヤーをBANします。 |
banid <SteamID64> <name> <reason> | IDでBANします。オフラインのプレイヤーにも使えます。 |
unban <SteamID64> | BANを解除します。 |
server.save | 今すぐワールドをセーブします。 |
server.writecfg | 管理者とBANを cfg フォルダーに書き込みます。 |
quit | セーブしてサーバーを止めます。 |
別のPCから管理するなら、Facepunchの facepunch.github.io/webrcon にあるWebコンソールが、RCONパスワードでRCONポートに接続します。このページは暗号化なしのHTTPです。
ポートとファイアウォール
プレイヤーはUDP 28015でゲームに接続します。サーバーリストはクエリポートでサーバーの情報を読み、Rust+アプリはTCPでサーバーと通信します。上の起動コマンドだと、ポートはUDP 28015、UDP 28017、TCP 28082の3つです。
+server.queryport がない場合、サーバーリスト用のポートはゲームポートとRCONポートのうち大きいほうの1つ上になります。rcon.port なしのテストサーバーは、UDP 28016でリストに応答しました。
PowerShellを管理者として開き、Windowsファイアウォールでこれらを許可します:
New-NetFirewallRule -DisplayName "Rust server (UDP)" -Direction Inbound -Protocol UDP -LocalPort 28015,28017 -Action Allow
New-NetFirewallRule -DisplayName "Rust server (Rust+)" -Direction Inbound -Protocol TCP -LocalPort 28082 -Action Allowルーターでは同じ3つのポートをサーバーPCへ転送(ポート開放)し、そのPCのローカルIPを固定します。ルールごとに「両方」ではなくUDPかTCPを選んでください。RCON(TCP 28016)は、自宅の外からサーバーを管理するのでなければ転送不要です。
Rust+ コンパニオンアプリ
Rust+ は app.port を通してスマホとサーバーをペアリングします。+app.port がないと、テストサーバーはTCP 28082を使いました。ポートは10000以上が必要で、変更したら再起動が要ります。
サーバーは起動時に、Rust+ が外部から接続できるかを確認します。失敗するとRust+はオフになります。ポートを開けていないテストサーバーでは Rust+ companion server connectivity test failed と記録されました。サーバーから companion-rust.facepunch.com にも接続できる必要があります。
Rust+ に違うアドレスが出るなら、app.publicip を YOUR-SERVER-IP に設定します。Rust+ をオフにするには起動コマンドに +app.port 1- を入れます。マイナスは1の後ろです。
identityフォルダーにある companion.id は、サーバーのRust+用のIDです。削除したり別のサーバーに渡したりしないでください。全プレイヤーがペアリングし直すことになり、削除したファイルは元に戻せません。
サーバーに参加する
Rustのメインメニューで F1 を押し、次を入力します:
client.connect YOUR-SERVER-IP:28015サーバーと同じネットワークにいるなら、代わりにそのローカルIPアドレスを使います(ipconfig で確認できます)。クエリポートを開ければ、サーバーブラウザーの Community にも表示されます。ゲーム内容を変えるプラグインを使っている場合は Modded に出ます。
セーブ、ワイプ、アップデート
1つのサーバーが保存するものはすべて server\main にあります。起動とセーブのあと、テストサーバーには次のものがありました:
| ファイル | 中身 |
|---|---|
proceduralmap.1000.90817.289.sav | ワールド:建築物、アイテム、設置したものすべて。289はプロトコル番号から来ています。 |
….sav.1 | 1つ前のセーブ。サーバーは古いコピーを2つ残します(server.savebackupcount 2)。 |
proceduralmap.1000.90817.289.map | 生成されたマップ。名前はサイズ、シード、プロトコルから付きます。 |
.navmesh, _occlusion_3.dat | サーバーがマップから作る、AIの経路と視界用のデータ。 |
player.blueprints.18.db | プレイヤーが習得したブループリント。 |
player.deaths, .identities, .states | プレイヤーの記録。それぞれ1つの .db ファイルです。 |
player.tokens.db | Rust+ のペアリング。 |
clans.289.db, relationship.289.db | クランとプレイヤー同士の関係。 |
sv.files.289.db | 看板など、絵を描けるアイテムの画像。 |
companion.id | サーバーのRust+用のID。 |
cfg/ | users.cfg、bans.cfg、serverauto.cfg と、自分で作った server.cfg。 |
*.db-wal | 隣にある .db ファイルへの最近の変更。一緒にコピーしてください。 |
バックアップを取るには、server.save を実行してサーバーを止め、-wal ファイルも含めてidentityフォルダーごとコピーします。companion.id があるので、戻すのは同じサーバーだけにしてください。
ワイプ
ワイプはサーバーを最初からやり直すことです。Facepunchの月例アップデートでセーブ名のプロトコル番号が上がるので、サーバーは自動で新しいマップを作ります。これが強制ワイプです。古い .sav の名前を変えて回避しようとしないでください。
自分でマップをワイプするには、サーバーを止めて .sav と .map ファイルを消すか、server.seed を変えます。BPワイプなら、同時に player.blueprints も消します。
ゲーム内のワイプカウントダウンは、デフォルトでロンドン時間の木曜19:00です。wipetimer.wipeDayofWeek(0が日曜、4が木曜)、wipetimer.wipeHourofDay、wipetimer.wipeTimezone で変更します。
アップデート
Rustのサーバーは自動でアップデートされません。ゲームにパッチが来たら、サーバーを止めてインストール手順のSteamCMDの行をもう一度実行します。セーブと cfg フォルダーは残ります。それまでは、新しいビルドのプレイヤーは参加できません。
プラグインとMOD
プラグインはコミュニティ製のフレームワーク、Oxide(uMod)かCarbonの上で動きます。Facepunchはどちらも説明していますが、作ってはいません。Oxideなら、サーバーを止め、umod.org のRust用ビルドをサーバーフォルダーに上書き展開して、再び起動します。プラグインは oxide/plugins に入れます。
SteamCMDでアップデートするたびにOxideのファイルが上書きされるので、毎回Oxideを入れ直してください。Oxideはふつう、Rustのパッチのすぐ後に対応ビルドを出します。
Facepunchは、ゲームプレイを変えたりUIを追加したりするプラグイン(採取倍率、キット、情報パネル)を使うサーバーを Modded に載せるよう求めています。管理ツール、アンチチート、チャットの見た目、バニラのconvarの変更なら Community のままで構いません。ルールを破るとリストから外されることがあります。
よくあるトラブル
フレンドが接続できない
Server startup complete が出るまで待ってください。UDP 28015が正しいローカルIPに転送され、ファイアウォールで許可されているか確認します。自分のネットワーク内からは、代わりにローカルIPに接続します。
サーバーがサーバーリストに出ない
クエリポート(この起動コマンドならUDP 28017)を転送し、ゲームポートとは別にしてください。読み込み中のサーバーはまだリストに出ません。
server.cfg の設定が反映されない
起動コマンドを確認してください。convarが両方にあると、起動コマンドの値が優先されます。テストサーバーでは、そのせいで server.cfg の maxplayers と hostname が無視されました。各convarは1か所だけに書いてください。
サーバーのアップデートが必要というメッセージがプレイヤーに出る
Rustにパッチが来たのに、サーバーは更新されていません。サーバーを止めてSteamCMDの行をもう一度実行し、OxideやCarbonを使っているなら入れ直してください。
アップデート後にプラグインが動かなくなった
SteamCMDがOxideのファイルを素のゲームファイルで置き換えました。最新のOxideビルドを入れ直してください。
Rust+ がペアリングできない
app.port は10000以上で、TCPとして転送する必要があります。起動時のRust+チェックをログで確認し、アドレスが違うなら app.publicip を設定し、companion.id はそのままにしておいてください。
マップの読み込み中にサーバーが落ちる
メモリ不足です。Facepunchは空きRAM 12 GBを求めています。server.worldsize を小さくすれば必要量は減ります。
ダウンロードが始まる前にSteamCMDが止まる
行に +login anonymous がありません。+app_update の前に追加してください。これがないと、テストのSteamCMDは Failed to request app info update で終わりました。
Linuxサーバーが Failed to load module steamclient.so で終了する
起動手順の export の行を、同じシェルで ./RustDedicated より先に実行してください。そうすればサーバーが自分のフォルダーの steamclient.so を見つけます。
よくある質問
Rustサーバーを立てるのにRustを持っている必要はありますか?
いいえ。SteamCMDは匿名ログインでサーバーをダウンロードします。各プレイヤーにはSteam版のRustが必要です。
Rustサーバーではどのポートを開放すればいいですか?
プレイにはUDP 28015。このページの起動コマンドなら、サーバーリストに出すためにUDP 28017、Rust+用にTCP 28082を追加します。
RustサーバーにはどれくらいのRAMが必要ですか?
Facepunchは最低12 GBの空きを求めています。小さい1000 mのテストマップは、誰もいない状態で約2.8 GBでした。マップが大きく、プレイヤーが多いほど多く必要です。
自分のRustサーバーで自分を管理者にするには?
サーバーコンソールかRCONで、自分の17桁のSteamID64と名前を付けて ownerid を実行し、入り直します。ゲーム内のコンソールはF1です。
Rustサーバーにパスワードをかけられますか?
素のRustではできません。参加用パスワードはありません。テストサーバーで find password を実行しても、出たのはRCONの設定だけでした。参加できる人を制限するにはプラグインが必要です。
Rustサーバーはいつワイプされますか?
Facepunchは月例アップデートでマップの強制ワイプを行います。ふつうは毎月第1木曜日です。その間は、セーブを消せば好きなときにワイプできます。
RustサーバーはLinuxで動かせますか?
はい。サーバーはLinux版も配布されています。Ubuntu 24.04で試しました。
Wikily ServersでRustサーバーをホスティング
月額€10.99から

