Rust server.cfg + start.bat Generator
Build a working server.cfg and the matching start.bat (or Linux start.sh) for your Rust dedicated server in under a minute.
Vanilla convars only — current with what Facepunch actually ships. Tune hostname, world size, decay, RCON, team cap, wildlife, admin IDs — copy each file, drop it in.
Plugin/Oxide settings live in their own oxide/config/ files, so they aren't here on purpose. We won't pretend.
Server Identity
How your server shows up in the in-game browser. Name, blurb, banner, tags. These all live in server.cfg — change one, run server.writecfg in console, and the new value sticks across restarts without editing the file.
The name players see in the in-game server browser. Keep it short, descriptive, and searchable — "Vanilla 2x | Weekly | EU" beats "ben's server pls join". Don't go wild with emoji; some browsers truncate at the first non-ASCII character.
Longer blurb shown on the server details panel — rules, wipe schedule, Discord invite. Use \n as a literal in-line to force line breaks (Rust will translate them on render).
Clickable link from the server panel — usually your community site or Discord invite. One link only; pick the more useful one.
Banner shown above the server description in the browser. Must be exactly 512×256 pixels, hosted somewhere stable (Imgur, your CDN). Hotlinked from a forum? It'll vanish.
Small logo shown next to the header. Square works best. Same hosting caveat as the header — host it somewhere that won't 404 in a month.
Up to four comma-separated discovery keywords for browser filtering. Pick honest ones — "monthly,pve,US,2x". Lying about your rates here gets you reported and demoted in the browser sort.
Procedural Map is the standard random-each-wipe setup. The hand-built fixed maps (Barren, Hapis, Savas, Craggy) are smaller and mostly used for testing — they don't get balance updates. 99% of servers want Procedural Map.
On: the map seed rerolls every restart, so you get a fresh map every reboot. Almost always a mistake on a live server — keep this off and use the explicit Seed field below to lock the map. Useful only for stress-testing.
World & Map
Population cap, map size, seed, and the two big realism switches. Pick a worldsize and a seed early — both shape player density, monument layout, and how hard your server is to fill. RustMaps previews any size+seed combo before you commit.
Concurrent player cap. The technical ceiling is around 300, but real-world stable caps depend entirely on CPU single-thread performance and worldsize. Match this to what your hardware can actually serve — a stuttering 200-player server bleeds players faster than an honest 80-player one.
Side length of the procedural map in meters. Valid 1000–6000; most communities sit at 3000–4500. Bigger maps need more RAM and disk per save, and thin out player encounters — a 6000m map with 50 players feels empty.
Procedural seed — same seed + same worldsize = same map every time. Preview combos on rustmaps.com before committing. Players hate bad-monument-layout seeds; ten minutes of seed shopping is worth it.
Radiation at monuments. On by default — disabling it lets fresh spawns waltz through Launch Site for end-game loot, which trivializes progression. Keep on unless you're running a creative/build-test server.
Structural physics — supports, weight, collapse. Off lets players build literally-floating bases and sky platforms. Niche creative-mode flag; turning it off on a normal server breaks building expectations and invites cheese.
Game Mode & Teams
PvE switch, the hardcore/softcore game modes, and the team-size cap. Team size has a famous gotcha — the convar lives under relationshipmanager., not just maxteamsize.
When true, players can't damage each other. Bases still take damage from explosives, which means raiding still works in theory — most PvE communities also need a no-raid plugin to fully simulate the experience. Vanilla PvE alone is a partial fix, not a full mode.
Facepunch's official ruleset modes. vanilla is normal Rust. hardcore removes the map and compass, weakens map markers, and makes the world less navigable — true survival feel. softcore reduces death penalty (you keep half your inventory at safe-zone bags) for a friendlier experience. Pick one; it stacks with PvE if you want.
Cap on team membership. Default 8 — vanilla balance. Set 0 to disable teams entirely (solo-only servers). Heads-up: the prefix really is relationshipmanager., not just maxteamsize — the most common typo on Rust admin forums.
Save & Performance
Save frequency, tickrate, and FPS cap. Tickrate is the one beginners want to raise and basically every veteran will tell you to leave alone — Rust's networking does not become magically smoother above 30Hz on most hardware. Touch with restraint.
Seconds between full world saves. Default 300 (5 min) is genuinely fine — going lower hammers your disk and adds save-stutter without meaningfully reducing rollback on a crash. 600 (10 min) is fine on big servers; below 180 is asking for SSD wear.
Server network tick rate. Default 30 is what Facepunch tunes the game against. Going higher costs CPU per-tick on every entity; going lower makes things feel mushier. Almost no one should change this — if you do, benchmark before and after, not by feel.
Cap on the server's frame rate. High default (256) is fine on dedicated hardware. Cap to 60–120 on weak/shared hosts to keep thermals reasonable; this doesn't affect player experience, just how hard the box works between ticks.
Minutes between scheduled server restart cycles. Default 500. Rust leaks memory over long uptimes — a daily-ish restart on a fresh process genuinely helps stability. Pair with your host's restart scheduler.
How often the server updates each entity per second. Default 16. Affects perceived smoothness of moving entities (vehicles, animals). Rarely changed; lower it to reduce CPU on weak hosts.
Minutes of inactivity before a player gets kicked. Default 30. Set to 0 to disable idle-kicking entirely (popular on small community servers where AFK base-defending is a feature). Combine with the kick mode below.
When to kick idle players. 0 = never. 1 = only when the server is full and someone is waiting (default — sensible). 2 = always after the timeout, even on an empty server.
Whether the idle-kick rules apply to admins too. Default off — admins are exempt. Turn on only if your community has lots of admin accounts that shouldn't get to AFK-camp.
Skip the crafting timer entirely — items appear instantly. Admin/test flag, not a real server setting. Leave off for normal play; flip on briefly when you need to set up a base for a test or event.
Decay & Upkeep
How fast unattended bases fall apart. Default is vanilla — most PvE/community servers soften this, most PvP servers keep it as-is so old bases get cleared between wipes.
Global decay multiplier. Default 1.0 is vanilla. Drop to 0.5 for "I want bases to last longer", 0 to disable decay entirely (popular on small community servers — but the map fills up with abandoned bases over time, plan a wipe schedule). 2.0 makes raid timing tighter.
Minutes a base survives without upkeep materials in the cupboard before decay kicks in. Default 1440 (24 hours). Bump to 4320 (3 days) for casual servers, 10080 (1 week) for solo/small group where people log in less often.
Security & RCON
EAC anti-cheat plus the remote-console password. RCON port and IP are launch-script settings (see the Launch Script section below) — they have to bind before server.cfg loads. The password and websocket toggle stay here because they're read after, and putting the password on the command line means it shows up in process lists.
Easy Anti-Cheat. On by default and basically always should be — the only legitimate reason to turn it off is a private dev box where you're testing locally. A public server with EAC disabled is a cheater convention by the third day.
Mandatory and not optional — leave it blank or set "rustadmin" and your server gets owned the same day. Use a long random string (32+ chars). Anyone with this password can run any server command remotely; treat it like a root password.
On = modern websocket RCON (what BattleMetrics, Rustadmin, and most admin Discord bots talk to). Off = legacy Source-engine RCON, which is deprecated and slowly being broken on purpose. Leave on.
How strict the server-side anti-cheat responds to violations. 0 = log only (no kicks). 1 = warn + kick (default). 2 = ban on violation. Most servers leave this at 1. Bumping to 2 risks banning legitimate players whose connection causes false-positives.
Strictness of flyhack detection. Default 3 is balanced. Bump to 4–5 if you're seeing fly-cheating despite EAC; drop to 1–2 if legitimate players are getting false-positive kicks (usually from high-ping connections).
Strictness of speedhack detection. Default 3. Same trade-off as flyhack — higher = catches more cheats but more false positives on laggy clients.
Server-side validation of incoming projectile data (catches aim-bot and damage-amplification cheats). Default 6 (relatively strict). Lower only if you're getting false-positives on legitimate long-range shots.
Admin accounts don't trip anti-cheat (so you can fly, no-clip, give items without getting kicked by your own system). Default on, leave on. Off only if you specifically want admins held to the same rules.
Wildlife & AI
Animal populations and the AI master switches. Populations are entities per square kilometer — raising them makes the world denser (more food, more danger, more CPU). The AI toggles are mostly diagnostic — leave them on unless you're testing something specific.
Brown bear density. Default 2. Bears are the second-deadliest mid-game threat after wolf packs — bumping this to 4+ punishes naked travel and makes meat farming a side-quest.
Snow-biome bears. Lower default because they only spawn in the snow biome, which is a fraction of most maps. Crank this up if you want the arctic to feel actively hostile.
Wolf packs. The single most-feared early-game animal — they're fast, they path well, and they kill nakeds in seconds. Default 2 is balanced; 4+ makes the forest a deathtrap.
Boar density. Default 5 — common food source. Lower it on small maps to make food scarcity matter; raise it on hungry-server setups to keep nakeds fed.
Stag/deer density. Default 3. Cloth and leather source — bump it if your players keep crying about no cloth in the woods.
Chicken density. Default 3. Feathers and small food drops. Raise it for nakeds-friendly servers; lower it if you find the map carpeted in clucking.
Whether NPCs and animals can move toward their destinations. Off freezes them in place — diagnostic toggle, not a feature. Leave on.
Whether AI brains tick at all. Off and they stand around like statues. Again — diagnostic, leave on.
Master toggle for scientist/heavy/etc spawning at monuments. Turning this off makes monuments completely unguarded — trivializes Launch Site, Cargo Ship, and the train tunnels. Niche use only.
When true, animals and NPCs ignore players entirely. Build-test flag — turn it on while testing a fresh server so you can wander without getting eaten. Don't forget to turn it back off before going live.
Crocodile density. Default 1. Spawn in jungle/swamp areas only, so they cluster — the effective density in jungle biomes feels higher than the number suggests. Crank up for a properly hostile river system.
Panther/jaguar density. Default 0.5 — rare ambush predator in jungle areas. Don't increase too aggressively; panthers oneshot nakeds and are hard to spot until they're already mid-pounce.
How often AI brains tick (per second). Default 5. Higher = smarter, more responsive NPCs but more CPU; lower = dumber NPCs but less server load. Tune up only if you have CPU headroom and want monument scientists to feel more aggressive.
Seconds between NPC sensory updates (checking what they can see/hear). Default 1. Lower = NPCs react faster (good for difficulty), higher = saves CPU but NPCs feel sleepy.
Frame-budget for AI thinking per server tick. Default 5. Affects how much CPU per tick is allowed for AI calculation. Mostly leave at default unless you're tuning a high-NPC-density server.
Events & World
Patrol Helicopter, Cargo Ship, Bradley APC, and seasonal events. The big rotating world events admins commonly tune to fit their server's pacing — boost on PvP-heavy servers, soften on casual community servers.
How long the Patrol Helicopter stays in the world before despawning. Default 30. Raise for more aerial chaos; lower if your players keep wiping when they're trying to do other things.
Multiplier on the Patrol Heli's gun damage. Default 1.0. Lower for casual servers where the heli is currently shredding nakeds; raise for hardcore servers where shooting it down should feel earned.
How accurate the heli's gunfire is. Default 2. Lower number = tighter grouping = more dangerous. Some PvE servers raise to 4–5 to make heli fights survivable for nakeds.
Damage-percentage threshold at which the Heli flees (and you lose the fight). Default 0.35 (35% damage). Raise to 0.5+ to let heli fights play out longer; drop to 0.2 if you want heli to leave faster.
Master toggle for the Cargo Ship event. On (default) = ships periodically sail through the map. Off = no cargo events ever. Disable on RP/build servers where players don't want random PvP focal points.
How long the Cargo Ship event lasts before the ship leaves the map. Default 50 minutes. Raise to give players more time to fight over it; lower to make events feel snappier and more frequent.
How many waves of loot the Cargo Ship spawns during its run. Default 3. More rounds = more total loot per event = more reason to fight for it.
Whether the Bradley APC spawns at Launch Site. Default on. The most-feared end-game vehicle; disabling it dramatically softens late-game PvE difficulty. Off on creative/build-test servers.
Minutes between Bradley APC respawns at Launch Site. Default 60. Lower for high-pop PvP servers where Bradley fights are a contested event; raise for casual servers where one Bradley fight per session is enough.
Manual override for Halloween-themed content (pumpkins, costumes, scarecrows). Default off, but the game auto-enables this during October. Force-on to keep the season alive year-round, or force-off to skip it.
Whether NPC-given missions (Outpost, Fishing Village, Bandit Camp quest-givers) are available. Default on. Off on hardcore servers where you don't want the safe-zone NPC ecosystem.
Boombox & Streaming
Boombox streaming controls — how long player-streamed audio loops can be and which URLs are allowed. Vanilla limits exist because abusive long streams are a common server-bandwidth drain.
Maximum length of audio that loops/buffers per boombox track, in seconds. Default 30. Lower to reduce server bandwidth costs from heavy boombox usage; raise on community/RP servers where music is part of the vibe.
Comma-separated list of URLs that boomboxes can stream from. Leave blank for vanilla (default allow). Restrict to specific URLs to prevent abuse — players can only stream from sources you've approved. Useful on hosted/RP servers.
Chat & Communication
Global vs local chat, history retention, log capture. Defaults are sensible — most servers don't tune these unless they're doing something specific (e.g., immersive RP servers turn off global chat).
Whether players can use the global chat channel that everyone on the server sees. Default on. Off on RP servers where chat should be proximity-only.
Enables proximity-based text chat — players only see messages from nearby players. Default off. On for RP servers to pair with disabled global chat.
How far (in meters) local chat messages broadcast. Default 100. Only matters if local chat is enabled above.
How many chat messages the server retains. Default 1000. Affects how much history is available for moderation review and how much chat a newly-connecting player sees.
Whether chat messages appear in the server's log file (useful for moderation, evidence collection, and admin Discord webhooks that scrape the log). Default on. Leave on.
Admin & Permissions
Owners, moderators, bans, and the optional whitelist. All identifiers are SteamID64 — the 17-digit number that starts with 7656. Use steamid.io to look up yours from a Steam profile URL. One ID per line; the generator validates the format and flags anything that doesn't look right.
Full owner/admin permissions — every command, no restrictions. Add your own SteamID64 first, then any co-owners. Owners can promote moderators in console without editing the file.
Moderator permissions — kick, ban, mute, teleport, but not server-shutdown level. Use this for trusted admins who don't need full owner access. One SteamID64 per line.
Permanent bans. One SteamID64 per line. Reasons aren't required in this generator — add them in-line in the cfg afterward if you want (banid 7656... "grief"). Bans you issue in-game via banid command in console also need server.writecfg to persist across restart.
When on, only SteamIDs on the whitelist may connect — heavy lift for a public server, but right for a closed friends-only one. Whitelist additions are handled via the whitelistid command in console (not in this generator); set this on first, then add players one at a time.
Launch Script & Boot
Things that have to load before server.cfg — identity, ports, RCON binding. These emit to start.bat (Windows) and start.sh (Linux) as +server.x command-line flags. Plus the launch-script meta toggles: restart loop, SteamCMD update, log to file. Command-line values override server.cfg — that's why these live here and not above.
This is the folder name your server saves under. Picked once, never touched — changing server.identity on a live server makes Rust think it's a fresh server and ignore your existing save/cfg. The file you're generating lands at /server/<identity>/cfg/server.cfg, so this and the folder name have to match.
UDP port players connect to. Default 28015. Change if your host runs multiple servers on one box. Whatever you pick has to be open on your firewall (UDP).
UDP port the Steam server browser queries for server info (name, player count). Convention is game port +1. If you don't set this, the server picks something random and your server may not show in the browser correctly.
TCP port for RCON. Convention is game port +2. Keep it firewalled to trusted IPs only — anyone who can reach this port and guess your RCON password owns the server.
Which interface RCON listens on. 0.0.0.0 = all interfaces (default; needed if you connect from outside the host). 127.0.0.1 = localhost only — much safer if you only RCON from a tool running on the same box.
Wraps the launch script in a loop so the server restarts automatically if it crashes or you shut it down for a save. Recommended — Rust crashes; live with it. Turn this off if you're using a process manager (systemd, pm2) that already handles restarts.
Prepends a SteamCMD update step so the server pulls the latest Rust dedicated build every restart. Requires steamcmd on PATH (or in the same folder). On for production; off for dev/test where you want a fixed version.
Redirects all server output to a server.log file in the same directory instead of the console window. Useful for unattended boxes and after-the-fact crash diagnosis. The file gets overwritten each restart — rotate it yourself if you care about history.
About the Rust server.cfg + start.bat Generator
Setting up a Rust dedicated server means writing two files: server.cfg, the in-memory convar list Rust loads at startup, and a launch script (Windows start.bat or Linux start.sh) that actually runs RustDedicated.exe with the right boot-time arguments. Most online "rust server generators" only do one or the other and leave you piecing it together. This one builds both, keeps them coherent (same identity, same ports), and stays current with Facepunch's documented convars — no plugin pseudo-settings, no stale 2021 examples. We check every convar against Facepunch's official Rust server guide and update when the game patches, so you're not guessing whether a setting still exists.
Why two files?
Rust needs a few things to be set before server.cfg exists — most importantly server.identity, because that's the folder name where the cfg file lives. Same goes for the network ports: Rust has to bind server.port, server.queryport, and rcon.port at process start, so they live on the command line. Settings that change behavior after the world loads (hostname, decay rates, RCON password, ownerid lines, wildlife populations) go in server.cfg where you can edit them between sessions without restarting. Command-line values override server.cfg if both are set — that's why this generator never duplicates the same setting in both files.
Where the files go
server.cfg→/server/<identity>/cfg/server.cfg. If thecfgfolder doesn't exist, create it. Drop it anywhere else and Rust silently ignores it.start.bat/start.sh→ next toRustDedicated.exe(Windows) or theRustDedicatedbinary (Linux). Run it directly; the script handles the rest.- Windows save gotcha: Notepad sneakily adds
.txtto files. Set "Save as type" to "All Files" and confirm the filename is exactlyserver.cfg(notserver.cfg.txt) andstart.bat(notstart.bat.txt).
The writecfg trick
Once your server is running, you can change convars live in the console — decay.scale 0.5, server.maxplayers 150, ownerid 76561198... "you" — and run server.writecfg to dump the current in-memory settings back to server.cfg. That's how most admins iterate after the initial setup. Without server.writecfg, console changes vanish on restart. The companion command server.readcfg reloads server.cfg from disk if you edited the file directly. Full walkthrough on the how to create a server.cfg for Rust page.
What's not in here (and why)
- Plugin settings (Oxide / uMod / Carbon) — those live in
oxide/config/<plugin>.jsonfiles, notserver.cfg. Putting them in here would output something that looks valid and silently does nothing. See the Common Rust Server Settings Guide for the "this needs a plugin" list. - Gather/stack rate convars — same reason. Vanilla Rust doesn't have a global gather-rate convar; "5x gather rates" servers all run plugins.
- Map editor / custom maps — beyond this scope.
server.levelpicks between Facepunch-shipped maps only.
SteamID64 format (for ownerid / moderatorid / banid)
The 17-digit identifier that starts with 7656. Look it up at steamid.io from a Steam profile URL or username. The Steam 3 format ([U:1:...]), profile vanity URL, and the friend code are all not what Rust wants here — only the 17-digit SteamID64. The generator flags any entries that don't match the format.
More GamesOMG tools
- Top Rust Configs — community-shared server.cfg + start.bat setups
- Common Rust server settings guide — full convar reference with "needs a plugin" sections called out
- How to create a server.cfg for Rust — step-by-step setup walkthrough
- All GamesOMG generators