The server.properties settings you will actually change, with defaults for Minecraft 26.3, what each one does, sensible values and the settings that became game rules.
server.properties is the main settings file of every Java Edition server. It decides who can join, how hard the game is, how far players can see and a lot more.
It has dozens of settings, but most owners only ever touch a handful. In this guide, we will cover the settings people actually change, with the default value, what each one does and a sensible value to start with. We will also cover the settings that moved out of the file into game rules, and a few traps.
By the end of this guide, you will know which lines to change for your server and which ones to leave alone.
How to Edit server.properties
- The file is in your server's main folder. It is created the first time the server starts.
- Each line is
setting=value, for examplemax-players=10. Lines starting with#are comments. - The server reads the file when it starts, so edit it while the server is stopped, or restart after saving.
- Some settings only affect new worlds or new chunks:
level-seed,level-type,generate-structuresandhardcore.
The defaults below are for Java Edition 26.3, taken from the Minecraft Wiki. The "recommended" column is a common starting point, not a rule. Bedrock Dedicated Server has its own server.properties with different settings (it calls the whitelist allow-list, for example). See Bedrock or Java if you are not sure which you run.
Players and Access
| Setting | Default | What it does | Recommended |
|---|---|---|---|
motd | A Minecraft Server | The text under your server's name in the server list | Your server name and one short line about it |
max-players | 20 | How many players can be online at once | What your RAM and CPU can handle |
white-list | true (26.3+), false before | Only players on the whitelist (and ops) can join | true for private servers |
enforce-whitelist | false | Kicks online players who are not on the list when the whitelist reloads | true with the whitelist on |
online-mode | true | Checks every player's account with Mojang | true |
op-permission-level | 4 | The level /op gives (1 to 4) | 4, and op only yourself |
For max-players, read How Much RAM Does a Minecraft Server Need? before picking a big number.
The white-list default changed in 26.3 (source). It only applies when a new file is created. An existing server keeps the value already in its file.
Turning online-mode off lets anyone join with any name, including yours. The only normal reason to turn it off is a backend server behind a Velocity proxy, which checks accounts itself (source). See What Is Velocity? and How to Protect Your Minecraft Server. For whitelists and op levels in detail, read Whitelist, Ops and Permissions.
Gameplay
| Setting | Default | What it does | Recommended |
|---|---|---|---|
difficulty | easy | peaceful, easy, normal or hard | normal or hard for survival |
gamemode | survival | The game mode new players start in | survival |
force-gamemode | false | Puts players back in the default mode every time they join | true for creative or adventure servers |
hardcore | false | Hardcore mode for newly created worlds | false, unless every player agrees |
allow-flight | false | Allows flying in survival with mods or plugins. When off, players floating for 5 seconds or more get kicked. | true on modded servers with jetpacks or flying items |
spawn-protection | 16 | Non-ops can't build near spawn. 0 turns it off. | 16, or 0 if a plugin protects spawn |
Spawn protection covers a square with sides of 2 × value + 1 blocks, so the default 16 protects 33 by 33 blocks. It is turned off automatically if your server has no ops at all.
World Generation
| Setting | Default | What it does | Recommended |
|---|---|---|---|
level-name | world | The world folder to load or create | Change only on purpose |
level-seed | (blank) | The seed for a new world. Blank means random. | Blank, or a seed you like |
level-type | minecraft:normal | The world preset: normal, flat, large_biomes, amplified or single_biome_surface | minecraft:normal |
generate-structures | true | Villages, temples and other structures in new chunks | true |
Changing level-name doesn't delete your old world. The server simply loads, or creates, a different folder. Change it back and your old world returns.
Performance
| Setting | Default | What it does | Recommended |
|---|---|---|---|
view-distance | 10 | How many chunks around each player are sent to their game (3 to 32) | 7 on small servers |
simulation-distance | 10 | How many chunks around each player are ticked: mobs, crops, furnaces (3 to 32) | 4 to 6 on small servers |
network-compression-threshold | 256 | Packets bigger than this (in bytes) are compressed. -1 turns it off. | 256 |
max-tick-time | 60000 | Milliseconds one tick may take before the watchdog stops a frozen server | 60000 |
pause-when-empty-seconds | 60 | Seconds without players before the server pauses | 60, or -1 while pre-generating |
View and simulation distance have the biggest effect on performance. The suggested values come from a popular community optimization guide, which suggests 7 and 4 as starting points. Players still see 7 chunks of terrain, but the server only runs mobs and farms in the closest few. For more, read How to Fix Minecraft Server Lag.
For pre-generating with Chunky, set pause-when-empty-seconds to -1, as covered in How to Pre-Generate Your Minecraft World.
Paper ignores max-tick-time
Paper and Spigot turn off the vanilla watchdog and use their own. On those servers, max-tick-time does nothing. The timeout is settings.timeout-time in spigot.yml, in seconds (source, spigot.yml docs).
Network
| Setting | Default | What it does | Recommended |
|---|---|---|---|
server-port | 25565 | The TCP port players connect to | 25565 at home. On a host, leave the port it gave you. |
enable-rcon | false | Remote console access with a password | false unless you need it |
RCON traffic is not encrypted, and anyone with the password can run any command. If you turn it on, use a long random rcon.password.
Settings That Moved to Game Rules
Older guides still tell you to set pvp or enable-command-block in this file. Since Minecraft 1.21.9, four settings are game rules instead (source), and the rules were renamed in 1.21.11 (source).
| Old setting | Game rule on 26.x | Default |
|---|---|---|
pvp | pvp | true |
enable-command-block | command_blocks_work | true |
spawn-monsters | spawn_monsters | true |
allow-nether | allow_entering_nether_using_portals | true |
Change them in the console (or in game as an op with level 2), and they are saved with the world:
gamerule pvp false
gamerule command_blocks_work false
On Paper, game rules are kept per world (source), so set them in the Nether and the End too, for example execute in minecraft:the_nether run gamerule pvp false.
Note that command blocks now work by default. Only ops with level 2 or higher can place or edit them, but if you don't use them, turning the rule off removes the risk. On 1.21.8 and older, these four are still in server.properties.
Example: A Small Private Survival Server
motd=Steve and friends survival
max-players=10
difficulty=normal
gamemode=survival
white-list=true
enforce-whitelist=true
online-mode=true
view-distance=7
simulation-distance=5
spawn-protection=16
Editing It on EternalZero
On EternalZero, the Properties Editor lists every setting with a short explanation, warns you before you change risky ones like online-mode or server-port, and saves the file for you. Restart the server after saving so the changes apply.
Wrapping Up
Most servers only need a few changes: a clear motd, the right max-players, the whitelist for private servers, and lower view and simulation distances on small plans. Leave online-mode and server-port alone, and use game rules for PvP and command blocks.
Change one thing at a time and restart, so you always know which setting made the difference.