Want to play Rust with friends on your own terms — no griefers, no wipes you didn't ask for, your own rules? Running a local dedicated server is the way to go. It's free (minus electricity), fully customizable, and gives you total control over the experience.
This guide walks you through the entire setup process on Windows using SteamCMD, from downloading the server files to connecting your first client. I'll also cover port forwarding so your friends can join, admin commands, and how to fix the most common issues.
System Requirements
Before you start, make sure your machine can handle running both the server and the game client simultaneously. Rust is demanding.
| Spec | Minimum | Recommended |
|---|---|---|
| CPU | 4 cores | 8 cores (i7 / Ryzen 7 or better) |
| RAM | 16 GB | 32 GB |
| Storage | 20 GB free (HDD) | 30 GB+ (SSD strongly recommended) |
| OS | Windows 10 64-bit | Windows 10/11 64-bit |
World size directly affects memory usage. A 3000-size map runs okay on 16 GB if you're solo, but add a few friends and you'll want 32 GB. Running the server on the same machine you play on will always introduce some lag — that's just the reality.
Step 1: Install SteamCMD
SteamCMD is Valve's command-line tool for downloading and managing dedicated server files. Rust's server requires it.
Download and Setup
- Go to the SteamCMD page on the Valve Developer Wiki and download the Windows ZIP
- Create a folder at
C:\steamcmd\ - Extract
steamcmd.exeinto that folder
Your folder should look like this:
C:\steamcmd\
└── steamcmd.exe
You can put it anywhere, but keeping it at C:\steamcmd\ makes later commands cleaner. Avoid paths with spaces.
First Launch
Double-click steamcmd.exe. A black console window opens and SteamCMD automatically downloads its own updates. Wait until you see the Steam> prompt — that means it's ready.
Step 2: Download Rust Server Files
With the Steam> prompt showing, run these commands one at a time:
force_install_dir C:\rustserver\
This tells SteamCMD where to install the server files. Create this folder if it doesn't exist yet.
login anonymous
Rust's dedicated server files are public — no Steam account login required. You should see Login Successful.
app_update 258550 validate
258550 is Rust's dedicated server App ID. The validate flag checks file integrity after downloading, which catches partial downloads. Expect 10–20 GB of data on first run.
exit
Once the download finishes, exit SteamCMD. Check C:\rustserver\ and you should see RustDedicated.exe and a bunch of other files.
Step 3: Create the Launch Script
Instead of typing launch parameters every time, create a batch file to start the server.
Create a new file at C:\rustserver\start_server.bat. Open it in Notepad (right-click → Edit) and paste the following:
@echo off
cd /d C:\rustserver\
RustDedicated.exe -batchmode -nographics ^
+server.hostname "My Rust Server" ^
+server.port 28015 ^
+server.identity "my_server" ^
+server.maxplayers 10 ^
+server.worldsize 3000 ^
+server.seed 12345 ^
+server.saveinterval 300 ^
+rcon.port 28016 ^
+rcon.password "ChangeThisPassword" ^
+rcon.web 1
Parameter Reference
| Parameter | What it does | Notes |
|---|---|---|
server.hostname | Name shown in the server browser | Can be anything |
server.port | Port clients connect to | Default 28015, usually no need to change |
server.identity | Folder name for save data | Alphanumeric only, no spaces |
server.maxplayers | Max concurrent players | 1–5 for solo/small group |
server.worldsize | Map size (1000–6000) | 3000 is standard |
server.seed | Procedural map seed | Change this to get a different map |
server.saveinterval | Auto-save frequency in seconds | 300 = every 5 minutes |
rcon.password | Remote admin password | Change this — don't leave it default |
The rcon.password is important. Anyone who knows it can control your server remotely, so set something strong.
Step 4: Start the Server
Double-click start_server.bat. A console window opens and the server starts booting. You'll see a stream of log messages — this is normal.
What to expect during startup:
World size: 3000, seed: 12345
Generating terrain...
...
Server startup complete
The first startup takes 10–20 minutes because it generates the map from scratch. Subsequent starts load the saved map and typically take 3–5 minutes.
You might see warnings about Shaders or PhysX during startup — ignore them. Once you see Server startup complete or Saving complete, the server is ready.
Step 5: Connect to Your Server
Launch Rust, then press F1 to open the console. Type:
client.connect 127.0.0.1:28015
127.0.0.1 is your own machine's loopback address. If you're connected to another server, disconnect first.
If it works, you'll spawn in as a naked on your new map. Congratulations — your server is running.
Step 6: Let Friends Join (Port Forwarding)
Connecting via 127.0.0.1 only works from your own machine. For friends to connect over the internet, you need to forward ports through your router.
Windows Firewall
First, allow traffic through Windows Firewall:
- Open Windows Security → Firewall & network protection → Advanced settings
- Select Inbound Rules → New Rule
- Choose Port → UDP → enter
28015 - Allow the connection, apply to all profiles
- Repeat for port
28016(RCON)
Alternatively, you can allow RustDedicated.exe directly through the firewall.
Router Port Forwarding
Access your router admin panel (usually at 192.168.1.1 or 192.168.0.1) and set up port forwarding:
| External Port | Protocol | Internal IP | Internal Port |
|---|---|---|---|
| 28015 | UDP | Your PC's local IP | 28015 |
| 28016 | TCP/UDP | Your PC's local IP | 28016 |
Your PC's local IP is typically 192.168.1.xxx — find it by running ipconfig in Command Prompt and looking for the IPv4 address.
Give friends your public (external) IP address — check it at checkip.amazonaws.com. They connect with:
client.connect YOUR_PUBLIC_IP:28015
Setting Up Admin Access
To use admin commands in-game, you need to grant yourself owner privileges from the server console.
Finding Your SteamID
Your SteamID64 is in your Steam profile URL: https://steamcommunity.com/profiles/76561198XXXXXXXXX — the long number is your ID. If your URL uses a custom name, use steamid.io to look it up.
Granting Owner
In the server console window, type:
ownerid 76561198XXXXXXXXX "YourName"
Save the config:
server.writecfg
In-game, open the F1 console and run global.status_cl. If IsAdmin shows True, you're good.
Useful Server Commands
Time and Weather
| Command | Effect |
|---|---|
env.time 12 | Set time to noon |
env.time 0 | Set time to midnight |
env.progresstime false | Freeze time |
env.progresstime true | Resume time |
weather.rain 0 | Stop rain |
weather.rain 1 | Start rain |
weather.fog 0 | Clear fog |
Player Management
| Command | Effect |
|---|---|
status | List connected players |
kick "PlayerName" | Kick a player |
ban SteamID | Ban a player |
unban SteamID | Unban a player |
Giving Items (in-game console, admin only)
inventory.giveto "PlayerName" wood 1000
inventory.giveto "PlayerName" stones 1000
inventory.giveto "PlayerName" explosive.timed 5
Server Control
| Command | Effect |
|---|---|
server.save | Manual save |
server.restart | Restart the server |
quit | Shut down the server |
Troubleshooting
Console window closes immediately on launch
Add pause to the end of your batch file to see the error before it disappears:
RustDedicated.exe -batchmode ...
pause
Common cause: incorrect path to RustDedicated.exe or missing server files.
You can connect but friends can't
- Double-check router port forwarding (UDP 28015)
- Verify Windows Firewall isn't blocking
RustDedicated.exe - Some ISPs block incoming connections — contact your ISP or consider a VPS
Server crashes or runs out of memory
- Reduce
server.worldsize(try 2000 instead of 3000) - Close unnecessary applications on your PC
- With 16 GB RAM, keep world size at 2000 or below
Heavy lag even with few players
- Reduce
server.maxplayers - Smaller world size = less memory pressure = better performance
- Check CPU usage — Rust's server is single-threaded for many operations
Summary
Here's the full process in brief:
- Download SteamCMD and place it in
C:\steamcmd\ - Run
app_update 258550 validateto get the server files - Create
start_server.batwith your desired settings - Launch it and wait for
Server startup complete - Connect via F1 console:
client.connect 127.0.0.1:28015 - For multiplayer: forward UDP port 28015 on your router
A local server is free and gives you full control — that's the big win. The trade-off is hardware requirements and the complexity of port forwarding. If your PC isn't powerful enough or you want a server that's always on without the overhead, a game server rental might be worth looking into.
Want to add mods? Check out the guide on setting up Oxide/uMod on your Rust server.