Guides

Rust server.cfg Explained: The Settings Every Server Should Set

A real server.cfg from a Rust test server: server.hostname, server.tags monthly, server.description, server.maxplayers, server.url and server.headerimage, then three halloween settings

Every Rust server has a small text file that decides what players see in the browser, how big the world is, how often progress is saved and which rules apply: server.cfg. A fresh install does not create it, the game never writes to it, and half the copies passed around between owners are full of settings that were renamed or removed years ago.

Put only the server’s identity, ports and RCON on the startup line, and everything else in server.cfg, which runs after the startup line and wins over it. Set the browser details (name, description, website, header image, tags), the world (size, seed or a custom map), the player limit and the save interval, and change gameplay rules only when you know why.

This guide is for owners setting up a server for the first time or cleaning up an inherited config. Every setting below exists in the current game: names and defaults were checked against the server code of the build released with Facepunch’s November 2026 update and against Facepunch’s wiki.

Where server.cfg lives and when it runs

The file goes in your server’s identity folder: server/<identity>/cfg/server.cfg, where the identity is the name you start the server with. If the folder is server/main, the file is server/main/cfg/server.cfg.

Two config files live in that folder, and they are not the same thing:

  • serverauto.cfg is written by the server itself, whenever it saves settings (for example with server.writecfg). It holds hundreds of values and is overwritten freely.
  • server.cfg is yours. The server reads it but never writes it.

File list of the cfg folder of a fresh Rust server with bans.cfg, relay_cfg.json, serverauto.cfg and users.cfg but no server.cfg, above the first lines of serverauto.cfg

A fresh server writes serverauto.cfg itself; server.cfg only exists once you create it.

At startup the order is: the startup line is applied first, then serverauto.cfg, then server.cfg. Whatever is in server.cfg is applied last, so it overrides the other two. This all happens before the world is generated or loaded, which is why the world size and seed can live in server.cfg.

The format is one setting per line, without the + used on the startup line, and with quotes around anything that contains spaces:

server.hostname "Badgyver's Test Server | Monthly | EU"
server.maxplayers 100

Startup line or server.cfg?

Facepunch’s wiki recommends keeping only the essentials on the command line, ports and RCON, and putting everything else in server.cfg. One setting can only go on the startup line: server.identity, because it decides which folder the server reads server.cfg from in the first place.

A clean startup line looks like this:

RustDedicated.exe -batchmode +server.identity "main" +server.port 28015 +server.queryport 28016 +rcon.port 28017 +rcon.password "change-me" +rcon.web 1 -logfile "server.log"
  • -batchmode runs the server without a window.
  • server.port (default 28015) is the UDP port players connect to. server.queryport is the UDP port the Steam server browser asks; the wiki says it must be open for the server to be listed and cannot be the same as the game port.
  • rcon.port and rcon.password are for remote administration over TCP. Use a long password and never paste it anywhere public. rcon.web 1 selects WebSocket RCON, which is the default; the older Source-style RCON is marked deprecated in the code.

How your server looks in the browser

These lines are your shop window. Players decide in a few seconds.

server.hostname

The name in the list. The default is “My Untitled Rust Server”. Players scan names before anything else, so put the essentials there: what kind of server it is and how often it wipes.

server.description

The text on the server’s page. Write \n for a new line. The server sends it to Steam in pieces of 100 characters, up to 16 of them, so anything past 1,600 characters is cut off. Say what the server is, the wipe schedule, group limits, the main rules and where to find your community.

server.url, server.headerimage and server.logoimage

server.url is the website link on the server’s page. server.headerimage is the banner and server.logoimage the logo; both are web addresses of images, and the server sends them to Steam as given. Host them somewhere reliable over HTTPS: a dead image link makes a server look abandoned. The wiki gives no required size, so check how yours looks in the browser after you set it.

server.tags

A comma-separated list of browser tags, for example server.tags monthly,vanilla,EU. The game only accepts tags from Facepunch’s list and corrects anything else away:

  • One wipe schedule: monthly, biweekly or weekly.
  • One difficulty: vanilla, hardcore or softcore.
  • Server types: roleplay, creative, minigame, training, battlefield, broyale, builds, tut.
  • One region: NA, SA, EU, WA, EA, OC or AF.

The server keeps at most four tags, and it keeps them in a fixed order: wipe schedule, difficulty, the server types, then region. Set a schedule, a difficulty, two server types and a region, and the region is the one that silently disappears. The pve tag is added automatically by server.pve true, and vanilla is dropped when a game mode other than vanilla is running.

