Rust Server Convars: Complete Reference with Defaults
The convars you actually use, with defaults - which ones must go on the command line, why your changes vanish without writecfg, and why there is no gather rate convar.
Where the settings live
Everything sits under server/<identity>/cfg/:
| File | Contents |
|---|---|
server.cfg |
Your convars. Read at startup, not created automatically |
users.cfg |
Your admins and moderators |
bans.cfg |
Your bans |
The format in server.cfg is one convar per line, without a + in front, with quotes around values containing spaces:
server.hostname "My Rust server"
server.maxplayers 100
server.pve false
decay.scale 0.5
server.cfgwins over the command line. Facepunch's own recommendation is to keep the command line to essentials - ports, identity and RCON - and put everything else inserver.cfg.
Changes vanish if you forget writecfg
If you change a convar in the console or over RCON, it applies only until the next restart. The server does not write to server.cfg by itself.
server.writecfg
This writes the current values to disk - server.cfg, users.cfg and bans.cfg.
Two things to know about
writecfg: it overwrites yourserver.cfgwith the running values, so any comments and your own formatting are lost. And after a ban you should run it, so the ban survives a crash too.
users.cfgis the exception - it is saved automatically when you useowneridormoderatorid.
Startup-only: the ones that cannot go in server.cfg
This is the most useful distinction on the page.
Must be on the command line:
| Parameter | Why |
|---|---|
+server.identity |
It decides which folder server.cfg is even read from |
+server.port |
The port is opened at startup |
+server.queryport |
The same |
+server.ip |
The address is bound at startup |
+rcon.port, +rcon.password, +rcon.web |
RCON starts at startup |
+server.gamemode |
Facepunch states it must be set at startup |
Only take effect at map generation - they can sit in server.cfg, but only apply when a new map is created (and that wipes the map):
server.seed
server.worldsize
server.level
server.levelurl
Everything else can be changed at runtime from the console or RCON - just remember server.writecfg afterwards.
Identity and server listing
| Convar | Default | Meaning |
|---|---|---|
server.hostname |
My Untitled Rust Server |
The name in the server browser |
server.description |
- | Text on the server info panel. \n gives a line break |
server.headerimage |
empty | URL for the banner image |
server.logoimage |
empty | URL for the round icon. 256×256 recommended |
server.url |
empty | Link to your website |
server.identity |
my_server_identity |
The folder name for this server |
server.port |
28015 |
The game port, UDP |
server.queryport |
0 |
The query port. 0 = automatic. Must be open and must not equal server.port |
server.maxplayers |
500 |
Number of slots |
server.tags |
empty | Comma-separated server browser tags, e.g. weekly,vanilla,pve |
server.gamemode |
empty | Empty = vanilla. Also survival, softcore, hardcore, primitive |
server.censorplayerlist |
true |
Hides the player list externally |
World
| Convar | Default | Meaning |
|---|---|---|
server.seed |
1337 |
The map seed. 0 to 2147483647 |
server.worldsize |
4500 |
Map size in metres. 1000 to 6000 |
server.level |
Procedural Map |
The map type |
server.levelurl |
empty | URL for a custom map. When set, seed and size are ignored |
Change any of these four and the map is regenerated - and that wipes the map. See How to Wipe Your Rust Server.
Gameplay
| Convar | Default | Meaning |
|---|---|---|
server.pve |
false |
PvE mode. Sets the PvE tag itself |
server.stability |
true |
Structural stability for buildings |
server.radiation |
true |
Radiation at monuments |
craft.instant |
false |
Removes crafting time entirely |
decay.scale |
1 |
Building decay. 0 disables it completely |
decay.upkeep |
true |
The tool cupboard upkeep system |
decay.tick |
600 |
Seconds between decay checks |
chat.globalchat |
true |
false gives proximity chat only |
chat.localchatrange |
100 |
Range in metres for local chat |
relationshipmanager.maxteamsize |
8 |
Maximum players in a team |
Gather rates: the most important misconception
Vanilla Rust has no convar for gather rates. There is no gather.rate, no server.gathermultiplier and no harvest multiplier.
To run 2x or 5x on a normal server you need a plugin - Oxide or Carbon plus something like GatherManager. If your control panel has a field called "gather rate", it is writing to a plugin config, not a convar.
craft.instanton the other hand is genuine vanilla. But per-item crafting speed also needs a plugin.
See How to Install Oxide/uMod Plugins on Your Rust Server.
Despawn and player data
| Convar | Default | Meaning |
|---|---|---|
server.itemdespawn |
300 |
Seconds a dropped item stays |
server.itemdespawn_quick |
30 |
The same, for low-value items |
server.corpsedespawn |
300 |
Seconds a player corpse stays |
server.npccorpsedespawn |
600 |
The same, for animals and NPCs |
server.debrisdespawn |
30 |
Seconds building debris stays |
server.combatlogdelay |
10 |
Seconds of delay on the combat log |
server.saveinterval |
600 |
Seconds between automatic saves |
server.savebackupcount |
2 |
Number of rolling backups |
Performance
| Convar | Default | Meaning |
|---|---|---|
server.tickrate |
10 |
Simulations per second. The biggest CPU dial |
fps.limit |
240 |
The server frame rate. Lower to 30-60 to save idle CPU |
server.entityrate |
16 |
Entity updates per tick per player |
server.entitybatchsize |
100 |
Entities per network batch |
server.maxreceivetime |
20 |
Milliseconds per frame for inbound packets |
server.netcache |
true |
Reuses network snapshots across players |
global.maxthreads |
8 |
Number of worker threads |
The server.fps command shows the server's current frame rate. Close to fps.limit means it is healthy. Sitting persistently around server.tickrate means it is CPU-bound.
Anti-cheat
| Convar | Default | Meaning |
|---|---|---|
server.anticheattoken |
true |
Requires a valid EAC token from clients |
server.strictauth_eac |
false |
Rejects clients failing strict EAC checks |
server.strictauth_steam |
false |
The same for Steam |
server.encryption |
2 |
Encryption level. Leave it alone |
server.securedoes not exist. Rust uses EasyAntiCheat, not VAC. The convar existed years ago, which is why it still appears in a lot of outdated lists.
Wipe timer
Controls the countdown players can see. It does not perform the wipe.
| Convar | Default | Meaning |
|---|---|---|
wipetimer.wipeDayofWeek |
4 |
0 = Sunday, 4 = Thursday |
wipetimer.wipeHourofDay |
19 |
Hour of the day. Decimals allowed |
wipetimer.wipeTimezone |
Europe/London | Timezone identifier |
wipetimer.wipecronoverride |
empty | A cron expression overriding everything else |
The PrintWipe command shows the calculated schedule and the next ten wipe dates.
Admins and bans
| Command | What it does |
|---|---|
ownerid <steam64> "name" "reason" |
Grants full admin |
moderatorid <steam64> "name" "reason" |
Grants moderator |
removeowner <steam64> |
Removes admin |
removemoderator <steam64> |
Removes moderator |
users |
Lists connected players with their IDs |
ban <player> <reason> |
Bans a connected player |
banid <steam64> <name> <reason> |
Bans whether or not they are online |
unban <steam64> |
Lifts a ban |
banlistex |
Lists bans with reason and name |
kick <player> <reason> |
Kicks a player |
The player has to reconnect before a new admin permission takes effect.
Useful console commands
| Command | What it does |
|---|---|
status |
Everyone connected with ID, ping and connection time |
players |
A shorter player list |
say <message> |
Broadcast from the server |
server.save |
Saves now |
server.fps |
The server frame rate |
restart <seconds> |
Restart with a countdown |
quit |
Clean shutdown |
find <text> |
Searches every convar and command. The best tool in the console |
findis the answer whenever you are unsure of a name.find decayshows everything about decay with its current value - and it is always right for your exact server version.
Three convars that do not exist
They appear in plenty of lists around the web, and they do nothing:
| Does not exist | The real one |
|---|---|
server.secure |
Rust uses EasyAntiCheat. See the anti-cheat section |
server.globalchat |
It is chat.globalchat |
server.maxteamsize |
It is relationshipmanager.maxteamsize |
Good advice
- Write
server.cfgby hand and keep it tidy - but remember thatserver.writecfgoverwrites it without mercy. - Run
server.writecfgafter every ban. - Use
findinstead of searching lists. Your server version is the authority. - Do not touch
server.encryptionand the other anti-cheat values without a reason. - Lower
fps.limitif the server sits empty most of the day. That is free CPU.
Unsure about a convar? Run find <name> in the console - or contact our support if the value does not do what you expect.