RustDedicated reads server settings when it starts. Put persistent values in the identity-specific server.cfg, use command-line parameters for launch-time overrides, expose separate UDP game and query ports, and treat map-generation and gamemode changes as operational events rather than casual tweaks.
Godlike.Host offers hosted Rust servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
This guide shows where each setting belongs, how precedence works, which values affect a wipe, and how to verify and persist changes without losing track of your server’s world or player data.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Rust Key Cards, Rust Red Key Card, Cobalt Restricted Access Cards, Rust Gift For Gamers, Blue Key... | $25.00 | Buy on Amazon |
| 2 |
|
Rust Video Game Notebook | $15.00 | Buy on Amazon |
| 3 |
|
Rust Game Props Large Furnace (S) | $14.99 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Where Rust server settings are stored
A Rust server has two configuration layers:
- Startup parameters are supplied to the RustDedicated process, usually in a launch script, service definition, container command, or hosting panel.
server.cfgcontains persistent server variables and administrative configuration loaded during startup.
The standard location is rust/server/server.identity/cfg/server.cfg, where server.identity is the identity assigned to your instance. For example, an identity named myserver uses rust/server/myserver/cfg/server.cfg. The cfg directory is also used for other administrative configuration files.
In a launch command, parameters use a plus or minus prefix, such as +server.port 28015. In server.cfg, write the command without that prefix:
#1 Best Overall
- Inspired by the Rust Video Game – These cards replicate the iconic keycards found in Rust (Red, Blue, Green).
- High Quality PVC Plastic – Printed on both sides, durable and water-resistant. Not a sticker.
- Great Rust Gift Idea – Perfect for fans of Rust, whether for cosplay, loot-themed gifts, or collection.
- Wallet-Size Replica – Standard 3.375x2.125 inches, 30 mil thick—fits in any wallet.
- NOT a sticker*
server.port 28015
server.maxplayers 50
server.hostname "My Rust Server"
Facepunch’s server-creation guidance says server.cfg is read at startup and takes priority over command-line values. If the same variable appears in both places, troubleshoot the value in server.cfg first. A common source of confusion is editing the launch script, seeing no change, and overlooking an older value in the identity-specific configuration file.
What belongs in each layer
| Configuration layer | Best use | Syntax | Operational note |
|---|---|---|---|
| Startup command | Process identity, initial ports, world selection, launch-time RCON values, and values that must exist before the server finishes booting | +variable value or -variable value |
Applied when RustDedicated launches; useful for documenting the complete launch contract |
server.cfg |
Persistent convars and routine server administration | variable value, with no + or - |
Loaded at startup and takes precedence over conflicting command-line values |
| Runtime console | Testing or changing a value while the server is running | For example, gamemode.set name |
Some changes are immediate; others require a restart, reload, or a new world |
The core settings every administrator should document
The following values cover the connection endpoint, browser listing, world generation, capacity, and data separation. Keep a copy of the exact values used for each wipe so players can understand what changed.
Free tools Windows power users keep installed
One-click scans. No signup required.
| Setting | What it controls | Example or documented behavior |
|---|---|---|
server.port |
UDP game port used by players to connect | Facepunch’s representative example uses 28015 |
server.queryport |
UDP query endpoint used by server-listing and monitoring services | Required for appearance in the in-game server browser; if omitted, it defaults to one greater than the greater of server.port and rcon.port |
server.level |
Map type or level selected at startup | Choose the level name supported by your current Rust build |
server.seed |
Procedural-generation seed | Changing it produces a different procedural layout when a new world is generated |
server.worldsize |
Procedural map dimensions | Facepunch documents a 1000–6000 range in its example table; larger worlds need more storage and memory |
server.maxplayers |
Maximum simultaneous players | Set a capacity your CPU, memory, network, and moderation process can sustain |
server.hostname |
Name displayed in the server browser | Use a stable name and include important wipe or rules information only if it remains accurate |
server.description |
Description shown in the connection window | Explain rules, region, contact method, or scheduled wipe information |
server.identity |
Separates one server’s save data and configuration from another | Each identity has its own directory under rust/server/ |
Configure the game and query ports correctly
The game port and query port serve different purposes. Players connect through server.port; the query endpoint lets services discover and display the server. Facepunch states that server.queryport is needed for the server to appear in the game’s browser list.
Port requirements
- Expose both
server.portandserver.queryportover UDP in the host firewall, cloud security group, and router or NAT rule. - Never assign the same number to the game and query ports.
- If you omit
server.queryport, calculate the documented default carefully: one greater than whichever is higher,server.portorrcon.port. - When running several identities on one machine, give every process a unique game port and a unique query port.
Example launch values
RustDedicated.exe -batchmode +server.port 28015 +server.queryport 28016 +server.identity myserver
The numbers above illustrate the documented style; they are not a universal requirement. A hosting provider, firewall policy, or another process may require different free ports. After changing them, restart the process and verify that the listening ports, firewall rules, and any NAT forwarding all match.
Keep RCON separate from player access
RCON is an administrative connection, not the player game endpoint. Facepunch’s representative launch configuration places RCON settings in the startup configuration. Keep the RCON port distinct from both game and query ports, use a long unique password, and do not publish credentials in a public configuration repository or server description. Give administrators RCON access only through a restricted management network or trusted source addresses when your hosting environment supports that control.
Choose a map, seed, and world size
server.level chooses the map type. For a procedural world, server.seed controls the generated layout and server.worldsize controls its scale. Record all three values together. A seed by itself is not enough to reproduce a procedural world if the world size changes.
Recommended Free Tools
Rank #2
World-size trade-offs
- Storage: larger worlds create more data and require more disk space for saves and backups.
- Memory: the running world and its entities require more RAM as the map grows.
- Generation time: initial generation and loading can take longer on a larger map.
- Travel and population: a large map with a small player cap can feel empty, while a smaller map concentrates encounters.
Facepunch’s example table documents a world-size range of 1000 to 6000. Treat that as the documented configuration range, not as a promise that every hardware profile will perform equally well. Before a wipe, check free disk space, available memory, backup capacity, and the expected generation time.
When a map change takes effect
Changing the level, seed, or world size in configuration does not retroactively transform an existing save. Plan a new world when you need a different procedural result, and preserve the old identity directory or backup if you may need historical data. Announce the new seed and size to players so they can distinguish an intentional wipe from a failed load.
Set population, browser text, and identity
Player limit
server.maxplayers caps simultaneous players. Raising it increases the potential load from players, entities, networking, and moderation. Do not treat the setting as a performance benchmark: validate the chosen cap against your own hardware and expected plugin or administration workload.
Browser name and description
server.hostname is the browser-facing name, while server.description appears in the connection window. Make the region, rules, wipe schedule, and contact details understandable without promising settings you have not enabled. If a value changes for a new wipe, update both the configuration and the public announcement.
Identity and data isolation
server.identity determines which directory holds the server’s world and configuration. It is the practical boundary between separate instances on the same installation. Before copying a configuration, replace the identity deliberately; accidentally reusing an identity can start the wrong world or make two processes contend for the same files.
Gamemodes require wipe-level change management
Set a gamemode at startup with +server.gamemode <name>, or use gamemode.set <name> at runtime when the mode supports that operation. For default play, Facepunch documents leaving server.gamemode empty rather than using the label vanilla.
Rank #3
- Acrylic Painting Pla Plastic
Facepunch’s warning is explicit: “DO NOT switch between gamemodes mid-wipe. This will reset all players and their inventory with no possibility to revert this.” Treat a gamemode change as a wipe decision. Schedule it at the planned wipe boundary, back up the current identity directory first, and tell players that inventories and progression will not carry over if the change triggers the documented reset.
Safe gamemode workflow
- Choose the target mode and confirm that its name is valid for the Rust build you are running.
- Announce the planned wipe and the expected gameplay changes.
- Stop the server cleanly and back up the identity directory.
- Set
server.gamemodein the launch configuration orserver.cfg, following the correct syntax for that layer. - Start the server, inspect the console for errors, and verify the mode before inviting players.
- Record the mode beside the map, seed, world size, and wipe date.
Discover commands and persist runtime changes
When you cannot remember a command name, use the administrative console’s find [text] command. Searching for a distinctive fragment is faster and safer than guessing a variable and assuming it exists.
For a runtime convar change that should survive a restart, verify the live value first, then use server.writecfg to write server convars and settings to configuration files when appropriate. Inspect the resulting file before relying on it as your permanent source of truth. Some settings are evaluated only during startup, so a successful console response does not necessarily mean that a restart is unnecessary.
Runtime-change checklist
- Use
findto identify the exact command and its spelling. - Apply the change in the console.
- Read back the value and test the behavior that matters.
- Decide whether the change is temporary or permanent.
- If permanent, run
server.writecfgwhere suitable and review the written configuration. - Restart or reload according to the setting’s behavior, then verify again.
Troubleshoot settings that appear to be ignored
The server uses an old value
- Check the active
server.identity; you may be editing a different instance’s directory. - Open
rust/server/server.identity/cfg/server.cfgand look for a duplicate variable. - Confirm that each line uses cfg syntax without
+or-. - Restart after editing;
server.cfgis read at startup. - Remember that the value in
server.cfgtakes priority over a conflicting launch parameter.
The server does not appear in the browser
- Confirm that
server.queryportis set, free, and different fromserver.port. - Allow both ports over UDP through every firewall, security group, and NAT rule.
- Check that the process is bound to the expected public interface and that no second server is using the same port.
- Verify the browser name and description after the server has fully started.
A map change did not produce the expected world
- Confirm the level, seed, and world-size values loaded by the active identity.
- Check whether an existing save prevented regeneration; a new procedural result normally requires a planned wipe or new identity.
- Review startup logs for an invalid level, malformed value, insufficient disk space, or memory pressure.
Players lost progress after a rules change
Check whether the gamemode was changed during the wipe. The documented behavior can reset players and inventories without a way to revert. Restore from a pre-change backup only if your own backup and recovery process supports it; do not promise that a reset can be undone.
Pre-launch checklist
- Identity directory and backup location are documented.
- Game and query ports are unique, reachable over UDP, and allowed through the network path.
- RCON uses a separate administrative endpoint and private credentials.
- Map level, seed, and world size are recorded together.
- Disk space and memory are adequate for the selected world size.
- Maximum players matches the capacity you intend to support.
- Hostname and description accurately describe the server.
- Gamemode is set deliberately, with no mid-wipe switch.
- Runtime changes have been verified and intentionally persisted.
Facepunch states that administrators are free to run private, unofficial, or community servers, subject to its Community Server and Hosting Guidelines. That freedom does not remove the need to protect credentials, communicate wipe-impacting changes, and maintain recoverable backups.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

