Skip to content

Valheim 1.0 and the Deep North are live. Start a 10-player world. Friends on PS5, Switch 2, Xbox and PC join with one code. Host Valheim

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.

Screenshot placeholderRust Game SettingsCapture Rust Settings with hostname, description, max players, seed, world size, and framework fields visible.rust-game-settings-setup.png

The 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:

Linux
./steamcmd.sh +force_install_dir /home/rust/server +login anonymous +app_update 258550 validate +quit
Windows
steamcmd.exe +force_install_dir C:\Rust\Server +login anonymous +app_update 258550 validate +quit

force_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.log

Windows 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

AllocationCommon defaultProtocolPurpose
server.port28015UDPPlayer game traffic
rcon.port28016TCPRemote console administration
server.queryport28017UDPSteam 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.

Start a game
server in seconds

Join the Discord

98 servers started with berrybyte this week