How to Make a Rust Server: Host Your Own Dedicated or Private Server
How to make a Rust server: install app 258550 with SteamCMD, set startup parameters, ports and server.cfg, go private, or run it on GSK.
Want to know how to make a Rust server? The server is a free program, the Rust dedicated server (Steam app 258550), and there are two ways to host a Rust server with it. You can install it yourself with SteamCMD on Windows, Linux or macOS, or you can rent a machine or a game server that already runs it. Either way it is the same program, whether you want a public community server or a private Rust server for a few friends.
This guide does the self-hosted install end to end: requirements, the SteamCMD commands, startup parameters, server.cfg, ports, first boot and admin rights. It also covers hiding the server from the public list, and what changes when the same server runs on GameServerKings. Commands, convars and ports come from Facepunch's server documentation. Anything about our panel comes from the startup configuration our Rust servers actually boot with.
Three Ways to Run a Rust Server
Every option below runs the same RustDedicated program. They differ in whose hardware it runs on and who looks after it.
| Option | What you manage | Good for | Weak spot |
|---|---|---|---|
| Your own PC | Everything: install, updates, ports, router | Testing plugins, building maps, a LAN or friends-only server | Offline when the PC is off; home upload and no DDoS protection |
| A rented VPS or dedicated machine | Everything except the hardware | Full control with datacenter bandwidth | You still do the SteamCMD, update and firewall work |
| A Rust game-server host | Settings, plugins and your community | Public servers that need to stay up 24/7 | Less low-level control than root on your own box |
The rest of this guide follows the first two rows, because that is the install itself. Then there's a section on the third.
What a Rust Dedicated Server Needs
Facepunch publishes the requirements, and they are higher than most people expect:
| Requirement | Facepunch's figure |
|---|---|
| Operating system | "System based on Windows, Linux or OSX" |
| RAM | 12 GB free RAM ("6k map will use more") |
| Disk space | 15 GB free disc space ("SSD/NVMe highly preferred") |
| CPU | No figure given. Only "the more players, the faster your computer CPU needs to be" |
| Steam account | Not needed to install or run the server |
12 GB is free RAM, not total RAM
It has to be free after Windows or Linux, your game client and everything else on the machine have taken their share. Facepunch also hedges it: these "values are not fixed and highly depend on the use case and population of the server." A 10-slot server on a 3000 map and a 200-slot server on a 6000 map are not the same machine.
Facepunch gives no CPU figure. From running Rust servers ourselves, what matters is single-thread speed rather than core count, so a modern high-clock CPU beats a many-core one. Rust Server Lag & Performance explains why.
If the server sits behind a home router, you also need port forwarding and a static LAN IP for the machine. The ports section below covers that.
Install the Rust Dedicated Server with SteamCMD
SteamCMD is Valve's command-line Steam client and the route Facepunch documents. You log in as anonymous, so no Steam account is involved.
On Linux
Make a folder for the server and one for SteamCMD, then download SteamCMD and make it executable:
cd /home/user_kuper
mkdir rust
mkdir steamcmd
cd steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar xvfz steamcmd_linux.tar.gz
chmod +x steamcmd.sh Then pull the Rust dedicated server into the rust folder:
./steamcmd.sh +force_install_dir ../rust +login anonymous +app_update 258550 validate +quit Leave out
+loginand the install failsWithout it SteamCMD stops with
ERROR! Failed to install app '258550' (No subscription).anonymousis all it needs. You only need a Steam account that owns Rust to join the server.
SteamCMD drops a basic start script, runds.sh, into the server folder. Make it executable and add your parameters (next section) to it:
cd ../rust
chmod +x runds.sh The Linux console is not interactive like the Windows one, so Facepunch suggests running the server inside screen to watch it:
screen -S rust_server ./runds.sh Detach with CTRL+A then D; reattach with screen -x rust_server. To send commands you will want an RCON client. How to use external Rust Rcon tools covers the common ones.
On Windows
Same program, same app ID. Download SteamCMD from Valve, run +force_install_dir C:\Rust\MyServer\ +login anonymous +app_update 258550 +quit, then start RustDedicated.exe with your parameters from a .BAT file. Facepunch's own example loops so the server updates and relaunches whenever it stops:
:start
C:\Rust\SteamCMD\SteamCMD.exe +force_install_dir C:\Rust\MyServer\ +login anonymous +app_update 258550 +quit
RustDedicated.exe -batchmode +server.port 28015 +...(and any other parameter/variable you chose)
goto start That update line wipes Oxide and Carbon
In Facepunch's words: "If you run SteamCMD in your startup script, your files will be reverted back to vanilla." On a modded server you have to reinstall the framework after each update. See How to install Oxide for Rust and How to install Carbon for Rust.
Staging and other branches
Facepunch lists two beta branches for the server: app_update 258550 -beta staging and app_update 258550 -beta aux01. To return to the normal build afterwards you have to name the public branch explicitly (or delete the steamapps folder), because SteamCMD won't go back down on its own. Keep a live community server on the default public branch.
Rust Server Startup Parameters
This is Facepunch's example command line, unabridged:
RustDedicated.exe -batchmode +server.port 28015 +server.level "Procedural Map" +server.seed 1234 +server.worldsize 4000 +server.maxplayers 10 +server.hostname "Name of Server as Shown on the Client Server List" +server.description "Description shown on server connection window." +server.url "http://yourwebsite.com" +server.headerimage "http://yourwebsite.com/serverimage.jpg" +server.identity "server1" +rcon.port 28016 +rcon.password letmein +rcon.web 1 -logfile rustserverlog.txt | Parameter | What it does | Notes |
|---|---|---|
-batchmode |
Runs without a GUI | |
+server.port 28015 |
Port players connect to | Default 28015, UDP |
+server.level "Procedural Map" |
Map type | |
+server.seed 1234 |
Seed the map is generated from | Any value 0–2147483647 |
+server.worldsize 4000 |
Map size | Use 1000 to 6000. Bigger means more disk and memory |
+server.maxplayers 10 |
Slot count | More players need a faster CPU |
+server.hostname "..." |
Name in the server browser | |
+server.description "..." |
Text on the connection window | |
+server.url / +server.headerimage |
Website link and banner | Both optional |
+server.identity "server1" |
Internal server name | Names the folder all save and config files go in |
+rcon.port 28016 |
Remote admin port | TCP. Defaults to server.port if unset |
+rcon.password letmein |
RCON password | Facepunch's note: "Change this value!!!" |
+rcon.web 1 |
WebSocket RCON | "rcon.web 1 is suggested" |
-logfile <name> |
Writes console output to a file | Put the date in the name |
It isn't an exhaustive list. Once the server is up, find <text> in the console searches every convar (for example find image). Rust Admin Commands covers the ones you'll use daily.
Decide server.seed and server.worldsize before you open. Changing either one generates a new map. How to change the map and map size on a Rust server walks through it. For a community map instead of a procedural one, both are replaced by a map URL, which How to: Install Custom Maps For Rust Servers covers.
server.cfg and the Identity Folder
Facepunch's advice is to put "only necessities like ports or rcon on the command line" and everything else in server.cfg:
rust/server/<server.identity>/cfg/server.cfg - The server reads it at startup, and it takes priority over the command line.
- Leave off the
+and-prefixes. - The server never writes to it. You edit it by hand.
server.maxplayers 10
server.hostname "Tom Server"
hackablelockedcrate.requiredhackseconds 600 A few variables, such as the weather _chance ones, don't work from startup at all and have to be set from the console or RCON once the server is running.
The same identity folder holds users.cfg (owners, moderators, bans), the .sav world file, the .map file, player blueprints and companion.id, the file that ties your server to the Rust+ app. Because everything is keyed to the identity, one install can run several servers side by side with different +server.identity values.
Which Ports a Rust Server Uses
Rust uses four ports. Only the game port is needed to play, so get that working first:
| Port | Default | Protocol | Purpose |
|---|---|---|---|
server.port |
28015 | UDP | Game traffic |
server.queryport |
1 + server.port or rcon.port, whichever is greater |
UDP | Server browser listing |
rcon.port |
Same as server.port |
TCP | Remote admin |
app.port |
Game or RCON port + 67, whichever is larger (28082 on defaults) | TCP | Rust+ companion app |
The rules behind most "my server doesn't show in the list" problems:
server.portandserver.queryportboth have to be open and reachable, and both are UDP.- They cannot be the same port.
- Without a reachable query port, your server can't appear in the in-game browser.
- The Rust+ port must be 10000 or higher or Facepunch's backend can't reach it.
+app.port 1-disables Rust+ entirely (that's Facepunch's workaround for passing -1 on the command line).
On a home connection, give the server machine a static LAN IP and forward the ports to it. Facepunch also advises against the "both"/"all" protocol option on routers; set UDP and TCP deliberately. By default the server listens on 0.0.0.0 (every address on the machine), and +server.ip 192.168.1.2 would restrict it to a LAN address.
First Boot and Connecting
The first start takes several minutes while the server generates the map from your seed and size, and plenty of harmless-looking errors scroll past. Wait for:
Server startup complete Then open Rust, press F1 and type connect localhost:28015 if the game and server are on the same machine. From anywhere else, use the server's IP and port instead of localhost. Addresses starting 192., 172. or 10. are private, so outside players need your public IP and a port forward. Rust Console Commands lists the other client commands.
Check the country your server shows
Facepunch locates servers with MaxMind, and since May 2026 the server browser uses that location to sort servers by distance for each player. If your server shows the wrong country, submit a correction to MaxMind. A host can get its Geofeed data used, which fixes the location for every server it runs.
Make Yourself Admin
With the server running and you connected, run users in the server console to get your SteamID, then:
ownerid 76561198123456789 "TomSmith"
moderatorid 76561198123456789 "TomSmith" Reconnect, and the console shows has auth level. There's no save step: Facepunch notes it "is done automatically now". With the server stopped you can instead add a line to users.cfg: ownerid 76561198123456789 "TomSmith" "". For what to do with admin rights, see Rust Admin Commands: The Complete List.
Making It a Private Rust Server
Rust has no private-server switch. Facepunch's own wording is that Rust "by default doesn't offer a whitelisting system but does have skipqueue". Their guide to a hidden server combines three things:
- Keep it out of the list. The browser listing comes from the query port, so a hidden server sets
server.queryportto an obscure port and firewalls it. That takes root access to the firewall. - Let only named players in. Set
server.maxplayers 0. Admins and anyone you add withglobal.skipqueueid <SteamID64> "name"can still join, and those entries are saved inusers.cfglike admins. The plugin alternative is Whitelist on Oxide, granted witho.grant user <id> whitelist.allow, but its last release was in 2018, so test it on your build first. - Don't leak the address. Players connect with
client.connecthidden IP:PORT, which doesn't print the address to the console. Facepunch suggests binding it to a key off-stream:bind f6 "client.connecthidden IP:PORT;console.clear".
censorplayerlist true also hides player names from third-party sites that scrape server lists.
Running the Same Server on GameServerKings
A Rust server on our panel is the same app 258550. It gets installed for you with DepotDownloader rather than SteamCMD, then launched with a fixed command line that you control through the Startup tab. The parts that differ from a self-hosted install:
| Self-hosted | On a GSK Rust server |
|---|---|
You choose +server.identity |
Identity is myserver, so config is server/myserver/cfg/server.cfg and users.cfg sits beside it |
Parameters live in a .bat or runds.sh |
Startup tab fields: Server Name, World Size, World Seed, Max Players, Server Tags, FPS Limit, Custom Map. Anything else goes in Additional Arguments or server.cfg |
app_update 258550 -beta staging |
Type staging or aux01 into Beta Branch and leave Validate Steam Files on for the switch |
| Update loop in your script | Automatic Steam Updates updates the server on every restart. Turning it off stops that |
| Reinstall Oxide after every update | Modding Framework is set to vanilla, oxide or carbon in the Startup tab (Oxide, Carbon). To go back to vanilla after a framework, restart with Validate Steam Files on |
| RCON set by hand | WebSocket RCON is always on, on the RCON Port (default 28016) with the RCON Password you set |
| Rust+ defaults to game port + 67 | App Port is passed explicitly (default 28017; -1 disables Rust+). Query port is its own Query Port field |
| You pick the server FPS | FPS Limit defaults to 30; the panel advises against going above 60 |
The panel console waits for Server startup complete like you would, and sends quit when you press Stop. Your connect address is shown on the panel. Getting started with your Rust server walks through the first half hour, including connecting and setting ownerid from the Console tab. Setting up Automatic Schedules replaces the restart loop.
One thing that doesn't carry over is the hidden-server trick. On a game-server plan you don't control the firewall, so you can't block the query port. The maxplayers 0 + skipqueueid method (set Max Players to 0) works as normal.
What Does It Cost to Run a Rust Server?
RAM is what drives the cost. 12 GB free is the documented starting point, and that's why Rust costs more to host than most games.
- Your own hardware: electricity, upload bandwidth, and 12 GB of RAM plus 15 GB of SSD tied up while it runs. The server is offline whenever the machine is.
- A rented machine: a box with at least 12 GB free, fast single-thread CPU and NVMe is not a budget VPS. It's still self-hosting. Our dedicated game servers are single-tenant machines with root access, where you run the SteamCMD install above yourself.
- A game-server host: our Rust server plans start at $13.00/month for 12 GB RAM, 20 GB NVMe and 1.5 vCores, the configuration we recommend because 12 GB is Facepunch's figure. The largest standard plan is $52.00/month for 20 GB RAM, 40 GB NVMe and 3 vCores, which suits a 5000–6000 map with a heavy plugin load. Prices as of September 2026. DDoS protection is included.
Whichever route you pick, budget for these too:
- Bandwidth. A busy Rust server sends a steady stream of UDP. On home connections, upload speed is usually the limit before the CPU is.
- DDoS protection. A public server with a healthy population will get attacked. On a home line, that takes the whole household offline.
- Your time. Rust updates monthly, and a modded server needs its framework updated every time.
Self-Host or Rent?
Self-hosting makes sense when you're testing plugins or maps, playing with a few friends, or you have a spare machine with 12 GB going unused and you enjoy the admin work.
Renting wins when the server has to be up 24/7, it's open to the public (at which point DDoS protection isn't optional), your upload can't carry the population, or you'd rather spend wipe day on the community than on SteamCMD and port forwards.
Self-hosting Rust isn't hard, it's relentless. The install is one command. Keeping a public server updated, protected and online through every wipe is the ongoing job.
FAQ
How do I make a Rust server for free?
Install the Rust dedicated server (app 258550) with SteamCMD using +login anonymous, add your parameters to a start script, and run it. The software is free. The costs are the hardware (12 GB of free RAM, 15 GB of disk), your bandwidth and, for public servers, DDoS exposure.
What is a Rust dedicated server?
It's the standalone server program Facepunch ships separately from the game: RustDedicated, Steam app 258550. It runs without graphics (-batchmode), and every community, modded and rented Rust server runs it.
Can I make a private Rust server?
Yes. Rust has no built-in whitelist, but you can keep a server out of the browser by firewalling its query port, and let only chosen players in by setting server.maxplayers 0 and adding them with global.skipqueueid. A whitelist plugin on Oxide is the other route.
Do I need a Steam account to host a Rust server?
No. Facepunch: "You do NOT need a Steam account to install and run a Rust server, but you will need a steam account with Rust to join and play."
What ports does a Rust server need?
server.port (28015, UDP) to play. server.queryport (UDP, different from the game port) to appear in the browser. rcon.port (TCP) for remote admin and app.port (TCP, 10000 or higher) for Rust+.
How much RAM does a Rust server need?
Facepunch's figure is 12 GB free, more for a 6k map. Usage grows with players, entities and plugins, so a server late in a wipe uses more than one on wipe day.
How long does a Rust server take to start?
Several minutes the first time, while it generates the map. Larger world sizes take longer. Wait for Server startup complete before connecting.
Can I make a PvE Rust server?
Yes. Vanilla Rust is PvP, so PvE comes from server settings and plugins such as TruePVE. Our Rust PvE server guide covers the setup.
What to Read Next
- Getting started with your Rust server: first boot, connecting and owner rights on our panel
- How to install Oxide for Rust: plugin support, the first thing most owners add
- Rust Plugins: The Best Oxide & Carbon Plugins: what to install once Oxide or Carbon is running
- Rust Admin Commands: The Complete List: commands once you're admin
- Rust Server Lag & Performance: diagnosing lag and right-sizing hardware
- When Is the Next Rust Wipe?: wipe schedules and how to wipe properly
- How to change the map and map size on a Rust server: seed and world size in practice
- How to: Install Custom Maps For Rust Servers: hosting the
.mapfile and pointing your server at it - Rust Base Design: testing a base design on your own server before you build it on a live one
Made with 💜 by GameServerKings

Need a Rust server?
Deploy an instantly-provisioned Rust server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $13.00 /month