Your own Rust server gives you control over the map, player count, rules, mods and wipes. There are two ways to get one: a manual install on Windows or Linux, or a pre-configured game server from a host.

This guide covers the manual setup with SteamCMD step by step – and then administration, mods and troubleshooting.

Info
Last reviewed on 31 July 2026 against Facepunch's official Rust documentation (Creating a server, Rust+, wipe timer). App ID, ports and launch parameters reflect the current state.

A Rust server in 8 steps

  1. Pick hardware or hosting
  2. Install SteamCMD
  3. Download the Rust dedicated server with App ID 258550
  4. Create a launch script (start.bat or start.sh)
  5. Open ports in the firewall and router
  6. Start the server and generate the first world
  7. Connect via the F1 console
  8. Set up admin rights, configuration and mods

Contents

Requirements and hardware

Rust is memory-hungry, and usage depends on world size, player count, entity count and plugins. The values below are a practical guideline, not guaranteed minimums.

Use caseWorld sizePlayersRAM guideline
Local or small group of friends2000–3000up to ~108 GB
Small community server3000–4000~10–5012–16 GB
Larger or modded server4000–5000+50+16–32 GB or more

Actual usage can be much higher with plugins, large bases, many entities and long wipe cycles.

A few more points:

  • Strong single-core CPU performance matters more for game servers than many cores.
  • An SSD and enough free space for server files, maps, logs and backups are essential.
  • A publicly reachable home server needs stable upload bandwidth, port forwarding and a public IPv4 address.
  • With DS-Lite or CGNAT, normal IPv4 port forwarding is often impossible – the server then isn't reachable from the internet.

Host at home or rent?

OptionProsCons
Your own PCfree to test, full controlPC must stay on, power cost, port forwarding, upload and DDoS risk
VPS/root serverfull system control, reachable 24/7needs Linux/Windows skills and your own administration
Managed game serverfast setup, panel, no SteamCMD workmonthly cost
Tip
Easier without SteamCMD: a managed Rust game server already handles installation, network access and base configuration. You start straight from the web interface and adjust your settings. At DeinServerHost you can rent a Rust server and manage it through the panel.

Create a Rust server on Windows

Step 1: Create folders

Two separate folders keep SteamCMD and the server files apart:

C:\steamcmd
C:\rust-server

Step 2: Download SteamCMD

Get SteamCMD from Valve's official page (developer.valvesoftware.com/wiki/SteamCMD), extract steamcmd.zip into C:\steamcmd, and run steamcmd.exe once so it updates.

Step 3: Install the server files

In SteamCMD, one after another:

login anonymous
force_install_dir C:\rust-server
app_update 258550 validate
quit

Or as a one-liner in the command prompt:

steamcmd.exe +login anonymous +force_install_dir C:\rust-server +app_update 258550 validate +quit

Note: 258550 is the App ID of the Rust dedicated server. 252490 is the client and is wrong for a server install. validate checks the files and replaces changed files during updates.

Step 4: Create start.bat

Create a start.bat in the server folder:

@echo off
cd /d C:\rust-server

RustDedicated.exe -batchmode ^
+server.identity "myserver" ^
+server.hostname "My Rust Server" ^
+server.description "Vanilla Rust server for friends" ^
+server.port 28015 ^
+server.queryport 28017 ^
+server.level "Procedural Map" ^
+server.seed 12345 ^
+server.worldsize 3500 ^
+server.maxplayers 20 ^
+rcon.port 28016 ^
+rcon.password "PUT_A_LONG_SECURE_PASSWORD_HERE" ^
+rcon.web 1 ^
-logfile "rustserver.log"

pause

You must replace rcon.password with your own long password.

Step 5: Windows firewall

As administrator in PowerShell:

New-NetFirewallRule -DisplayName "Rust Game UDP 28015" -Direction Inbound -Protocol UDP -LocalPort 28015 -Action Allow
New-NetFirewallRule -DisplayName "Rust Query UDP 28017" -Direction Inbound -Protocol UDP -LocalPort 28017 -Action Allow
New-NetFirewallRule -DisplayName "Rust RCON TCP 28016" -Direction Inbound -Protocol TCP -LocalPort 28016 -Action Allow
New-NetFirewallRule -DisplayName "Rust Plus TCP 28082" -Direction Inbound -Protocol TCP -LocalPort 28082 -Action Allow

Only open RCON (28016) and Rust+ (28082) if you use them. Behind a router you must also forward the ports to the server's local IP and give the server PC a fixed local IP.

Create a Rust server on Linux

This guide targets current Debian/Ubuntu.

Step 1: Create a dedicated user

Don't run the server as root:

sudo adduser --disabled-password --gecos "" rust
sudo -iu rust

Step 2: Create directories

mkdir -p ~/steamcmd ~/server
cd ~/steamcmd

Step 3: Download SteamCMD

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz

Depending on your system you may need 32-bit libraries (e.g. lib32gcc-s1). Install them as a sudo user if SteamCMD asks for them.

