Minecraft server properties live in one plain text file called server.properties. It sits in the folder you start the server from, you edit it with the server stopped, and you restart to apply the change. That's the whole workflow. The rest of this page is which lines are worth touching, grouped by what you're trying to do. Everything here is as of Java 26.3 and Bedrock 26.63, November 2026, and Minecraft's version numbers now look like that, so don't go hunting for 1.21.
The Minecraft Wiki has the exhaustive key-by-key table if you ever need every line. Below is the short list people really change, plus the stuff old guides get wrong.
Where is the server.properties file?
Self-hosted: it's in the server's working directory, meaning whatever folder you launch the server from. Run the server jar once and the file appears there. If you haven't got that far, my guide to making a Minecraft server walks through the first run. Bedrock works the same way, and its server comes with a default file already in the folder (more in the Bedrock section below).
Aternos: the Options page is a point-and-click version of the common settings: slots, gamemode, difficulty, whitelist, force gamemode, spawn protection and a few more. For the raw file, Aternos staff have pointed people to the Files page, while also saying some properties can't be edited because the server wouldn't work on their system. I'd treat the Options page as the safe route. Every change on the Options page needs a restart too, and plugins can override some options.
How to edit it without wrecking anything
- Stop the server.
- Copy the file somewhere as a backup.
- Open it in a plain text editor (Notepad, TextEdit in plain text mode, nano, whatever) and save it as UTF-8.
- Start the server again.
The format is one key=value per line. Lines starting with # are comments. Two things bite people. First, the server rewrites the file every time it starts: your values are kept, but any comments you added are gone. Second, a missing key or an invalid value is silently reset to its default. If you typo difficulty=hrad, you won't get an error, you'll just be playing on easy. If a change doesn't stick, open the file after a restart and see what it turned into.
Some settings only matter when a world is created, so changing them later does nothing to a world you've already generated. I flag those below.
Who can join
online-mode=true: the default. Only players with a verified Minecraft account can join. Leave it. There's a longer explanation further down.white-list: when it's on, only people on the list can join, and ops are automatically allowed. As of Java 26.3 the default istrue, so a fresh server may turn your friends away until you add them. Older guides say it's off by default. Check your own file. The full walkthrough is in my whitelist guide.enforce-whitelist=false: the default. Set it totrueand anyone online who isn't on the list gets kicked once the whitelist reloads. Otherwise players already online stay put.max-players=20: the Java default.enforce-secure-profile=true: the default. Players need a Mojang-signed key to join. Turn it off and chat messages are unsigned, so they can't be reported, and clients get a warning.player-idle-timeout=0: minutes before idle players get kicked. 0 means never.
Need to make yourself an op? That's a command, not a property. Here's how to op yourself.
Gameplay: gamemode, difficulty, spawn protection
gamemode=survival: alsocreative,adventureorspectator.force-gamemode=false: with false, players rejoin in whatever mode they left in. With true, everyone joins in the default mode every time. If you set a server to creative and survival players keep turning up, this is the culprit.difficulty=easy: alsopeaceful,normalorhard.hardcore=false: a world-creation setting, so it applies to worlds created with it on.spawn-protection=16: stops non-ops building near spawn. The protected square is 2x+1 blocks on a side, so 1 protects a 3×3 area and 3 protects 7×7. Set it to 0 to switch it off. It also switches itself off if the server has no ops, and the key doesn't show up in the file until the first player joins.allow-flight=false: this is about flying in Survival with mods. With it off, players who hover in the air get kicked. It does nothing in Creative. If you run a modpack or a plugin that gives flight and people keep getting booted, turn it on. The wiki warns it can make griefers more common.
The keys older guides still list
If a tutorial tells you to set pvp=false, allow-nether=false, enable-command-block=true or spawn-monsters=false, it's out of date. Those four were removed from Java's server.properties and are now game rules, which you change in the world rather than in this file. spawn-animals and spawn-npcs were removed earlier, in 1.21.2. Putting the old lines in the file won't do anything. On Aternos you'll still see PVP and Monsters toggles on the Options page, which is the host's own interface.
World settings
level-name=world: the world's name and its folder. If a world exists at that path it loads, and if not, a new one is generated there. Want to swap worlds? Change this to the other folder's name.level-seed=: blank means random.level-type=minecraft:normal: alsominecraft:flat,minecraft:large_biomes,minecraft:amplifiedandminecraft:single_biome_surface. Theminecraft:prefix is optional.generate-structures=true: set it to false and villages and the like stop appearing in new chunks. Dungeons still generate.
Seed and level type are applied when a world is generated. To see a change you need a fresh world, which means a new level-name or deleting the old folder (back it up first). generate-structures only affects chunks that haven't been generated yet, so already-explored land keeps its villages.
Performance: view-distance and friends
view-distance=10: how many chunks around each player get sent to them. Range is 3 to 32. If the server lags, lower this first.simulation-distance=10: how far from a player entities and crops actually get updated. Same range. It was added in 1.18. Dropping this is the other easy lag fix.max-tick-time=60000: milliseconds. If a single tick takes longer than that, the watchdog stops the server with a "single server tick took 60.00 seconds" message. Setting it to-1disables the watchdog. I wouldn't: a tick that takes a minute is a problem you want to know about.network-compression-threshold=256: packets this size or bigger get compressed. I'd leave it alone. The wiki notes that going below 64 may not help and you shouldn't go over the network MTU (about 1500).sync-chunk-writes=true: protects against corruption after a crash, at some cost in disk speed.pause-when-empty-seconds=60: the server pauses after that long with nobody on it.
Connection: server-port and server-ip
server-port=25565: the default. If the server's behind a home router, this is the port you forward. If you can't or don't want to, see hosting a Minecraft server without port forwarding.server-ip=: leave it blank. Blank means the server listens on every address, and the wiki recommends leaving it empty. It's not where your public address goes.enable-status=true: set it to false and the server looks offline in the server list, even though it still accepts connections.enable-rcon=false: remote console, off by default. If you turn it on, setrcon.password(it won't start with a blank one), and remember it isn't encrypted, so keep it to localhost if you can.
The MOTD
motd=A Minecraft Server is the line under your server's name in the multiplayer list. It takes colour and format codes, which are a section sign (§) followed by a character: §a for green, §l for bold, §r to reset, and so on. Colours are §0 to §9 and §a to §f. Formats are §k obfuscated, §l bold, §m strikethrough, §n underline and §o italic. Put the colour first, because a colour code after a format code cancels the format.
Type the § straight into the file in an editor that saves UTF-8. On a Windows numpad that's Alt+21, and on a US Mac keyboard it's Option+6. Keep the whole thing to 59 characters or fewer, or the server list may show a communication error.
Online-mode=false and "cracked" servers
This is the one setting I'd ask you not to touch. With online-mode=true, the server checks every player against Minecraft's account database. Set it to false and that check is gone. The wiki says to do it only if the server isn't connected to the internet, and that hackers with fake accounts can connect if it's off. Running with it off on purpose is what people call "cracking", and a cracked server lets in players with unlicensed copies. If you're curious about what it means for players, I wrote up what cracked Minecraft really is.
It also messes with the rest of your setup. Aternos's own Cracked toggle comes with a warning: flipping it causes fundamental changes, op and whitelist may stop working, and player data like inventory and position will probably be lost. If you flip it by accident, flip it back.
The other direction has a catch as well. With online-mode on, nobody can connect if Minecraft's account servers are down. That's annoying, but it's a lot better than the alternative.
Bedrock Dedicated Server: different file, different keys
Bedrock has its own server.properties. The syntax looks similar, but the two files aren't compatible, so don't paste one into the other. If you're setting up Bedrock, my Bedrock server guide covers the install. These are the keys people change:
| Key | Default | What it does |
|---|---|---|
server-name | Dedicated Server | The server's label. There's no motd key on Bedrock, and no semicolons or colons in the name. |
gamemode | survival | Survival, creative or adventure (no spectator). Applies when a player first joins, so it won't change existing players. |
force-gamemode | false | When true, the server always uses the gamemode value. When false, it uses the value saved when the world was created. |
difficulty | easy | Same idea as Java. |
allow-cheats | false | Whether cheat commands can be used. On Aternos Bedrock you need to be an op and have cheats on to run things like /gamemode. |
max-players | 10 | Higher values hurt performance. |
online-mode | true | Xbox Live authentication. Keep it on for anything reachable from the internet. Remote clients always need Xbox Live sign-in regardless. |
allow-list | check your file | Turns the allowlist on, with names in allowlist.json. Renamed from white-list in Bedrock 1.18.10. |
default-player-permission-level | member | visitor, member or operator, for players joining for the first time. |
server-port | 19132 | The IPv4 port. server-portv6 is 19133. |
view-distance | 32 | Minimum 5. Higher costs performance. |
tick-distance | 4 | Range 4 to 12. Higher costs performance too. |
level-name | Bedrock level | The folder inside worlds/. |
level-seed | blank | Blank is random. You can't change the seed after the world is created. |
One more Bedrock gotcha. enable-lan-visibility is true by default and binds the default ports, 19132 and 19133, even if you changed the port settings. If you run several Bedrock servers on one machine and they fight over ports, turn it off. Newer Bedrock builds have added more keys than this table covers, so open your own file to see what yours has.
Troubleshooting
- My change didn't apply. You didn't restart, a plugin overrode it, or you typo'd a value and the server reset it. Check the file after a restart.
- I can't find the file. Look in the folder you launch the server from. If it isn't there, start the server once and it gets generated. It isn't a download.
- Nobody can connect after I edited server-ip. Blank it out and restart.
- Friends get "not whitelisted". On current Java the whitelist is on by default. Add them, or set
white-list=false. - Players get kicked for flying. That's
allow-flight. - The server shuts down mid-lag with a 60-second tick message. That's
max-tick-time. Lowerview-distanceandsimulation-distancefirst. - Spawn protection isn't in my file. It appears after the first player joins.
- The MOTD shows an error in the server list. It's probably over 59 characters.
Hosting your own, someday
Folly is a free multiplayer voxel game for PC, coming soon in early access. Player-hosted servers are a plan for early access, not something that has shipped. The plan is on the hosting and creators page.