Where is the server.properties file?
The server.properties file is in the main folder of a Minecraft Java server, next to the server .jar, eula.txt and the world folder, and the server creates it the first time it starts. If you do not see it yet, start the server once and stop it again. On a hosted server, open the file manager in the panel: server.properties is in the top folder, not inside the world. A Bedrock server has its own server.properties, which comes with the Bedrock Dedicated Server download.
How to edit Minecraft server properties
To edit Minecraft server properties, stop the server, change the value after the = sign in server.properties and start the server again, because the server only reads the file at startup. Step by step:
- Stop the server in the console or the panel.
- Open server.properties in a plain text editor such as Notepad, TextEdit in plain text mode or nano, or in the file manager of your host.
- Change only the value after the = sign, for example
difficulty=hard. Lines that start with # are comments. - Save the file as UTF-8 under the same name.
- Start the server and check the console for errors.
When the server starts, it rewrites the file. It keeps your values, adds any setting that is missing with its default and drops your comments. A value it cannot read, such as tru instead of true, quietly goes back to the default, so look at the file again after the restart if a change seems to have no effect.
Minecraft server properties settings and defaults
These Minecraft server properties settings are the ones people change most, with their defaults in Java Edition 26.3. In level-type, the minecraft: part can be left out:
| Setting | Default | What it does |
|---|---|---|
| motd | A Minecraft Server | The line under the server name in the multiplayer list |
| difficulty | easy | peaceful, easy, normal or hard |
| gamemode | survival | The game mode of new players: survival, creative, adventure or spectator |
| force-gamemode | false | With true, every player is put back in the default game mode on joining |
| hardcore | false | Hardcore mode for a world the server creates |
| max-players | 20 | How many players can be online at the same time |
| white-list | true | Only players on the whitelist and operators can join; false before 26.3 |
| enforce-whitelist | false | With true, online players who are no longer on the whitelist are kicked when it reloads |
| online-mode | true | Checks that every player has a real Minecraft account |
| spawn-protection | 16 | A square around spawn where only operators can build: 16 protects 33 by 33 blocks, 0 turns it off |
| allow-flight | false | Whether players may fly in survival with a mod; with false, the server kicks players who stay in the air too long |
| level-name | world | The world folder the server loads, or creates when it does not exist |
| level-seed | empty | The seed of a new world; empty means a random seed |
| level-type | minecraft:normal | normal, flat, large_biomes, amplified or single_biome_surface for a new world |
| generate-structures | true | Villages and other structures in new chunks; dungeons still appear with false |
| view-distance | 10 | How many chunks the server sends to each player, from 3 to 32 |
| simulation-distance | 10 | How many chunks around each player keep running mobs, crops and redstone, from 3 to 32 |
| server-port | 25565 | The port players connect to |
| server-ip | empty | The address the server listens on; leave it empty so it listens on all of them |
| player-idle-timeout | 0 | Minutes before an idle player is kicked; 0 never kicks anyone |
| pause-when-empty-seconds | 60 | Seconds without players before the server pauses itself |
| resource-pack | empty | A download link to a resource pack that players are offered on joining, up to 250 MiB |
| op-permission-level | 4 | The permission level that /op gives a player, from 0 to 4 |
| enable-rcon | false | Remote access to the console over the network, without encryption |
The rest of the 69 settings covers things most servers never touch, such as the query protocol, text filtering and the management server added in 1.21.9. The Minecraft Wiki lists every one of them. On Paper, pause-when-empty-seconds is switched off by default, because plugins do not expect the server to pause.
Minecraft server properties pvp, command blocks and keep inventory
Minecraft server properties no longer include pvp or command blocks: since Java 1.21.9, pvp, allow-nether, spawn-monsters and enable-command-block are game rules, and keep inventory has always been one. You change them with /gamerule in the console or in the game as an operator, and the value is saved with the world:
| What you want | Before 1.21.9 | Command in 26.3 |
|---|---|---|
| Turn off pvp | pvp=false | gamerule pvp false |
| No monsters | spawn-monsters=false | gamerule spawn_monsters false |
| Close the Nether | allow-nether=false | gamerule allow_entering_nether_using_portals false |
| Allow command blocks | enable-command-block=true | gamerule command_blocks_work true |
| Keep items on death | Never a property | gamerule keep_inventory true |
Game rules got their snake case names in 1.21.11. On 1.21.9 and 1.21.10 the same rules are called pvp, spawnMonsters, allowEnteringNetherUsingPortals and commandBlocksEnabled, and keep inventory is keepInventory on every version before 1.21.11. Older servers still read pvp and the other three from server.properties.
How to set a seed in Minecraft server properties
To set a seed in Minecraft server properties, put it after level-seed= before the world exists, because the seed and the level-type only count when the server generates a new world. For a server that already has a world, follow 4 steps:
- Stop the server and make a backup of the world.
- Rename the world folder, for example to world-old, or set
level-nameto a new name. On Spigot and on Paper before 26.1, rename world_nether and world_the_end as well. - Fill in level-seed with the seed, and level-type if you want a flat, amplified or large biomes world.
- Start the server, which generates the new world from that seed.
A seed made of letters works as well as a number. World generation changes between some Minecraft versions, so a seed from a video made on an older version can look different on yours.
Minecraft server properties online-mode: true or false?
Keep online-mode=true in Minecraft server properties unless the server runs behind a Velocity or BungeeCord proxy: with false, the server skips the account check, so anyone can join under any name, yours included. That also means a stranger who picks the name of an operator gets that operator's rights on an offline server.
Behind a proxy, false is correct on the servers behind it, because the proxy checks the accounts instead, and Velocity's own setup guide tells you to set it. Make sure those servers can only be reached through the proxy. If minecraft.net is down while online-mode is true, nobody can log in until it is back.
Minecraft server properties motd and color codes
The motd in Minecraft server properties is the line under your server's name in the multiplayer list, A Minecraft Server by default, and it should be 59 characters or fewer, because a longer one can make the list show a connection error. Colors and styles use the section sign § and one character:
- Colors:
§agreen,§baqua,§cred,§eyellow and§6gold. - Styles:
§lbold,§oitalic and§nunderlined, with§rto reset everything. - Order: put the color first and the style after it, because a color code switches off the style before it.
A line such as motd=§6§lOakvale SMP §r§7| survival, no resets shows the name in bold gold and the rest in gray. The server reads the file as UTF-8, so the § sign works as it is. If your editor saves it as something else, write § in its place.
Minecraft Bedrock server properties
Minecraft Bedrock server properties live in the server.properties of Bedrock Dedicated Server, a different file with its own settings and port 19132 instead of 25565. The file that comes with the download has a comment under every setting that explains the allowed values. The settings that differ most from Java:
- server-name is the name in the server list, and max-players starts at 10 instead of 20.
- allow-cheats turns cheats such as commands on or off, false by default.
- allow-list takes the place of white-list and reads allowlist.json.
- default-player-permission-level gives new players visitor, member or operator rights, member by default.
- tick-distance, 4 by default and 12 at most, does the job of simulation distance on Java.
On a crossplay server, Bedrock players join a Java server through Geyser, so the Java server.properties above is the one that counts. Our guide to Bedrock server hosting covers the Bedrock side.
Which server.properties settings help with lag?
The server.properties settings that help most with lag are simulation-distance and view-distance, both 10 by default. A simulation distance of 6 leaves a little over a third of the chunks running around each player, and a view distance of 8 sends each player fewer chunks. The other settings hardly change the load. Our guide on Minecraft server lag covers the Paper settings and the farms that matter more.

