Minecraft server.properties Explained (Every Key, 2026)
Every important Minecraft server.properties setting with its default and what we would set it to, in tables. Updated for 26.x, including the whitelist change.
Updated Oct 3, 2026 · 8 min read
On this page
server.properties is the main config file of a Minecraft: Java Edition server. It sits in the server's root folder, it is plain key=value text, and the server only reads it on start, so every change needs a restart. The handful that matter most are white-list, difficulty, max-players, view-distance, simulation-distance and online-mode. Below is every key worth knowing, grouped by what it does, with the vanilla default and what we would actually set.
Defaults are for Minecraft 26.3, the current release. A few keys moved or changed recently, and those are flagged.
What changed recently in server.properties?
If you are copying settings from an old guide, check this first:
| Change | Version | What to do now |
|---|---|---|
white-list now defaults to true |
26.3 | A brand new server lets nobody in, owner included, until you whitelist people or set it to false. |
pvp removed |
1.21.9 | Use the game rule: /gamerule pvp false |
allow-nether removed |
1.21.9 | Use /gamerule allow_entering_nether_using_portals false |
spawn-monsters removed |
1.21.9 | Use /gamerule spawn_monsters false |
enable-command-block removed |
1.21.9 | Use /gamerule command_blocks_work false |
spawn-animals and spawn-npcs removed |
1.21.2 | Gone, no replacement key. |
pause-when-empty-seconds added |
1.21.2 | Vanilla pauses an empty server after 60 seconds. Paper sets it to -1 (off). |
chat-spam-threshold-seconds and command-spam-threshold-seconds added |
26.2 | Leave at 10 unless you get chat spam. |
Game rules were also renamed to snake_case in 1.21.11, so keepInventory is now keep_inventory. Game rules live in the world, not in server.properties, and you set them with /gamerule in the console.
Access and security settings
| Key | Default | What we would set |
|---|---|---|
white-list |
true (26.3+), false before |
true for a friends server. Add people with whitelist add Name. |
enforce-whitelist |
false |
true. Kicks anyone online who is not on the list when the list reloads. |
online-mode |
true |
Always true. false lets anyone join with any name, including yours, and is how cracked accounts get in. |
enforce-secure-profile |
true |
Leave true. Players without a Mojang signed chat key cannot join. |
prevent-proxy-connections |
false |
Leave false. It can block players on mobile networks and VPNs. |
op-permission-level |
4 |
4 for you. Level 3 can still ban and kick. |
function-permission-level |
2 |
Leave it. |
spawn-protection |
16 |
0 on a friends server. Only works when at least one op exists, and stops non ops editing blocks near spawn, which confuses people. |
log-ips |
true |
Leave true so you can ban by IP if you need to. |
hide-online-players |
false |
true if you do not want the player list visible from the server list. |
Our whitelist guide and how to op someone cover the commands behind these.
Gameplay settings
| Key | Default | What we would set |
|---|---|---|
difficulty |
easy |
normal for most survival groups, hard if you want hunger to actually kill you. |
gamemode |
survival |
survival, creative, adventure or spectator for players joining for the first time. |
force-gamemode |
false |
true on creative or minigame servers so everyone lands in the set mode. |
hardcore |
false |
true only if you mean it: dead players become spectators. |
max-players |
20 |
The number your plan is sized for, or a bit lower. |
player-idle-timeout |
0 |
0 (off) for friends. On a busy public server, 30 kicks people idle for 30 minutes. |
allow-flight |
false |
true if you run any plugin or mod that lets players fly, otherwise they get kicked for "flying". |
motd |
A Minecraft Server |
Whatever you like. On GamezServers we fill it in from your server name and description. |
Since 1.21.9, PvP is a game rule. Turn it off with /gamerule pvp false instead of looking for a pvp= line.
World generation settings
These only matter when the world is first created. Changing them later does nothing to chunks that already exist.
| Key | Default | What it does |
|---|---|---|
level-name |
world |
The folder the world is loaded from. Set it to an uploaded world's folder name. |
level-seed |
blank (random) | The seed. Paste one in before the first start. |
level-type |
minecraft:normal |
minecraft:flat, minecraft:large_biomes, minecraft:amplified or minecraft:single_biome_surface. |
generate-structures |
true |
Villages, temples and so on. Leave it on. |
generator-settings |
{} |
JSON for flat and custom worlds. |
max-world-size |
29999984 |
Radius in blocks. A world border via /worldborder set is the friendlier way to limit size. |
initial-enabled-packs |
vanilla |
Data packs and experimental features turned on when the world is created. |
initial-disabled-packs |
blank | Packs to turn off at creation. |
To start a fresh world with a new seed: stop the server, take a backup, delete or rename the world folder, set level-seed, and start again. If you want to bring a singleplayer world instead, see how to upload a world to a Minecraft server.
Performance settings
These are the keys that decide how hard the server works.
| Key | Default | What we would set |
|---|---|---|
view-distance |
10 |
8 to 10 on small servers, 6 to 8 on busy or modded ones. Range 3 to 32. |
simulation-distance |
10 |
6 to 8. This is the one that saves CPU. Range 3 to 32. |
entity-broadcast-range-percentage |
100 |
100. Lower it to 75 on crowded servers. Range 10 to 1000. |
network-compression-threshold |
256 |
Leave it. |
max-tick-time |
60000 |
Leave it. A single tick taking longer than 60 seconds makes the watchdog stop the server. -1 disables that. |
sync-chunk-writes |
true |
Leave true on vanilla. On Paper it has no effect unless a startup flag is set too. |
pause-when-empty-seconds |
60 (vanilla), -1 (Paper) |
Leave it. Paused servers still use RAM. |
max-chained-neighbor-updates |
1000000 |
Leave it. Limits runaway block updates. |
region-file-compression |
deflate |
Leave it. |
rate-limit |
0 |
0. Kicks players who send too many packets when set. |
view-distance is how far players can see. simulation-distance is how far from players mobs move, crops grow and redstone runs. Dropping simulation distance to 6 while keeping view distance at 10 keeps the world looking big while the server works on far fewer chunks. If you see "Can't keep up!" in the console, read what that message means and how to fix it.
Network and port settings
| Key | Default | What to do |
|---|---|---|
server-port |
25565 |
Leave it on a hosted server. Your host sets it. |
server-ip |
blank | Leave it blank. Setting it wrong stops the server binding. |
enable-status |
true |
Leave true, or the server shows as offline in the server list. |
enable-query |
false |
Leave false unless a tool needs GameSpy query. |
query.port |
25565 |
Only used when query is on. |
enable-rcon |
false |
Leave false on GamezServers. The panel console does the same job without opening another port. |
rcon.port |
25575 |
Only used when RCON is on. |
rcon.password |
blank | Never leave blank if RCON is on. |
accepts-transfers |
false |
true only if another server sends players here with /transfer. |
use-native-transport |
true |
Leave it. |
management-server-enabled |
false |
The newer management API. Leave it off unless you have a tool that uses it. |
Resource pack settings
| Key | Default | What it does |
|---|---|---|
resource-pack |
blank | Direct download URL of a .zip pack. |
resource-pack-sha1 |
blank | The SHA-1 of the zip, so clients notice when it changes. |
resource-pack-id |
blank | A UUID for the pack. |
require-resource-pack |
false |
true kicks players who decline it. |
resource-pack-prompt |
blank | Text shown in the download prompt. |
The URL has to be a direct link to the file. A share page from a cloud drive does not work.
How do I edit server.properties on a hosted server?
On GamezServers, open your server, go to the Files tab and click server.properties. Edit it in the browser, save, then press Restart. Two things to know:
- Leave
server-portandserver-ipalone. They are set for your server, and changing them stops it starting. - Some settings have a quicker route. The Whitelist player, Turn whitelist on and Make operator buttons run the console commands for you, no file editing or restart needed.
If the server will not start after an edit, a typo is the usual cause. Check for a missing = or a value like ture. Our startup crash guide has the rest.
FAQ
Do I need to restart after changing server.properties?
Yes. The server reads the file once on start. Commands like whitelist on and /difficulty change things live, but view-distance, max-players and most other keys only apply after a restart.
Why did my server.properties change reset?
The server rewrites the file on start and on some commands, so edits made while it is running can be overwritten. Stop the server, edit, then start it. Also check you edited the file in the server's root folder, not a copy.
Where did pvp=false go?
It was removed in 1.21.9. PvP is now the pvp game rule, so type gamerule pvp false in the console. It is saved with the world.
What is a good view distance for a Minecraft server?
10 is fine for a small Paper server. Drop to 8 if you have 15 or more players, and to 6 on heavy modpacks. Lower simulation-distance first, since it saves more CPU for less visible change.
Can I change the seed of an existing world?
No. Once a world exists, its seed is saved in level.dat and the server ignores level-seed. To use a new seed, start a new world: change level-name (or move the old world folder away), set level-seed, and start the server.
The easy way to run it
Every GamezServers Minecraft server comes with server.properties ready to edit in the browser, the EULA already accepted and one click buttons for whitelist and ops. New servers are live about 60 seconds after payment. Our Minecraft quick start walks through the first ten minutes.
Skip the setup. Your own Minecraft server.
Then $4.99/mo. Just trying it? $1.25 for 3 days