Free tools Windows power users keep installed
One-click scans. No signup required.
Persistent Rust server settings belong in the identity-specific server.cfg, while launch-only values are supplied as startup parameters. The file is read when RustDedicated starts and takes priority over conflicting command-line values. Put it at rust/server/server.identity/cfg/server.cfg, omit the + or - prefixes used on the command line, and restart whenever a setting requires startup initialization.
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.
Where Rust server settings are stored
RustDedicated has two configuration layers. The startup command launches the process and establishes parameters needed before the server is running. The identity-specific server.cfg stores most persistent convars and administrative settings. Facepunch’s server-creation documentation says the cfg directory is also where administrative configuration files live.
| # | 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.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchThe identity-specific path
The normal location is:
rust/server/server.identity/cfg/server.cfg
server.identity represents the identity assigned to that server. Because each identity has its own data directory, separate identities can keep different worlds and settings without overwriting one another. Check that the file is inside the identity you actually launch; editing a different identity’s cfg file has no effect on the running instance.
Command-line syntax versus cfg syntax
Launch parameters use a leading plus or minus sign, for example +server.port 28015. In server.cfg, write the same 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 Community"
Do not copy the leading + from a launch command into the cfg file. Conversely, a line intended for the command line must include the appropriate startup prefix.
Which layer wins when values conflict?
Facepunch states that server.cfg is read at startup and takes priority over command-line values. This is the most important troubleshooting rule: if the launch script says one value and the identity’s cfg file says another, the cfg value is the one to expect after startup. Keep one authoritative value where possible, then restart and inspect the result instead of changing both layers repeatedly.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
A practical configuration layout
These settings cover the values most administrators need to establish a playable, discoverable server. The examples use documented convar names; choose values appropriate for your machine and community.
| Purpose | Convar | What it controls | Where it is commonly set |
|---|---|---|---|
| Player connection | server.port |
UDP game port used by players | Startup command or server.cfg |
| Server listing queries | server.queryport |
UDP port used by browser and query services | Startup command or server.cfg |
| Map type | server.level |
Selects the map or level type | Startup command or server.cfg |
| Procedural generation | server.seed |
Seed used to generate a procedural world | Startup command or server.cfg |
| World scale | server.worldsize |
Size of the generated map | Startup command or server.cfg |
| Population cap | server.maxplayers |
Maximum simultaneous players | Startup command or server.cfg |
| Browser name | server.hostname |
Name displayed in the server browser | Startup command or server.cfg |
| Connection-window text | server.description |
Description shown when connecting | Startup command or server.cfg |
| Data separation | server.identity |
Data-directory identity for this server | Startup command |
| Administration | RCON settings | Remote administrative access | Launch configuration in Facepunch’s example |
Network ports: game, query, and RCON
Game port
server.port is the UDP port players use to connect. Facepunch’s representative command uses 28015; that number is an example, not a universal requirement. If you select another port, use the same number consistently in the launch configuration, firewall rule, router forwarding and any connection instructions given to players.
Query port and server-browser visibility
server.queryport allows services to query the server and is needed for the server to appear in the game’s server-browser list. It must be reachable over UDP as well. Facepunch documents a default when you omit it: the query port becomes one greater than whichever is higher, server.port or rcon.port.
Do not assign the query port and game port the same number. Both need separate UDP exposure, so a firewall rule that opens only the player port can leave a server connectable by direct address but absent or unreliable in the browser.
Recommended Free Tools
RCON is administrative access, not player access
RCON settings control remote administration and are distinct from the game and query channels. Facepunch’s example places RCON configuration in the launch setup. Treat the password as a secret: do not publish it in a server description, paste it into community announcements or commit it to a shared script. Limit access to the administrators who need it and change it if it has been exposed.
Rank #2
Port checklist
- Choose a UDP game port for
server.port. - Choose a different UDP query port, or confirm the documented automatic value.
- Allow and forward both UDP ports through the host firewall and network edge.
- Keep any RCON port and credentials under administrative control.
- If the server is missing from the browser, check query-port reachability before changing map or gameplay settings.
Map, seed, and world-size settings
server.level: selecting the map type
server.level selects the level or map type RustDedicated should load. Set it in the startup configuration when you want the process to launch into a particular map choice. If a setting is read only at startup, changing a command while the server is live will not replace the world until the required restart or reload occurs.
server.seed: reproducible procedural generation
The seed controls procedural world generation. Record the seed alongside the world-size value and the wipe date so players know which world they are joining and so administrators can reproduce the same generation inputs when planning a restart. A seed by itself is not a size setting; the generated result depends on the combination of map choice, seed and world size.
server.worldsize: map scale and resource demand
server.worldsize controls the size of a procedural map. Facepunch’s example documentation describes a range from 1000 to 6000. Larger worlds require more disk space and memory, so increasing the number without checking available resources can turn a configuration change into long startup times or instability. Match the size to the expected population and the hardware budget rather than choosing the largest value automatically.
| World-generation choice | Administrative decision | Resource implication |
|---|---|---|
Map type (server.level) |
Which level or map family launches | Depends on the selected level and generated content |
Seed (server.seed) |
Which procedural layout is generated | Document it so the world can be identified or reproduced |
World size (server.worldsize) |
How large the generated map is | Higher values need more disk space and memory |
Population and listing information
Player limit
server.maxplayers sets the maximum number of simultaneous players. It is a capacity limit, not a performance guarantee. Set it with the machine’s available resources and the chosen world scale in mind; a large advertised limit can create a poor experience if the server cannot sustain it.
Name and description
server.hostname is the browser name players search for. Make it recognizable and stable enough that returning players can identify the correct server. server.description appears in the connection window and can explain rules or the intended play style. Keep operational secrets, especially RCON credentials, out of both fields.
Gamemodes and the wipe hazard
Choosing a gamemode at startup
Facepunch documents +server.gamemode <name> for startup configuration. For the normal default experience, leave server.gamemode empty; the documentation specifically says not to use the vanilla label as a substitute for the default.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Changing a gamemode while the server is running
The runtime command is gamemode.set <name>. It is operationally different from editing a file: it changes the live server, and you must decide separately whether the resulting convars should be persisted. Use the command only during a planned maintenance window and communicate the change before players reconnect.
Rank #3
- Acrylic Painting Pla Plastic
"DO NOT switch between gamemodes mid-wipe. This will reset all players and their inventory with no possibility to revert this."
This is Facepunch’s explicit warning. A gamemode change is therefore a wipe-sensitive change-management event, not a harmless toggle. Schedule it before a new wipe, record the old setting, and make sure the community understands that existing player progress cannot be restored after the reset described above.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Discovering commands and saving runtime changes
Use find when you do not know the command name
Facepunch’s useful-command guidance recommends find [text]. Replace [text] with a distinctive fragment, such as find queryport or find gamemode, to search available commands and convars instead of guessing syntax.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Persisting a verified live value
server.writecfg writes server convars and settings to cfg files. A safe workflow is:
- Use
find [text]to confirm the command or convar name. - Apply the change at runtime only when that setting supports live changes.
- Verify the resulting value and test the player-facing behavior.
- Run
server.writecfgonly if you deliberately want the current values written to configuration files. - Restart or reload according to that setting’s behavior, then verify again.
Writing the cfg is not a substitute for understanding precedence. A generated value in the identity’s cfg can override a value left in the launch script on the next startup, so review the file after using server.writecfg.
Startup example and equivalent cfg
Facepunch’s representative launch command includes the core settings below. The line is illustrative of the documented syntax; adapt values to your identity, network and hardware:
+server.port 28015 +server.queryport 28016 +server.level "Procedural Map" +server.seed 12345 +server.worldsize 3500 +server.maxplayers 50 +server.hostname "My Rust Community" +server.description "Community server" +server.identity myidentity
The persistent portion in rust/server/myidentity/cfg/server.cfg would omit the prefixes:
server.port 28015
server.queryport 28016
server.level "Procedural Map"
server.seed 12345
server.worldsize 3500
server.maxplayers 50
server.hostname "My Rust Community"
server.description "Community server"
Keep identity selection and any RCON launch options in the startup mechanism used by your service, and protect the credentials. If both files define the same convar, the cfg value wins when RustDedicated reads it at startup.
Quick Recap
Troubleshooting by symptom
The server starts with the wrong value
- Confirm that you edited the cfg under the identity actually being launched.
- Check for a second definition in
server.cfg; it takes priority over the command line. - Remove accidental
+or-prefixes from cfg lines. - Restart after changing a startup-read setting.
Players can connect directly, but the server is not listed
- Confirm
server.queryportis set or calculate the documented default. - Make sure the query port is different from
server.port. - Allow the query port over UDP in the host firewall and network forwarding.
- Check that an RCON port did not cause an unexpected automatic query-port value.
The new world is slow to start or strains the host
- Review
server.worldsize; larger values require more disk space and memory. - Record the selected level, seed and size so an unintended combination is easy to identify.
- Choose a world scale that matches the intended player limit and available resources.
Players lost progress after an administration change
- Check whether
server.gamemodewas changed during the wipe. - Follow Facepunch’s warning that a mid-wipe gamemode switch resets players and inventory with no possibility to revert.
- Plan future gamemode changes for the next wipe and announce the timing in advance.
Pre-launch checklist
- Choose a unique
server.identityand verify itscfgdirectory. - Set a UDP game port and a different UDP query port.
- Open and forward both UDP ports.
- Choose
server.level,server.seedandserver.worldsize; record all three. - Set
server.maxplayersto a realistic capacity for the hardware. - Set a clear
server.hostnameand usefulserver.description. - Keep RCON configuration and credentials private.
- Put persistent values in the identity-specific
server.cfgwithout command-line prefixes. - Restart, verify the effective values, and test both direct connection and browser visibility.
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.




