server.properties, Line by Line: The Settings That Actually Change How a Server Feels
The server.properties settings with the biggest effect on how a Minecraft server plays - view-distance, simulation-distance, spawn-protection, network compression and entity broadcast range - and what to keep in mind when changing each one.
ChunkPod Team · · 8 min read
server.properties, Line by Line: The Settings That Actually Change How a Server Feels
server.properties is the flat text file that ships with every Minecraft server jar, and a handful of its lines do far more work than the rest. Tweak them and the same hardware can go from choppy to smooth, or the other way around. This post walks through the settings with the biggest effect on how a server feels to play on, and what to keep in mind when you touch each one.
Why this file matters more than it looks
server.properties has around 60 settings. Most of them are switches you set once and forget: gamemode, difficulty, seed, MOTD. A smaller group is different. They control how much of the world the server keeps active for each player, how it talks to those players over the network, and how it protects spawn. Those settings decide whether your server can hold ten players at 20 TPS or grinds under five.
The values that ship out of the box are picked for a small vanilla server on a decent home computer. If your server is bigger, smaller, on shared hardware, or running Paper or Fabric with plugins and mods, the defaults are probably wrong for you.
view-distance
view-distance is the radius, in chunks, that the server sends to each player around them. A value of 10 means the server ships a 21x21 area of chunks to every connected client (10 in each direction plus the one the player stands in).
This one setting drives most of the memory and network cost on a Minecraft server. Doubling view-distance roughly quadruples the number of chunks the server has to keep loaded per player, because chunks scale with the square of the radius. On a busy SMP with 20 players spread across the map, a view-distance of 12 can mean thousands of chunks held in RAM.
What to think about:
- The vanilla default is 10. Since Minecraft 1.18, simulation-distance handles the "what's alive" part separately, which we'll cover next.
- Lower view-distance shrinks memory use, cuts the number of chunks streamed over the network, and gives the main thread less work each tick.
- Higher view-distance looks nicer in screenshots and helps with long-range building, but it punishes both the server and the players' bandwidth.
- 6 to 8 is a common sweet spot on community servers. Big networks often go as low as 4 or 5 and let the client render more chunks locally.
simulation-distance
simulation-distance was split out from view-distance in Minecraft 1.18. It sets, in chunks, how far from each player the server actually simulates the world: mob AI, block updates, redstone, growth, hoppers, water flow, and so on.
view-distance decides what the player sees. simulation-distance decides what actually runs. A player standing at the edge of view-distance sees the terrain, but nothing there is alive: mobs freeze, farms stop, redstone waits.
What to think about:
- The vanilla default is 10, same as view-distance. That's often too generous.
- Dropping simulation-distance to 6 or 8 can save a lot of tick time on a server with mob farms and busy players, because the mob cap and the entity count both scale with the simulated area.
- If your server has redstone builds far from spawn, watch what happens when players walk away. Contraptions inside simulation-distance keep ticking, contraptions outside it don't.
- Setting simulation-distance higher than view-distance is legal but usually pointless. Players can't see the chunks you're simulating, and you're paying for them anyway.
spawn-protection
spawn-protection is a radius, in blocks, around world spawn where non-operators can't break or place blocks. Default is 16.
It looks small in the file, but it catches a lot of new admins off guard. On a fresh SMP where everyone spawns at the same coordinates, spawn-protection can quietly block your friends from placing a torch or opening a chest near the community build. Some plugins and datapacks that manage spawn behaviour also assume it's set to zero, and misbehave when it isn't.
What to think about:
- On a private SMP where everyone is a trusted friend, 0 is often the right value.
- On a public or semi-public server, keep it non-zero, or use a claim plugin instead and leave spawn-protection at 0 so the plugin owns access rules.
- Operators bypass spawn-protection, which is why you may not notice a problem until a non-op tries to interact near spawn.
network-compression-threshold
network-compression-threshold is the size, in bytes, above which the server compresses packets before sending them to the client. Default is 256.
The tradeoff is CPU for bandwidth. Compressing every packet, even tiny ones, wastes CPU on data that wouldn't have been much smaller anyway. Compressing nothing pushes far more bytes across the wire. The default of 256 aims for a middle ground on the open internet.
What to think about:
- If your server and its players are on the same LAN, or behind the same proxy, setting this to -1 (disable compression) can drop CPU load and cut latency slightly, because bandwidth isn't the bottleneck.
- On a public server across the internet, 256 is usually fine. Some admins raise it to 512 to trade a bit of extra bandwidth for less CPU.
- Behind a Velocity or BungeeCord proxy, the common pattern is to set network-compression-threshold to -1 on each backend server and let the proxy handle compression once, at its edge. The proxy config controls the real value.
entity-broadcast-range-percentage
entity-broadcast-range-percentage controls how far, as a percentage of the default, the server tells clients about entities: mobs, dropped items, arrows, other players. Default is 100, meaning normal range.
This one is easy to miss because it doesn't change anything up close. It changes how far away moving things become visible. Drop it and mobs pop into view later. Raise it and players see distant entities a normal client wouldn't.
What to think about:
- Lowering it (say to 50 or 75) cuts the number of entity update packets the server sends, which helps on servers with big farms, lots of item drops, or heavy PvP.
- Raising it above 100 sends more entity updates, which costs bandwidth and CPU without adding much for most players.
- If a server feels laggy specifically when items or mobs are around, this is worth trying before touching view-distance.
A few more settings worth knowing
Not everything with a big impact is in the list above. A short list of others that pull weight:
- max-players: the hard cap. Setting it higher than your hardware can actually hold doesn't add capacity, it just lets more people connect and share the same limited tick budget.
- max-tick-time: how many milliseconds a single tick can take before the watchdog kills the server. On Paper and Purpur, the recommendation is to set it to -1 so the watchdog doesn't interrupt long garbage collections or chunk loads. On vanilla, the default 60000 is fine.
- sync-chunk-writes: forces the server to wait for chunk saves to finish before continuing. False is faster, true is safer if your storage is unreliable.
- online-mode: leave this true on any public server. Setting it false disables Mojang authentication and lets anyone log in with any username, which is only appropriate for a proxy backend that verifies the player upstream.
How to think about changing these
Two habits save a lot of pain:
- Change one setting at a time. If you drop view-distance from 10 to 6, simulation-distance from 10 to 8, and entity-broadcast-range-percentage from 100 to 50 in the same restart, you won't know which one gave you the TPS back.
- Watch TPS, not vibes. Paper's
/tpscommand and profilers like Spark tell you what's actually happening. A server that "feels smoother" after a change but sits at the same 15 TPS didn't get better.
The other thing worth saying: not every problem lives in server.properties. If your server is dropping to 5 TPS with two players online, no view-distance value will save it. Look at what plugins are doing, whether the JVM has enough memory, and whether one specific chunk is on fire with a broken farm.
A shortcut for a starting file
If you want a server.properties file that already has sensible values for your kind of server, ChunkPod runs a free browser tool that builds one. Pick a preset (small SMP, large network, creative), adjust the settings you care about, and download the file. It's at chunkpod.com/tools, no account needed, and it works for any Minecraft server hosted anywhere.
ChunkPod itself is in early access. If you want to hear when hosting opens, join the waitlist at chunkpod.com.