Get your free server today! View Plans →
Home Plans Blog About Contact Panel Join Discord
Minecraft

Every server.properties setting that actually matters

A plain walkthrough of the server.properties settings a normal Minecraft owner should actually understand, with sensible values and the ones you can safely ignore.

Every server.properties setting that actually matters

Open up server.properties for the first time and it's a wall of about 60 lines, most of which you'll never touch. The good news is that a normal owner only really needs to understand a handful of them. The rest you can leave at default and never think about again. Here's the short list that actually changes how your server plays and performs, with values that make sense for a typical small to mid size server.

The gameplay basics

These four decide what kind of server you're running, and they're the ones people fiddle with most.

gamemode sets the default mode for players when they join. You've got survival, creative, adventure and spectator. For most servers this is survival. Adventure is handy for map makers because players can't break blocks, only interact with what you allow. If you set this to creative, everyone gets creative on join, which is almost never what you want on a public server.

difficulty goes from peaceful to easy, normal and hard. Peaceful turns off hostile mobs entirely and slowly heals players, which kind of defeats the point of survival. Most owners run normal. Hard adds things like zombies breaking doors and starvation actually killing you, so save it for a group that wants the challenge.

pvp is just true or false. True means players can hurt each other. If you're running a friendly build server or a kid friendly community, set it to false and you'll save yourself a lot of drama. A quick warning: turning pvp off doesn't stop people pushing each other off cliffs or into lava, so it's not a complete shield.

hardcore is the one to be careful with. Set it to true and difficulty is locked to hard, plus a player who dies is banned or set to spectator for that world. It's brutal and it's permanent. Don't flip this on a server people have already built on unless everyone has agreed to it. Honestly, hardcore is better as a fresh, dedicated world than a setting you bolt onto an existing community.

Player count and view settings, the performance stuff

This is where people accidentally tank their own performance, so it's worth slowing down here.

max-players caps how many people can be online at once. The default is 20. Setting it to 100 doesn't magically give you room for 100 players, it just lets 100 people in before your RAM and CPU fall over. Set this to a number your plan can actually handle. As a rough rule, plan for somewhere around 150 to 250 MB of RAM per active player on a vanilla-ish setup, more if you're running heavy plugins or mods.

view-distance is how many chunks out the server sends to each player, measured as a radius. The default is 10. This is one of the biggest levers on server load because the work scales roughly with the square of the number. Going from 10 to 16 isn't 60 percent more work, it's closer to two and a half times the chunks. For most servers view-distance of 8 looks great and runs much lighter. Drop it to 6 if you're tight on resources and barely anyone will notice.

simulation-distance controls how far out the world actually ticks, so mob AI, crop growth, redstone and so on. The default is 10. This one is heavier than view-distance because it's doing real work, not just sending chunks. You can usually set simulation-distance lower than view-distance, something like 6 or 7, and players will still see far into the distance while the server only simulates what's close. That split is one of the easiest free performance wins there is.

SettingDefaultLighter valueWhat it costs you
view-distance108Slightly shorter render range
simulation-distance106Distant mobs and farms idle until you get closer
max-players20set to fit your RAMFewer concurrent players

If your server is lagging and you've not changed much else, drop view-distance and simulation-distance before you do anything fancy. It fixes more problems than people expect.

Who can join and how they're verified

white-list set to true means only names on your whitelist can connect. This is the single best tool for keeping a private server private. You add people with /whitelist add Name in the console or in game. Turn it on before you tell anyone the IP, not after, because griefers don't wait. There's a related setting, enforce-whitelist, that kicks players already online if they're not on the list when you reload it. Useful for cleaning house.

online-mode is the important one and the one people misunderstand. When it's true (the default), the server checks every player against Mojang's authentication servers, so only people with a genuine, paid account matching that username can join. When you set online-mode=false, that check is gone. Anyone can connect using any username, including yours, including an admin's. There's no verification at all.

online-mode false does not mean "free Minecraft for my friends". It means anyone who knows your IP can log in as any name, including OP accounts. Treat it as a security hole, not a feature.

The only real reasons to run online-mode false are if you're behind a proxy like Velocity or BungeeCord that handles authentication for you, or you're deliberately running a cracked server and you understand the risk. If you do turn it off without a proxy, pair it with a plugin like AuthMe so players have to register a password, and keep the whitelist on. Otherwise leave online-mode at true.

