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 →Version note: This reference covers the Java Edition server.properties format and the default file generated by Java 1.21.9. Keys and defaults can change in later releases, and Bedrock Edition uses a different configuration system.
Godlike.Host offers hosted Minecraft Java servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
server.properties is a UTF-8 text file in the server’s working directory. Each active line is a Java Properties key=value pair; a line beginning with # is a comment. The server preserves valid values, restores missing or invalid keys to defaults, rewrites the file at startup, and requires a restart after edits.
As an Amazon Associate I earn from qualifying purchases.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
How to edit server.properties safely
- Stop the server cleanly with the
stopcommand. Do not edit while it is writing the file. - Make a backup copy of
server.propertiesand, before world-generation changes, back up the world directory as well. - Open the file as UTF-8 text. Keep the exact
key=valueformat, and retain backslash escapes such aslevel-type=minecraft:normal. - Change only the keys you need. A blank value can be meaningful; for example, a blank
level-seedrequests a random seed. - Save, start the server, and read the startup log for invalid-value warnings. The server may add newly introduced keys and rewrite the file.
- Join the server and test the change. Gameplay and most network settings take effect after the restart, while some policies have command or game-rule alternatives.
If a value “resets,” the usual causes are an invalid spelling or value, editing a different server directory, or allowing the server to start before saving. Compare the file path shown by your launch script, stop the process, correct the value, and restart.
Verified Java 1.21.9 defaults and settings
The following tables describe the generated Java 1.21.9 inventory. A listed default applies to a newly generated file; an existing world or an administrator’s previous value can differ.
#1 Best Overall
Access, authentication and player policy
| Key | Default | What it controls |
|---|---|---|
online-mode |
true |
Authenticates players with Mojang accounts. Disabling it removes that identity check and requires a carefully secured, trusted setup. |
enforce-secure-profile |
true |
Requires players to present signed profile keys. |
prevent-proxy-connections |
false |
Rejects connections detected as coming through proxy services. |
accepts-transfers |
false |
Controls whether the server accepts incoming transfer packets. |
white-list |
false |
Turns allowlisting on or off. Add names with whitelist add PlayerName from the console or as an operator. |
enforce-whitelist |
false |
When enabled, players not on the allowlist are kicked when the list is reloaded. |
max-players |
20 |
Maximum simultaneous players accepted by the server. |
player-idle-timeout |
0 |
Minutes before an idle player is kicked; zero disables the timeout. |
hide-online-players |
false |
Suppresses the player list in status responses shown by server browsers. |
enable-status |
true |
Allows server-list status and ping replies. Set false to hide the server from status queries while still allowing direct connections. |
Gameplay defaults
| Key | Default | Effect |
|---|---|---|
difficulty |
easy |
Sets difficulty to peaceful, easy, normal, or hard. |
gamemode |
survival |
Default mode for new players: survival, creative, adventure, or spectator. |
force-gamemode |
false |
When true, players are placed in the configured default mode when they join instead of retaining their previous mode. |
hardcore |
false |
Applies hardcore rules to newly created worlds; it does not convert an existing world. |
allow-flight |
false |
Permits flight that a server might otherwise treat as a survival-flight violation, useful for some mods. It does not grant creative flight. |
spawn-protection |
16 |
Protects a radius around the world spawn from non-operators. A value of zero disables this protection. |
op-permission-level |
4 |
Permission level assigned to operators. |
function-permission-level |
2 |
Permission level used when datapack functions run. |
enable-code-of-conduct |
false |
Loads UTF-8 language files from a codeofconduct subfolder. The server prefers the player’s language, then en_us, then any available file. |
World creation and datapacks
| Key | Default | Effect and cautions |
|---|---|---|
level-name |
world |
Directory name of the world to load or create. Changing it points the server at another world (or creates a new one). |
level-seed |
blank | Generation seed. Blank lets the game choose a random seed; changing it only affects a newly generated world. |
level-type |
minecraft:normal |
World preset: normal, flat, large-biomes, amplified, or single-biome. The escaped colon is required in Java Properties syntax. |
generator-settings |
{} |
JSON-style generator customization for supported presets. An invalid value can be replaced with the default. |
generate-structures |
true |
Controls generation of structures in a new world. |
initial-enabled-packs |
vanilla |
Datapacks enabled when a world is created. |
initial-disabled-packs |
blank | Datapacks disabled at world creation. |
max-world-size |
29999984 |
Caps the effective world border size; it does not enlarge the game’s hard coordinate limits. |
sync-chunk-writes |
true |
Writes chunks synchronously. Disabling it may alter disk-write behavior and should be tested against your storage and backup routine. |
Performance, ticking and storage
| Key | Default | Effect |
|---|---|---|
view-distance |
10 |
Number of chunks the server sends around each player. Higher values increase memory, CPU and bandwidth demand. |
simulation-distance |
10 |
Chunk radius in which entities, crops and other game logic tick. It affects server CPU even when chunks are not being rendered by a client. |
entity-broadcast-range-percentage |
100 |
Scales how far entities are sent to clients. Lower values can reduce bandwidth but make distant mobs and projectiles appear later. |
network-compression-threshold |
256 |
Packet-size threshold for compression. Lowering it saves bandwidth at the cost of more CPU work; raising it does the reverse. |
max-tick-time |
60000 |
Watchdog limit in milliseconds for a tick. -1 disables the watchdog; disabling it can leave a hung process running indefinitely. |
max-chained-neighbor-updates |
1000000 |
Limits consecutive block-neighbor updates, helping contain pathological redstone or block-update chains. |
pause-when-empty-seconds |
60 |
Pauses an empty server after the configured seconds. Set zero to avoid empty-server pausing. |
rate-limit |
0 |
Packet-rate limit per connection; zero means no limit. |
region-file-compression |
deflate |
Compression method for region files. Changing it affects storage CPU and disk characteristics. |
Adjust view-distance and simulation-distance together rather than assuming one is a graphics-quality switch. Start below the defaults on constrained hardware, watch tick time and memory while several players explore, and raise one setting at a time. Entity range and packet compression are network trade-offs, not substitutes for inadequate CPU or storage.
Networking and discovery
| Key | Default | Effect |
|---|---|---|
server-ip |
blank | Local address to bind. Blank is normally best on a host with multiple interfaces; enter a specific local address only when you intentionally restrict the listener. |
server-port |
25565 |
TCP game port. To change it, stop the server, set a free port such as 25566, allow that port through the host firewall and router, then restart and give players the new address. |
query.port |
25565 |
UDP port used by GameSpy4 query when enable-query=true. It can be different from the game port. |
enable-query |
false |
Exposes GameSpy4 query data for server-list or monitoring tools. |
use-native-transport |
true |
Uses the platform’s native networking transport where supported. |
log-ips |
true |
Controls whether player IP addresses are written to server logs. |
motd |
A Minecraft Server |
Message displayed in the multiplayer server list. Formatting codes and line handling depend on the Java server version. |
bug-report-link |
blank | Optional link presented for bug-reporting guidance. |
status-heartbeat-interval |
0 |
Interval for status heartbeat notifications; zero disables them. |
Administration, RCON and monitoring
| Key | Default | Effect |
|---|---|---|
broadcast-console-to-ops |
true |
Sends console command output to online operators. |
broadcast-rcon-to-ops |
true |
Sends RCON command output to operators. |
enable-rcon |
false |
Enables the remote console protocol. |
rcon.port |
25575 |
TCP port on which RCON listens. |
rcon.password |
blank | Password required by RCON. Use a long unique secret and do not publish the file. |
enable-jmx-monitoring |
false |
Exposes tick-time MBeans when Java JMX is configured separately. |
management-server-enabled |
false |
Enables the 1.21.9 management server. |
management-server-host |
localhost |
Host address for that management service. |
management-server-port |
0 |
Management port; zero selects an available port. |
management-server-secret |
random text | Secret for management access. A blank value is replaced with a generated 40-character alphanumeric secret. |
management-server-tls-enabled |
true |
Enables TLS for management connections. |
management-server-tls-keystore |
blank | Path to the PKCS12 keystore used by management TLS. |
management-server-tls-keystore-password |
blank | Password for that keystore. |
Documented RCON is unencrypted. If you enable it, bind and firewall it to a trusted administration network, use a unique password, and place it behind secure transport or a private tunnel rather than exposing it directly to the public internet. Keep management TLS enabled and protect the generated secret and keystore files.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsRank #2
Resource packs and chat filtering
| Key | Default | Effect |
|---|---|---|
resource-pack |
blank | URL from which clients can download the server resource pack. |
resource-pack-sha1 |
blank | SHA-1 hash used to verify the downloaded pack. |
resource-pack-id |
blank | Identifier for the pack. |
resource-pack-prompt |
blank | Prompt shown when the pack is offered. |
require-resource-pack |
false |
When true, players must accept and load the pack to join. |
text-filtering-config |
blank | Configuration reference for text-filtering integration. |
text-filtering-version |
0 |
Version number used by that integration. |
What changed in Java 1.21.9
Mojang removed several old properties so their behavior can be changed while the server is running through game rules. Tutorials that tell you to add these keys are obsolete; the server will ignore them.
| Removed property | Use instead |
|---|---|
allow-nether |
Use the appropriate world or dimension game rule and datapack configuration. |
spawn-monsters |
Use the current monster-spawning game rule. |
enable-command-block |
Use the command-block game rule. |
pvp |
Use the player-versus-player game rule. |
The same release introduced the management-server keys, status-heartbeat-interval, and enable-code-of-conduct. Always compare an older guide with the generated file from your exact server version before copying settings.
Rank #3
A practical first configuration
For a private survival server, the highest-value edits are usually motd, difficulty, gamemode, level-name, level-seed, server-port, and the allowlist keys. Keep online-mode=true and enforce-secure-profile=true unless you have a specific, controlled compatibility reason. Enable RCON or the management API only when you can restrict access and store their secrets safely.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →For performance tuning, change one of view-distance, simulation-distance, entity-broadcast-range-percentage, network-compression-threshold, or pause-when-empty-seconds at a time. Record the old value, restart, test with the normal player count, and revert if tick time, memory pressure, or connection reliability worsens.
Quick Recap
Best Value
Rank #4
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.




