VGKAMI
Advertise Get listed

Game Guides

How to Make a Rust Server: Step-by-Step Setup Guide

October 26, 2026 11 min read

You can run a Rust dedicated server on Windows, Linux, or macOS with Facepunch’s RustDedicated files and SteamCMD app ID 258550. The basic process is: install SteamCMD, download and validate RustDedicated, choose an identity and world settings, launch with separate game and query ports, then configure firewall and router rules if people outside your home network will connect. Facepunch’s baseline is 12 GB of free RAM and 15 GB of free disk space, with an SSD or NVMe drive strongly preferred. This guide covers a local test server, a public server, RCON administration, Rust+, whitelisting, and mod maintenance.

What do I need before making a Rust server?

Decide how the server will be used before installing anything. A private test world on the same computer needs no router configuration; an internet server needs a stable private IP, port forwarding, and host-firewall rules. A modded server adds another maintenance step because updates can restore vanilla files.

  • Operating system: Windows, Linux, or macOS.
  • Memory: Facepunch documents 12 GB of free RAM as a baseline. A 6,000-size map uses more, and a larger population also raises memory demand.
  • Storage: Reserve at least 15 GB of free disk space. SSD or NVMe storage is highly preferred for world generation and save operations.
  • Player accounts: The server download can use anonymous SteamCMD access. Every person joining must have a Steam account that owns Rust. Facepunch states: “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.”
  • A server identity: Choose a short name such as myserver. It becomes the folder containing that server’s world and configuration.
  • Design decisions: Choose local-only or public access, vanilla or modded gameplay, Rust+ support, and whether the server is private or whitelisted.

Keep the Rust server directory separate from SteamCMD itself and keep your startup script outside files that SteamCMD replaces. That makes updates and recovery safer.

How do I install RustDedicated with SteamCMD?

SteamCMD is Facepunch’s documented installation and update route. Rust’s Steam application ID is 258550. The commands below create a SteamCMD folder and a separate Rust server folder on Linux.

Linux installation

mkdir -p ~/steamcmd ~/rust
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar xvfz steamcmd_linux.tar.gz
chmod +x steamcmd.sh
./steamcmd.sh +force_install_dir ../rust +login anonymous +app_update 258550 validate +quit

+login anonymous is important in this flow. Without a login argument, SteamCMD can return ERROR! Failed to install app '258550' (No subscription). After the command completes, the dedicated-server executable and support files are in ~/rust.

Windows installation

Download and unpack SteamCMD, then run steamcmd.exe from a command prompt. Substitute Windows paths for the Linux paths and use the same arguments:

steamcmd.exe +force_install_dir ..rust +login anonymous +app_update 258550 validate +quit

Run the command from the SteamCMD directory or use absolute paths. If installation fails, check that the target directory exists, that the account is logged in anonymously, and that the app ID is exactly 258550.

Updating safely

  1. Stop RustDedicated and wait for the process to exit so the current world is saved.
  2. Run the same SteamCMD command with +app_update 258550 validate.
  3. Review any startup script, configuration, and plugin files that may have been replaced.
  4. Start the server again and wait for the completion message before allowing players back in.

If you use uMod/Oxide, SteamCMD may restore vanilla files during the update. Reapply the matching mod build after every update rather than letting an automatic loop overwrite it repeatedly.

What launch command should I use for a first Rust server?

Start with a small procedural map and a low player cap while testing. This Windows command sets the game port, map, seed, world size, identity, hostname, description, RCON, and a log file.

RustDedicated.exe -batchmode +server.port 28015 +server.level "Procedural Map" +server.seed 1234 +server.worldsize 4000 +server.maxplayers 10 +server.hostname "My Rust Server" +server.description "Private test server" +server.identity "myserver" +rcon.port 28016 +rcon.password "CHANGE_THIS_LONG_PASSWORD" +rcon.web 1 -logfile rustserverlog.txt

On Linux, run ./RustDedicated with the same +server.* and +rcon.* arguments. -batchmode keeps the server in a non-GUI mode, which is useful for a service or terminal session.

What each important setting controls