Spawn, appearance and world generation

spawn-protection sets a radius around spawn where non-ops can't build or break blocks. The default is 16, which is a 33 by 33 area. That's bigger than people realise and it can block players from using a spawn shop or chest. Set it to 0 if you don't want any protection, or keep a small value like 4 to stop someone instantly griefing the spawn point. Ops ignore it either way.

motd is the message shown in the server list, the line under your server name. You can use color and formatting codes here with the section sign. Nothing technical, but it's free advertising, so write something better than "A Minecraft Server". Keep it short, it gets cut off.

level-seed lets you pick the world seed. Leave it blank for a random world. If you've found a seed you like, paste it in before the world generates for the first time. Changing it later does nothing to chunks that already exist, it only affects new terrain at the edges, which usually looks like an ugly seam.

level-type changes the kind of world. The normal value is minecraft:normal. Other options include minecraft:flat for a superflat world (good for creative or minigames), minecraft:large_biomes, and minecraft:amplified for dramatic mountains. Amplified is genuinely heavy on the server, so don't pick it casually. Like the seed, this needs to be set before the world is first created.

The handful of utility settings worth knowing

enable-command-block defaults to false. If your map or your build team uses command blocks, set it to true. Leave it off on a normal survival server, because a careless command block can do a lot of damage and it's one fewer thing for someone to abuse.

player-idle-timeout kicks players who've done nothing for the set number of minutes. The default is 0, which means never. On a busy server with a full player slot count, setting this to something like 15 or 20 frees up slots from AFK people. On a small private server, just leave it at 0 so nobody gets booted while they're grabbing a coffee.

network-compression-threshold is the one people love to "optimize" and usually get wrong. It's the packet size in bytes above which the server compresses network traffic. Default is 256. If all your players are remote over the internet, leave it alone. The advice to set it to -1 (disable compression) only makes sense when the server and players share a fast local network, like a LAN party, where you'd rather spend bandwidth than CPU. For a hosted public server, the default is correct. Don't touch it unless you have a specific reason and can measure the result.

The ones to leave alone

Plenty of lines in this file exist for the server software to manage, and editing them by hand causes more problems than it solves. A few to keep your hands off:

One last practical note. The server only reads this file at startup, so any change you make needs a full restart, not a /reload. And before you edit anything, copy the file somewhere safe. It takes ten seconds and it means a typo never costs you more than a paste.

That's the real list. Set gamemode, difficulty, pvp and your whitelist the way your community wants, keep online-mode on unless you genuinely need it off, tune view-distance and simulation-distance to match your hardware, and ignore most of the rest. Get those right and the file basically takes care of itself.

Common questions

What does online-mode false actually do?

It turns off the check against Mojang's authentication servers, so anyone can connect using any username, including admin names. It does not make Minecraft free for friends, it removes verification entirely. Only use it behind a proxy like Velocity, or with a login plugin like AuthMe and a whitelist.

What is the difference between view-distance and simulation-distance?

View-distance is how many chunks the server sends to each player so they can see them. Simulation-distance is how far out the world actually ticks, meaning mobs, crops and redstone are active. Simulation is heavier, so a common trick is to set it lower than view-distance, for example simulation 6 with view 8.

How many players can my server actually hold?

max-players only caps how many can join, it does not create capacity. As a rough rule, plan for around 150 to 250 MB of RAM per active player on a light setup, and more with heavy plugins or mods. Set the cap to a number your plan can really handle.

Can I change the world seed or level type after the server has started?

Not usefully. Both level-seed and level-type only apply when the world is first generated. Changing them later leaves existing chunks alone and usually creates an ugly seam at the edges of new terrain. Set them before the first launch.

Do I need to restart after editing server.properties?

Yes. The server only reads server.properties at startup, so a full restart is required. A /reload will not pick up the changes. Always copy the file first so a typo is easy to undo.

ML
Marcus Lee
Infrastructure Lead at Bytte.cloud

Part of the Bytte.cloud team. We run game servers, bots and websites for a living, and we write these guides from what we see day to day in support and on our own servers.

Want to try this on real hardware?

Bytte.cloud has free plans for game servers, bots and websites. No credit card, set up in seconds.

Start for free See the plans