How to set up a Rust dedicated server
Set up a Rust dedicated server on berrybyte or install Steam app 258550 with SteamCMD. Configure identity, hostname, player cap, UDP game and query ports, TCP RCON, map seed, world size, and owner access.
Rust Dedicated Server is Steam app 258550. A working setup needs a permanent
identity folder, a reachable UDP game port, a separate UDP query port, and
enough time to generate its first map. Facepunch's
official server guide
covers the command-line variables and identifies Server startup complete as
the readiness signal.
Set up Rust on berrybyte
berrybyte installs the dedicated build and allocates networking during provisioning. Your setup work begins with the server profile, map choices, and first safe start.
Create the server
Choose a player-slot plan and region on Rust server hosting. The region nearest most players usually gives the group the lowest latency. The standard checkout is covered in Create your first server.
Open Game Settings
Select the new server in the dashboard, then open Settings → Game Settings. Choose Vanilla, Oxide / uMod, or Carbon according to the gameplay you plan to run.
Set the public profile
Enter a clear hostname, a short description, and the intended maximum player count. Use plain text that tells players the wipe schedule and gameplay style.
Choose the first map
Set the procedural seed and world size before the first public start. A larger map consumes
more memory and takes longer to generate. Facepunch currently accepts world sizes from
1000 through 6000.
Start and watch Console
Press Start, then open Console. Wait for Server startup complete before inviting
players. First generation can take several minutes while Rust creates terrain and places
monuments.
rust-game-settings-setup.pngThe allocated Server address on Overview contains the game port players use. Copy the whole value for a test connection. berrybyte also allocates RCON and Rust+ with the plan, as described on the current Rust product page.
Keep Auto Update enabled so a later restart can install the current dedicated build. Plan map maintenance with Wipe and update a Rust server.
Install app 258550 with SteamCMD
Self-hosting requires a 64-bit Windows, Linux, or macOS system. Facepunch lists 12 GB of free RAM and 15 GB of free disk as its general floor, with extra memory for a 6000-size map. Its guide recommends SSD or NVMe storage.
Install SteamCMD from Valve's
SteamCMD documentation,
create a permanent folder for Rust, then download app 258550 through
anonymous login:
./steamcmd.sh +force_install_dir /home/rust/server +login anonymous +app_update 258550 validate +quitsteamcmd.exe +force_install_dir C:\Rust\Server +login anonymous +app_update 258550 validate +quitforce_install_dir must point at the same folder during every update.
validate checks the installed content against Steam's manifest. SteamCMD
prints Success! App '258550' fully installed. after a successful install.
The current Facepunch setup uses anonymous SteamCMD login. Rust's public listing comes from its query port, so there is no GSLT registration step in the official startup flow.
Build the startup command
Create a launch script in the install directory. This Linux example uses the usual default ports and a modest procedural map:
./RustDedicated -batchmode \
+server.identity "main" \
+server.hostname "Example Rust Server" \
+server.description "Monthly map wipe, active admins" \
+server.maxplayers 50 \
+server.level "Procedural Map" \
+server.seed 123456 \
+server.worldsize 3500 \
+server.port 28015 \
+rcon.port 28016 \
+rcon.password "replace-with-a-long-secret" \
+rcon.web 1 \
+server.queryport 28017 \
-logfile rustserver.logWindows uses RustDedicated.exe with the same variables. Keep the RCON
password private and quote values containing spaces.
Identity and configuration files
server.identity selects the folder under server/ where Rust stores this
instance. With identity main, the configuration directory becomes
server/main/cfg/. It contains server.cfg, users.cfg, bans, and other
instance data. World saves and player data also live under that identity.
Facepunch lists the generated files in
Getting started with your Rust server.
Place general convars in server/main/cfg/server.cfg without leading +
characters:
server.hostname "Example Rust Server"
server.description "Monthly map wipe, active admins"
server.maxplayers 50
server.tags "monthly,vanilla"Facepunch states that server.cfg loads at startup and takes priority over
command-line values. Keep essential startup choices, including identity and
ports, in the launch script so another administrator can inspect the process
definition before boot.
Allocate each port correctly
| Allocation | Common default | Protocol | Purpose |
|---|---|---|---|
server.port | 28015 | UDP | Player game traffic |
rcon.port | 28016 | TCP | Remote console administration |
server.queryport | 28017 | UDP | Steam queries and public browser listing |
Rust calculates an unspecified query port as
1 + max(server.port, rcon.port). The common game 28015 and RCON 28016
pair therefore yields query 28017. The game port and query port require
separate numbers. Facepunch requires UDP reachability for each of them.
On a self-hosted network, reserve a static LAN address for the machine. Forward the game and query UDP ports from the router, then allow them through the host firewall. Allow the RCON TCP port only where your administration setup needs it. A strong RCON password matters because that interface can execute server commands.
Forward the allocations configured in your own launch script. A firewall rule for TCP 28015 does not open Rust's UDP game path.
Choose the world before launch
server.seed selects the procedural layout. Facepunch permits integer seeds
from 0 through 2147483647. server.worldsize controls the map dimensions,
with a documented range of 1000 through 6000. More terrain raises startup,
storage, and memory costs.
The first start creates a .map file and a protocol-versioned .sav file
inside the identity. Later starts load that save while its map settings remain
compatible. Changing the seed or size belongs in a planned map wipe. The
wipe guide covers the safe sequence.
Grant owner access
Find your 17-digit SteamID64, then run this in the live server console:
ownerid 76561198000000000 "PlayerName" "Owner"Reconnect to refresh the player's authorization level. Facepunch says current
servers write this change to users.cfg automatically. A moderator can receive
the narrower native role with:
moderatorid 76561198000000000 "PlayerName" "Moderator"Native Rust ownership and plugin permissions are separate systems. An Oxide or Carbon plugin may document another permission grant for its own commands.
Verify the first boot safely
Wait for the readiness line
Watch the console until Server startup complete appears. Avoid judging readiness from the
process state alone.
Inspect server status
Run status. Confirm the hostname, map, player cap, and listening game address match the
values you intended.
Test direct connection
Launch Rust, press F1, and run client.connect IP:gameport. Follow
How to join a Rust server for every connection route.
Check the public listing
Search the in-game browser after its listing refreshes. A missing entry points toward the UDP query allocation or filters; direct connection can already prove the game path.
Create a known-good backup
After the profile, map, owner, and connection test pass, create a server backup. This gives future maintenance a clean restore point.
For power controls, read Start, stop & restart. Connection failures belong in Can't connect to a Rust server. If provisioning or an allocation looks wrong, open a support ticket with the server linked.
Frequently asked questions
What is the Rust dedicated server Steam app ID?
Rust Dedicated Server uses Steam app ID 258550. SteamCMD can install it with anonymous login. Point force_install_dir at a permanent server folder before running app_update 258550 validate.
What ports does a Rust server need?
The default game port is UDP 28015. RCON commonly uses TCP 28016. When the query port is left automatic, Rust chooses one above the greater of the game and RCON ports, which commonly gives UDP 28017. The game and query ports must differ.
How do I know when a Rust server is ready?
Watch the live console or log for the exact line Server startup complete. Map generation and monument placement make the first boot slower. Run status after that line and test through F1 with client.connect IP:gameport.
Does a Rust dedicated server need a GSLT?
The current official Facepunch setup does not require a Game Server Login Token. SteamCMD installs app 258550 through anonymous login, while the public browser discovers the server through its reachable UDP query port.
How do I make myself an admin on a Rust server?
Run ownerid STEAMID64 "Name" "Owner" in the server console with your 17-digit SteamID64, then reconnect. Rust saves the owner entry to users.cfg automatically.
Can I change the map seed or size after setup?
A new seed or world size creates a different procedural map at the next map generation. Save a backup first and schedule the change as a map wipe because existing buildings stay with the old save.