Setting Purpose Example or documented range
server.port UDP port players use to connect to the game 28015
server.level Map type Procedural Map
server.seed Controls procedural map generation 1234
server.worldsize Procedural map dimensions 1,000 to 6,000
server.maxplayers Simultaneous-player cap 10 in the example
server.hostname Name shown to players and listing services My Rust Server
server.description Listing description Private test server
server.identity Selects the save and configuration directory myserver
rcon.port TCP administration port 28016
rcon.password Password for RCON clients Use a long unique value
rcon.web Enables web-enabled RCON access 1
-logfile Writes console output to a file rustserverlog.txt

The first procedural map can take several minutes to generate. Do not assume a failed launch while the process is still working. Wait for the console message “Server startup complete” before testing.

How do I make settings persistent in server.cfg?

Command-line options are convenient for the first launch, but persistent server values belong in the identity’s configuration folder. For the example identity, create:

rust/server/myserver/cfg/server.cfg

Use one setting per line:

server.hostname "My Rust Server"
server.description "A server for friends"
server.maxplayers 10
server.saveinterval 600

Do not put + or - prefixes in server.cfg. Facepunch documents that the file is read at startup, takes priority over duplicate command-line settings, and is not modified by the server. Keep the file backed up with the identity folder so a world restore brings back the intended settings.

Which ports does a Rust server use?

Rust uses separate UDP ports for gameplay and browser queries, while RCON and Rust+ use TCP. Choose distinct values and open only the services you actually need.

Service Protocol Role Example or rule
Game UDP Player connections 28015
Query UDP Server-browser discovery and status Defaults to one higher than the greater of server.port or rcon.port unless explicitly set; it cannot equal the game port
RCON TCP Remote administration 28016 in the example
Rust+ companion TCP Phone-companion service Custom app.port must be at least 10000

For a public server, give the host a static private IPv4 address, forward the selected ports from the router to that address, and allow those same ports through the operating-system firewall. Forward the game and query UDP ports for normal listing and play. Expose RCON or Rust+ only when required, and restrict RCON’s source addresses in the firewall where possible.

A local-only server does not need router forwarding. Players on the same LAN should use the host’s private address; internet players use the router’s public address and forwarded game port.

How do I connect and test the server?

  1. Start RustDedicated and wait for Server startup complete.
  2. On the same computer, launch Rust, press F1 to open the console, and run connect localhost:28015. Replace the port if you selected another game port.
  3. From the same LAN, connect to the host’s private IPv4 address and game port.
  4. From outside the network, connect to the router’s public IP and forwarded game port.

If the process is running but the server is missing from the browser, check the query port first. Confirm that it is a separate UDP port, that the router forwards it to the right private address, and that the host firewall allows it. A direct console connection can work even when browser discovery is misconfigured.

How do I add myself as a Rust server admin?

Linux administration is normally done through RCON because the dedicated-server console is not interactive in the same way as Windows. Set a strong RCON password, enable rcon.web 1, and connect an RCON client to the configured TCP port.

  1. Connect to RCON while the server is running.
  2. Run users to identify the player’s SteamID.
  3. Grant owner access with the command below, replacing the ID and display name:
ownerid 76561198123456789 "PlayerName"

Have the player disconnect and reconnect so the new authorization level is applied. The lower role uses moderatorid. When the server is stopped, you can instead place an ownerid line in users.cfg.

Keeping RCON safe

  • Use a long, unique password rather than the sample value.
  • Allow the TCP port only from trusted administrator addresses when your firewall supports source restrictions.
  • Do not expose RCON merely to make the server appear in the browser; browser listing uses the query service.

How do I keep a Linux Rust server running?

Use a terminal multiplexer so the process keeps running after you disconnect from SSH. A simple documented pattern uses screen:

screen -S rust_server ./runds.sh

Detach with Ctrl+A, then D. Reconnect later with:

screen -x rust_server

Put the launch command in runds.sh, keep it outside the files SteamCMD replaces, and stop the process cleanly before updates. For unattended operation, add your own service manager only after the basic launch, logging, and save behavior are reliable.

How do I install uMod/Oxide plugins?

uMod/Oxide is optional. It adds plugin support, console commands, hooks, and RCON integration. Download the build matching the server operating system and extract it into the Rust server directory, then install compatible plugins according to their instructions.

SteamCMD updates can restore vanilla Rust files and remove or overwrite mod files. After every Rust update, stop the server, update and validate app 258550, restore the matching uMod/Oxide files, and only then start the server. Avoid an update loop that immediately replaces the mod installation again.

How do I enable Rust+?