Step 4: Install the Rust server

./steamcmd.sh \
  +force_install_dir /home/rust/server \
  +login anonymous \
  +app_update 258550 validate \
  +quit

Step 5: Create a launch script

Create /home/rust/server/start.sh:

#!/usr/bin/env bash
set -e

cd /home/rust/server

exec ./RustDedicated -batchmode \
  +server.identity "myserver" \
  +server.hostname "My Rust Server" \
  +server.description "Vanilla Rust server for friends" \
  +server.port 28015 \
  +server.queryport 28017 \
  +server.level "Procedural Map" \
  +server.seed 12345 \
  +server.worldsize 3500 \
  +server.maxplayers 20 \
  +rcon.port 28016 \
  +rcon.password "PUT_A_LONG_SECURE_PASSWORD_HERE" \
  +rcon.web 1 \
  -logfile "/home/rust/server/rustserver.log"

Make it executable:

chmod +x /home/rust/server/start.sh

Step 6: systemd service

Instead of a loose screen window, a systemd service starts the server reliably and automatically after a reboot. Create /etc/systemd/system/rust-server.service:

[Unit]
Description=Rust Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=rust
Group=rust
WorkingDirectory=/home/rust/server
ExecStart=/home/rust/server/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

Enable and check status:

sudo systemctl daemon-reload
sudo systemctl enable --now rust-server
sudo systemctl status rust-server
sudo journalctl -u rust-server -f

Step 7: Firewall (ufw)

sudo ufw allow 28015/udp
sudo ufw allow 28017/udp
sudo ufw allow 28016/tcp
sudo ufw allow 28082/tcp

28016 only for RCON, 28082 only for Rust+. Ideally restrict RCON to a trusted source IP. With a hosting provider, an external firewall may also apply.

Launch parameters explained

The most important values from the launch script:

ParameterMeaning
server.identityname of the data folder for world, config and player data
server.hostnamevisible server name
server.descriptiondescription in the server browser
server.urloptional website
server.headerimagelarge header image in the server details
server.logoimageserver logo, e.g. for Rust+
server.portUDP game port
server.queryportUDP port for the server browser and queries
server.seedseed of the procedural map
server.worldsizesize of the world
server.maxplayersmaximum concurrent players
server.tagstags like weekly, monthly, vanilla or pve
rcon.portTCP port for RCON
rcon.passwordpassword for RCON
rcon.webenable WebRCON
app.portTCP port for Rust+
server.saveintervalinterval of automatic saves (seconds)

For any further values, check Facepunch's official documentation.

The server.cfg

Launch parameters are best for ports, identity and basic startup values. Other settings belong more clearly in the server.cfg. It sits inside the identity folder:

Windows:

C:\rust-server\server\myserver\cfg\server.cfg

Linux:

/home/rust/server/server/myserver/cfg/server.cfg

An example:

server.hostname "My Rust Server"
server.description "Vanilla Rust with a monthly wipe"
server.maxplayers 20
server.tags "monthly,vanilla,EU"
server.saveinterval 300

In server.cfg you do not use leading +. The identity folder is usually only fully created after the first server start. On conflicting settings, the official docs say server.cfg takes precedence.

Which ports does a Rust server need?

Rust uses up to four relevant ports:

PortProtocolPurpose
28015UDPplayers connect to the server
28017UDPquery port for the server browser and queries
28016TCPRCON remote administration
28082TCPRust+ companion app

These numbers match the example configuration in this guide. If you change the game or RCON port, the automatically chosen query or Rust+ port may differ: without an explicit server.queryport, Rust picks a port above the higher of the game and RCON port. With 28015 and 28016 that gives 28017. Still set the query port explicitly so the configuration stays unambiguous.

More notes:

  • Only the game port is strictly required for a direct connection.
  • Without a reachable query port, the server runs but is missing from the browser.
  • Don't mix up UDP and TCP.
  • On a home network you need both firewall rules and port forwarding in the router.
  • With DS-Lite/CGNAT, public IPv4 port forwarding can be impossible.
  • Only run a port test while the server is actually running.

Connecting to the Rust server

Start Rust, press F1 for the console, enter the connect command and confirm with Enter.

Local server on the same PC:

connect localhost:28015

Server on your home network:

connect 192.168.1.50:28015

Public server:

connect SERVER-IP:28015

The older client.connect IP:28015 still works; the official docs now use connect IP:Port.

Tip
Optionally, make your server reachable via a hostname: an A record to the IPv4 address and an SRV record with service _rust and protocol _udp.

Admin and moderator rights

Grant rights using the player's SteamID64 – in the server console or via RCON:

ownerid STEAMID64 "Name" "Owner"
moderatorid STEAMID64 "Name" "Moderator"

Reconnect once after setting them. On current server versions the changes are saved automatically; the old requirement for server.writecfg is gone. On Linux, administration usually runs over RCON. To see who's online:

users

Server name, description, images and tags

These values decide how your server appears in the browser:

server.hostname "DE/EU My Rust Server"
server.description "Vanilla | Monthly Wipe | active admins"
server.url "https://example.com"
server.headerimage "https://example.com/rust-header.jpg"
server.logoimage "https://example.com/rust-logo.png"
server.tags "monthly,vanilla,EU"
  • Images must be reachable via a direct URL.
  • The logo is shown as a circle – keep important content out of the corners.
  • Don't set conflicting tags from the same group (e.g. weekly and monthly).
  • Up to four tags are shown in the server browser.

Oxide/uMod and Carbon

For plugins (kits, shops, teleport, clans, UI, admin tools) you need a modding framework:

PlatformGood for
Oxide/uModlarge, established plugin selection and classic Rust plugins
Carbonmodern alternative with high Oxide compatibility and extra features

Carbon is often used as a modern, largely Oxide-compatible alternative. Which platform fits better depends on the plugins you use and your server configuration.

Install Oxide

  1. Stop the server.
  2. Go to the Rust page on uMod (umod.org/games/rust).
  3. Download the matching Windows or Linux version.
  4. Extract the archive into the Rust server's root directory, overwriting existing files.
  5. Start the server and check that the oxide folder was created.
  6. Upload plugins to oxide/plugins.

Install Carbon

Use only the current official Carbon documentation for downloads and installation. Plugins then typically live in carbon/plugins.

Caution
After a mandatory Rust update, the framework and plugins often need updating, and SteamCMD can replace modified files with vanilla ones. Order: back up first, update Rust, install the current Oxide/Carbon version, then check plugins.

Understanding wipes

  • Map wipe: the world, buildings and placed objects are reset.
  • Blueprint wipe: players' learned blueprints are deleted.
  • Full wipe: map and blueprints together.
  • Force wipe: Rust gets a mandatory update on the first Thursday of the month. This usually forces a map wipe. Not every force wipe necessarily deletes all blueprints.

A new seed or world size generates a new map. Simply changing a parameter during a running wipe doesn't cleanly replace the existing world – stop the server before a manual wipe and back up the data.

Creating backups

Back up the folder of your chosen server identity, e.g.:

server/myserver/

It contains, among other things, world and save files, the map file, blueprint data, admin and ban lists, the configuration and the Rust+ identity.

  • Save or stop the server before a consistent backup.
  • companion.id belongs to the Rust+ identity and shouldn't be deleted at random or reused across servers.
  • Don't store backups only on the same drive.
  • Back up before Rust, Oxide, Carbon or plugin updates.
Tip
Don't want to deal with the OS, firewall, updates and reachability yourself? A managed Rust game server is the easier alternative.

Troubleshooting

ProblemLikely causeFix
Connection failsgame port not reachablecheck 28015/UDP in firewall and router
Server not in the listquery port blockedopen 28017/UDP or the configured query port
Reachable locally but not from the internetmissing forwarding, DS-Lite or CGNATcheck public IPv4 and router rules
RCON won't connectwrong TCP port, password or firewallcheck rcon.port, password and TCP rule
Rust+ stays offlinecompanion port blockedcheck app.port and TCP access (28082)
Server won't start after an updateincomplete files or incompatible modscheck logs, back up, validate via SteamCMD, update the framework
Oxide plugins don't loadOxide missing or overwrittenreinstall the current Oxide version
Server uses too much RAMlarge map, many entities or pluginsreduce world size, review plugins, assign more RAM
Changes are ignoredwrong file or an overriding server.cfgcheck the identity folder and duplicate settings

You'll find the logs on Windows in C:\rust-server\rustserver.log, and on Linux with systemd via:

journalctl -u rust-server -f

Frequently asked questions about the Rust server

How much RAM does a Rust server need? As a guideline: 8 GB for small rounds, 12–16 GB for community servers, 16–32 GB or more for large or modded servers. The real requirement depends on world size, players and plugins.

Which ports does a Rust server need? 28015/UDP (game) and 28017/UDP (query) are central; 28016/TCP for RCON and 28082/TCP for Rust+ are optional. With a different configuration, the query and Rust+ ports may differ.

Can I host a Rust server on my own PC? Yes. A home PC with port forwarding is fine for tests and small private rounds. For a permanently public server you'll want a public IPv4, stable upload bandwidth and updates.

How do I become admin on a Rust server? With ownerid STEAMID64 "Name" "Owner" in the console or via RCON, then reconnect.

Why isn't my Rust server showing up? Usually the query port (28017/UDP) is blocked or not forwarded. Check the firewall and router while the server is running.

What's the difference between Oxide and Carbon? Oxide/uMod has the biggest plugin selection and is the standard. Carbon is a modern, largely compatible alternative. Which one fits depends on your plugins.

When is the Rust force wipe? On the first Thursday of each month with the mandatory update. This usually wipes the map.

Next steps