Players and the world

  • server.maxplayers defaults to 500. Set it to what your hardware and map can hold, not to the biggest number allowed.
  • server.worldsize defaults to 4500; the game clamps procedural maps to between 1000 and 6000. Bigger maps need more memory and feel empty with few players. Rust map size explained has the details.
  • server.seed defaults to 1337 and decides the layout of a procedural map. Change it every map wipe or players will spawn on a map they already know by heart. server.salt adds variation to monument and road placement.
  • server.level defaults to “Procedural Map”.

Running a custom map

A custom map replaces the seed and size with one line: server.levelurl, the direct download address of the .map file. The wiki is clear about two things. It must be a direct link that starts the download straight away, and it must stay online, because players download the map from that address, not from your server. Remove server.seed and server.worldsize; they only apply to procedural maps. Some custom maps also need extra server files, and the map’s instructions will say so. A jungle map like my CHRONUS goes on a server exactly this way: one server.levelurl line in place of the seed and size.

Saving and housekeeping

  • server.saveinterval (600 seconds) is how often the world is saved. Lower means less lost after a crash and a little more work for the server.
  • server.savebackupcount (2) is how many older saves are kept.
  • server.idlekick (30 minutes) kicks inactive players; server.idlekickmode (1) applies it to everyone except admins.
  • server.encryption (2) keeps network encryption on. Leave it.

Rust WebRCON console showing repeated Saved 33,0xx ents and Saving complete lines, then server.writecfg typed in the input box and Config Saved

Each Saved ents line is one world save, made every server.saveinterval seconds; server.writecfg writes serverauto.cfg. Image: Facepunch Studios.

Gameplay rules most servers touch

These change how the game plays, so change them on purpose and say so in the description:

  • server.pve (false) turns on Rust’s built-in PvE mode.
  • decay.scale (1) multiplies decay damage; 0 switches decay off. decay.upkeep (true) switches upkeep on or off.
  • server.max_sleeping_bags (15) is how many bags and beds each player can own.
  • server.max_tool_cupboards (0, unlimited) caps tool cupboards per player. Lowering it does not remove cupboards already placed.
  • server.radiation, server.stability and server.events (all true) control radiation zones, building collapse and automatic events such as the patrol helicopter and cargo ship.

Wipe day, game mode and favourites

The wipe timer drives the countdown players can see in the Missile Silo and starts the endgame events before a wipe. By default it expects Thursday at 19:00 London time. Set it to your real schedule with wipetimer.wipedayofweek (0 is Sunday, 4 is Thursday), wipetimer.wipehourofday and wipetimer.wipetimezone, or use wipetimer.wipecronoverride with a cron expression for anything more complex.

server.gamemode activates one of Rust’s official game modes, such as softcore or hardcore, each of which applies its own set of rules.

If you have a domain, point a DNS name at the server (the wiki’s DNS page explains the A and SRV records) and set server.favoritesendpoint to it. Players who favourite the server then save the name instead of the IP address, so their favourite keeps working if you change host.

Some settings can be changed live from the console or RCON, but a change made there is lost on restart unless it ends up in a config file. Anything you want to keep belongs in server.cfg.

A complete starting server.cfg

A sensible first file for a monthly vanilla server in Europe. Change the values, keep the shape:

server.hostname "Your Server Name | Monthly | Vanilla | EU"
server.description "Vanilla Rust, max group 4.\nMap wipe: first Thursday of every month.\nRules and support: yourdomain.com"
server.url "https://yourdomain.com"
server.headerimage "https://yourdomain.com/rust/banner.jpg"
server.logoimage "https://yourdomain.com/rust/logo.png"
server.tags "monthly,vanilla,EU"
server.maxplayers 100
server.worldsize 3500
server.seed 482913
server.saveinterval 600
server.favoritesendpoint "play.yourdomain.com"
wipetimer.wipetimezone "Europe/London"

Restart, then check the result from the console: type a setting’s name alone, for example server.tags, and the server answers with the value it is actually using.

The checklist

  • server.identity, ports and RCON on the startup line; everything else in server/<identity>/cfg/server.cfg.
  • A name, description, website, header image and logo that say what the server is.
  • No more than four tags, one from each group, in the order the game keeps them.
  • A player limit and map size that fit your hardware and population.
  • A new seed each map wipe, or a direct and permanent link for a custom map.
  • The wipe timer set to your real schedule.
  • Every value checked from the console after a restart.

Where Badgyver comes in

I make custom Rust maps, and a custom map is the one line in server.cfg that changes everything else on this list: it replaces the seed and the size, and it is what players see the moment they load in. Every map I sell comes with its install notes, and if your server.cfg will not load one of them, send it to me on Discord and I will look at it.

From the store

Maps, monuments, prefabs and plugins for the servers this guide is about.

View all