
View distance and simulation distance are the two settings in server.properties that decide most of your server's performance. Both default to 10. For a public server with real player counts, 10 simulation distance is usually too high and you will feel it as low TPS long before you feel it as anything else.
If you only want the number: set simulation-distance to 6 and view-distance to 10 on a normal survival server, then adjust from there based on TPS. The rest of this explains why, and what to use when your server is not a normal survival server.
Best Simulation Distance and View Distance by Server Size
These are starting values, not laws. Set them, watch MSPT for a week with real players online, then move one step at a time.
| Server type | Players | view-distance | simulation-distance |
|---|---|---|---|
| Small private survival | 1 to 10 | 12 | 8 |
| Public survival SMP | 10 to 25 | 10 | 6 |
| Busy survival SMP | 25 to 60 | 8 | 5 |
| Large network or hub | 60 plus | 6 | 4 |
| Creative or build server | 5 to 25 | 12 | 4 |
| Light modpack, under roughly 150 mods | 5 to 15 | 8 | 6 |
| Heavy modpack, ATM10 class | 5 to 15 | 7 | 5 |
| Minigames, lobby, skyblock hub | any | 5 | 4 |
| Anarchy or large open map | 30 plus | 8 | 5 |
Two patterns worth noticing in that table.
Simulation distance falls faster than view distance as the server gets busier. That is deliberate. Ticking is the expensive part, and ticking is what breaks first.
A creative server gets a high view distance and a low simulation distance. Builders want to see their work from far away. Nothing on a creative server needs mobs spawning or crops growing three hundred blocks out.
What Is Simulation Distance in Minecraft?
Simulation distance is the radius, in chunks, around each player where the server actually runs the game. Inside it, mobs spawn and move, crops and saplings grow, redstone fires, water flows, hoppers move items, furnaces smelt. Outside it, the world is still loaded and still visible, but frozen.
Mojang added it as a separate setting in Java Edition 1.18. Before that, view distance controlled both what you could see and what was running, which meant every chunk you wanted players to see was a chunk the server had to tick.
The value is a radius measured from the player's own chunk, not a diameter. In server.properties it accepts 3 to 32 and defaults to 10. Java singleplayer uses a different scale, 5 to 32 with a default of 12, which is why a world that runs fine on your own machine can feel different on a server.
The behaviour is not one clean cutoff. At simulation distance 6, entities move normally in a 13 by 13 chunk area around the player. One chunk layer past that, redstone still runs, fluids still flow and crops still grow, but entities sit still. Past that, nothing happens at all until a player walks back over.
That is the practical definition: simulation distance is how far your farms keep working when you walk away.
View Distance vs Simulation Distance
They sound like the same setting and they are not. This is the comparison most people are actually looking for.
| Aspect | view-distance | simulation-distance |
|---|---|---|
| Controls | Chunks sent to the client for rendering | Chunks the server actively ticks |
| Costs you | RAM, bandwidth, chunk generation | CPU, tick time, MSPT |
| Player notices | Terrain fading in close, fog | Farms stopping, mobs not spawning, redstone freezing |
| Default | 10 | 10 |
| Range | 3 to 32 | 3 to 32 |
The rule is simple. Keep view distance higher than simulation distance. Players get a wide horizon, and the server only pays the tick cost for the chunks near them. Going the other way, simulation distance higher than view distance, is pure waste. You are ticking chunks nobody can even see.
There is one more thing worth knowing about view distance. The server sends each player the smaller of the server's view distance and that player's own render distance setting. A player with render distance 6 gets 6 chunks even if you set the server to 16. A player cannot go above your server value. So raising view distance only costs you for the players who actually run a high render distance, and lowering it below a player's client setting is immediately visible to them as fog.
What Each Chunk of View Distance Actually Costs
The chunk count for a given distance is (2n + 1) squared, because it is a square area with the player in the middle.
| Distance | Chunks per player |
|---|---|
| 4 | 81 |
| 5 | 121 |
| 6 | 169 |
| 7 | 225 |
| 8 | 289 |
| 10 | 441 |
| 12 | 625 |
| 16 | 1089 |
| 32 | 4225 |
Going from 10 to 12 is not a 20 percent increase, it is 184 extra chunks per player. Going from 12 to 16 nearly doubles it again. This is why view distance 32 is a bad idea on anything but a two person server, and why the people who set it and then ask why the server needs more RAM usually get told to set it back.
The multiplication matters too. Twenty players standing in spawn share almost all of their chunks. Twenty players scattered across a fresh map each load their own set, and every one of those chunks may need generating for the first time. That is the single worst load pattern a Minecraft server sees, and it is why a pregenerated map behaves so differently from a fresh one at the same view distance.
Why Simulation Distance 8 Is the Number That Matters for Farms
Natural mob spawning in Java Edition is capped by the game itself. Mobs spawn in chunks that have a player within 128 blocks of the chunk centre, and hostile mobs that get more than 128 blocks from the nearest player despawn on the spot. 128 blocks is 8 chunks.
Paper reinforces this with mob-spawn-range, which defaults to 8 chunks in spigot.yml.
So simulation distance 8 already covers the whole area where mobs can spawn. Raising it to 12 or 16 does not produce more mobs. It just adds hundreds of chunks of block ticks and entity updates for no gameplay benefit at all.
The other direction is where players notice. Below 8, the spawning area shrinks with the ticking area, so mob farms produce less, and below about 5 you start getting complaints about AFK farms stopping and crops not growing when players step away. If your server is built around farms, 8 is the honest floor. If it is a survival server where people mostly build and explore, 5 or 6 is fine and nobody will say anything.
How to Change View Distance and Simulation Distance
Both live in server.properties, in the root of your server directory. Stop the server, edit, start it again.
# server.properties
view-distance=10
simulation-distance=6
If you are not sure what the rest of that file does, the full server.properties breakdown covers every key.
One related setting is worth a look if bandwidth is your problem rather than CPU. entity-broadcast-range-percentage defaults to 100 and accepts 10 to 1000. Dropping it to something like 50 halves the distance at which entity position updates are sent to clients, which cuts packet volume on servers with a lot of mobs or item entities without touching what is being simulated.
Paper and Per World Overrides
Paper lets you override both values per world in spigot.yml, which is the setting people usually want and cannot find.
# spigot.yml
world-settings:
default:
view-distance: default
simulation-distance: default
world_nether:
view-distance: 6
simulation-distance: 5
default means fall through to server.properties. Anything else overrides it for that world.
This is genuinely useful. The Nether has terrible sightlines and heavy mob density, so it does not need the view distance the Overworld does. A minigame world attached to the same server can sit at 5 and 4 while the survival world stays at 10 and 6. Resource worlds that get reset regularly are another good candidate for lower values, since nobody is building long sightline bases there.
If a guide tells you to set no-tick-view-distance in a Paper config, that guide predates 1.18. Paper used to ship that option to send chunks without ticking them, and it is not in the current world configuration because vanilla simulation-distance does the same job. Do not go looking for it.
For the settings that pair with this, the Paper optimization guide covers entity activation range and the rest. Entity activation range is the one most often confused with simulation distance. It defaults to 32 blocks for animals and monsters, 64 for raiders, 16 for misc entities, and it controls how often already loaded entities tick rather than whether their chunk ticks at all. They stack. Simulation distance decides which chunks are live, activation range decides how much attention entities inside them get.
Modded Servers Need Lower Numbers
A modded chunk is not a vanilla chunk. It has more block entities, more custom tick handlers, more machines that want to run every tick, and mod authors who did not always think about a chunk being ticked seventy times over for seventy players.
Two things follow from that. Simulation distance costs several times more per chunk on a heavy modpack than on Paper, and the memory per loaded chunk is higher, so view distance costs more too. Starting at 7 and 5 on something ATM10 sized is not being stingy, it is matching the setting to what the pack actually does per tick.
Machine heavy packs have a specific failure mode here. Players build a large automated base, walk away, and the base keeps ticking because it is inside somebody's simulation distance or a loaded chunk from a chunk loader. Lowering simulation distance does not fix that, because the chunk loader is deliberately overriding it. That is a chunk loading policy problem, not a distance problem.
Bedrock Edition
Bedrock has a different scale. Simulation distance there runs 4 to 12 with a default of 4, and its spawning behaviour is tied to the setting more directly than in Java. If you are running a Bedrock dedicated server, do not copy Java numbers across. 4 is the default for a reason and 6 is already generous.
How to Tell You Set Them Too High
Watch MSPT, not TPS. TPS tells you the server has already failed. MSPT tells you how close it is. Anything under 50 ms is fine, since that is the budget for one tick. Sitting at 35 to 45 ms means you have no headroom and the next player to log in or the next large redstone build will push you over. There is more on reading those numbers in the MSPT guide.
Signs that simulation distance is the culprit rather than something else:
MSPT rises with player count in a fairly straight line, and drops back the moment players log off. If a single plugin or a broken farm were at fault, the cost would not track player count so cleanly.
A timings or spark report shows most of the tick going to entity ticking, block ticking or mob spawning rather than to a named plugin.
Lowering simulation distance by 2 and restarting produces an immediate, obvious improvement. This is the cheapest test you can run and it takes one restart.
Signs it is view distance instead: RAM sits high and garbage collection runs constantly, players report chunks loading slowly when they move, or the server struggles specifically when people explore new terrain rather than when they stand around. If RAM is the constraint, work out what you actually need first, since more RAM and a lower view distance solve the same symptom from opposite ends.
Mistakes That Come Up Over and Over
Setting simulation distance above view distance. You are ticking chunks nobody can see. There is no case where this helps.
Setting both to 32 because the field allowed it. On a busy server this will not survive contact with players.
Raising view distance to fix a complaint about fog when the player has their own render distance set low. The server value is a ceiling, not a floor.
Lowering simulation distance to 3 and then wondering why AFK farms stopped and villagers stopped restocking. Three chunks is 48 blocks. That is barely past render range on a bad day.
Changing both at once with something else, then not knowing which change did what. Move one setting, restart, watch, then move the next.
FAQ
What is the best simulation distance for a Minecraft server? 6 for most public survival servers. 8 if farms and mob spawning matter and your CPU has room, since 8 chunks covers the whole vanilla mob spawn radius. 4 or 5 for minigames, lobbies and heavy modpacks.
What is the recommended view distance for a Minecraft server? 10 is a good default and matches the vanilla setting. Drop to 8 above roughly 25 concurrent players and to 6 on large networks. 12 is comfortable for small private servers.
What is simulation distance in Minecraft? The radius in chunks around each player where the server actually runs game logic: mob spawning, entity movement, redstone, fluid flow, crop growth and block ticks. Outside it the world stays loaded and visible but frozen.
What is the difference between view distance and simulation distance? View distance is what players can see and costs RAM and bandwidth. Simulation distance is what the server actively runs and costs CPU. View distance should be the higher of the two.
Should view distance be higher than simulation distance? Yes, always. It gives players a wide horizon without paying the tick cost for distant chunks.
Does raising simulation distance make more mobs spawn? Only up to 8. Java caps natural spawning at 128 blocks from the player, which is 8 chunks, so anything above that adds cost without adding mobs.
Does simulation distance affect client FPS? Not directly. Client FPS is driven by the player's own render distance and graphics settings. Simulation distance is a server side cost, though a server dropping below 20 TPS will feel like lag regardless of frame rate.
Which one should I lower first if my server is lagging? Simulation distance. It is almost always the cheaper fix and players notice it less than fog appearing on the horizon.
If you have already tuned both and the tick time still will not come down, the bottleneck has moved to hardware. Minecraft is limited by single thread performance more than core count, so a host running high clock speed CPUs makes a measurable difference on the same settings. Our Minecraft hosting is built on that basis if you want to compare.
Related: MSPT explained, Best CPU for Minecraft server, ZGC vs G1GC