Rust+ is a separate companion service rather than an alternative game port. If enabled, expose its TCP companion port, add matching firewall and router rules, and verify the active value with app.info. A custom app.port must be 10000 or higher, and the server must be able to reach companion-rust.facepunch.com outbound.

How do I hide and whitelist a private Rust server?

A password alone does not make a server invisible. Facepunch explains that the Steam query port exposes the server name, player count, map information, and active players to discovery services.

  1. Choose a query port you can block from unwanted networks.
  2. Use firewall rules to limit query and game traffic to the addresses you intend to allow.
  3. Configure a whitelist for approved SteamIDs.
  4. Test from an allowed client before inviting players, then test that an unapproved client is rejected.

For a friends-only server, a private LAN address and no router forwarding are simpler than exposing a public endpoint. For an internet whitelist, document the allowed IDs and keep an emergency administrator account available through RCON.

What should I check when the server does not work?

SteamCMD reports “No subscription”

  • Confirm +login anonymous appears before +app_update.
  • Verify the app ID is 258550.
  • Check the install path and permissions.
  • Run validate again after correcting the command.

RustDedicated exits or never finishes startup

  • Confirm you are launching the executable from the installed Rust directory.
  • Check that server.identity contains no accidental path or typo.
  • Verify the account running the process can write the server and identity folders.
  • Check free RAM and disk space, especially with a large map.
  • Allow several minutes for first-time procedural generation.

The server runs but is absent from the browser

  • Make sure game and query ports are different.
  • Forward the query UDP port to the same static private IP as the game port.
  • Allow both UDP ports through the host firewall.
  • Check that the query port was not unintentionally derived to a value blocked by another service.

Outside players cannot join

  • Confirm the router forwards the game UDP port to the current private IP, not an old DHCP address.
  • Check the host firewall separately from the router.
  • Test from a genuinely external connection; some routers do not support hairpin connections from inside the same LAN.

RCON does not connect

  • Verify the TCP port, password, and rcon.web 1.
  • Check that the RCON client is using the server’s reachable address rather than the game port.
  • Review firewall source restrictions and avoid exposing the port broadly.

Rust+ or plugins stopped working after an update

  • For Rust+, verify the companion TCP port, the 10000-or-higher custom-port rule, firewall forwarding, and outbound access to the companion service.
  • For uMod/Oxide, reinstall or restore the matching mod files after SteamCMD has finished updating.

Should I self-host Rust or use managed hosting?

Self-hosting gives you direct control over files, schedules, identity folders, plugins, and network policy, but you must provide uptime, backups, updates, port forwarding, and DDoS protection yourself. Managed hosting removes most router and home-machine work and may offer geographic locations, automated backups, update handling, and network controls, but costs a recurring monthly fee and gives you less control over the underlying machine.

Decision factor Self-hosting Managed service
Monthly cost Uses your existing hardware and connection Recurring hosting charge
CPU, RAM, and storage You choose and maintain them Defined by the selected allocation
Backups You schedule and verify them Depends on the provider’s policy
Location and network controls Your home or chosen server network Provider locations and included controls
Mods and wipes Manual installation and scheduling May include management tools
RCON Configure and secure it yourself Availability depends on the plan
Updates You stop, validate, and restore plugins The provider may automate part of the process

Choose self-hosting when you want hands-on control and already have suitable hardware. Choose managed infrastructure when reliable public uptime, remote location, or reduced maintenance matters more than running the network stack yourself.

Frequently Asked Questions

Can I run a Rust server without owning Rust on the host account?

Yes. SteamCMD can download and run the dedicated server anonymously, so the host account does not need a Rust subscription. Anyone who joins the server still needs a Steam account that owns the game.

Why can friends join by IP but not find my server in the browser?

Direct connection uses the game port, while browser discovery uses the separate UDP query port. Forward and allow the query port, and ensure it does not equal the game port.

Does changing the seed change an existing Rust world?

The seed controls procedural generation when a world is created. Changing it in a configuration for an already-generated identity does not automatically rebuild that saved world; use a new identity or deliberately replace the save when you want a fresh map.

Can I expose RCON through the same port as gameplay?

No. RCON is a separate TCP service and should use its own port, such as 28016 in the example. Keeping protocols and access rules separate also makes firewall restrictions easier.

What is the safest way to test public access from home?

Use a device on a different internet connection, such as a phone hotspot, and connect to the router’s public address. Testing from the same LAN can give misleading results when the router lacks hairpin NAT support.