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.
A Rust server in 8 steps
- Pick hardware or hosting
- Install SteamCMD
- Download the Rust dedicated server with App ID 258550
- Create a launch script (
start.batorstart.sh) - Open ports in the firewall and router
- Start the server and generate the first world
- Connect via the F1 console
- Set up admin rights, configuration and mods
Contents
- Requirements and hardware
- Host at home or rent
- Windows guide
- Linux guide
- Launch parameters
- server.cfg
- Ports
- Connecting
- Admin rights
- Name, description, images, tags
- Oxide and Carbon
- Wipes
- Backups
- Troubleshooting
- FAQ
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 case | World size | Players | RAM guideline |
|---|---|---|---|
| Local or small group of friends | 2000–3000 | up to ~10 | 8 GB |
| Small community server | 3000–4000 | ~10–50 | 12–16 GB |
| Larger or modded server | 4000–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?
| Option | Pros | Cons |
|---|---|---|
| Your own PC | free to test, full control | PC must stay on, power cost, port forwarding, upload and DDoS risk |
| VPS/root server | full system control, reachable 24/7 | needs Linux/Windows skills and your own administration |
| Managed game server | fast setup, panel, no SteamCMD work | monthly cost |
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:
| Parameter | Meaning |
|---|---|
server.identity | name of the data folder for world, config and player data |
server.hostname | visible server name |
server.description | description in the server browser |
server.url | optional website |
server.headerimage | large header image in the server details |
server.logoimage | server logo, e.g. for Rust+ |
server.port | UDP game port |
server.queryport | UDP port for the server browser and queries |
server.seed | seed of the procedural map |
server.worldsize | size of the world |
server.maxplayers | maximum concurrent players |
server.tags | tags like weekly, monthly, vanilla or pve |
rcon.port | TCP port for RCON |
rcon.password | password for RCON |
rcon.web | enable WebRCON |
app.port | TCP port for Rust+ |
server.saveinterval | interval 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:
| Port | Protocol | Purpose |
|---|---|---|
| 28015 | UDP | players connect to the server |
| 28017 | UDP | query port for the server browser and queries |
| 28016 | TCP | RCON remote administration |
| 28082 | TCP | Rust+ 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.
_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.
weeklyandmonthly). - 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:
| Platform | Good for |
|---|---|
| Oxide/uMod | large, established plugin selection and classic Rust plugins |
| Carbon | modern 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
- Stop the server.
- Go to the Rust page on uMod (umod.org/games/rust).
- Download the matching Windows or Linux version.
- Extract the archive into the Rust server's root directory, overwriting existing files.
- Start the server and check that the
oxidefolder was created. - 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.
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.idbelongs 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.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| Connection fails | game port not reachable | check 28015/UDP in firewall and router |
| Server not in the list | query port blocked | open 28017/UDP or the configured query port |
| Reachable locally but not from the internet | missing forwarding, DS-Lite or CGNAT | check public IPv4 and router rules |
| RCON won't connect | wrong TCP port, password or firewall | check rcon.port, password and TCP rule |
| Rust+ stays offline | companion port blocked | check app.port and TCP access (28082) |
| Server won't start after an update | incomplete files or incompatible mods | check logs, back up, validate via SteamCMD, update the framework |
| Oxide plugins don't load | Oxide missing or overwritten | reinstall the current Oxide version |
| Server uses too much RAM | large map, many entities or plugins | reduce world size, review plugins, assign more RAM |
| Changes are ignored | wrong file or an overriding server.cfg | check 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
- Prefer a tactical shooter with your own server? How to create a CS2 server
- More survival: How to create an ARK: Survival Ascended server
- With SteamCMD you can run a Rust dedicated server entirely yourself. For a 24/7 public server you'll want a suitable machine, secure firewall rules, updates and backups – or take a ready-made Rust server from DeinServerHost and manage it through the web panel.