What view distance should a Minecraft server use?
The Minecraft view distance of a server decides how far players can see, and the simulation distance decides how far from them the world keeps running. Both are set in server.properties, both default to 10, and both are the settings that most change how much memory and CPU a Java Edition server needs. This calculator takes your heap size, the most players you expect online at once and the TPS you want to hold, and suggests a value for each.
There is no single right value. A private server with five friends and 8 GB of RAM can run view distance 12 with no trouble, while a public server with a hundred players on the same machine should be around 6. The calculator gives you a starting point for your numbers. Set it, watch TPS and memory during your busiest hour, and adjust by one step at a time.
view-distance and simulation-distance
Since Minecraft 1.18, the server has two separate settings.
view-distance is the radius, in chunks, of the area the server loads around each player and sends to their client. It is what the player sees. A player's client shows the smaller of its own render distance setting and the server's view distance, so a player with render distance 16 on a server with view distance 8 sees 8 chunks.
simulation-distance is the radius, in chunks, where the world is ticked: mobs move and spawn, crops grow, furnaces smelt, redstone runs and water flows. Outside it, chunks are loaded and visible but frozen. A cow 9 chunks away on a server with simulation distance 8 stands perfectly still until a player comes closer.
The simulation distance cannot usefully be larger than the view distance, because chunks outside the view distance are not loaded at all. The calculator never suggests a simulation distance above the view distance.
Both settings accept values from 3 to 32. Before 1.18, view-distance did both jobs, which is why older guides only mention one setting.
How the calculator decides
View distance comes from memory
Each player keeps a square of chunks loaded, with a side of twice the view distance plus one. At the default of 10 that is 21 × 21 = 441 chunks. At 6 it is 169, and at 16 it is 1,089. Memory grows with the square of the view distance, so small changes make a big difference.
The calculator takes your heap, subtracts about 1.6 GB for the server itself and its world data, and divides the rest between your players. It then picks the largest view distance whose per-player cost fits in each player's share. The per-player figures are the same ones the RAM calculator uses: about 105 MB per player at view distance 10, falling to about 56 MB at 6.
It stops at 12. Beyond that, each extra step adds a lot of chunks at the edge of the view that players rarely look at, and those chunks cost bandwidth and chunk generation as well as memory. If you have a pre-generated world and memory to spare, you can go higher by hand.
Simulation distance comes from tick time
A Minecraft server runs 20 ticks per second, which gives each tick 50 milliseconds. If a tick takes longer, the next one starts late and the TPS drops below 20. Ticked chunks are the main cost: every mob, crop, hopper and redstone component inside the simulation distance does its work every tick.
The calculator estimates tick time as a small base cost plus a cost for each ticked chunk around each player, and keeps the estimate under 80% of the tick budget so the server has room for spikes. With a target of 20 TPS, that is 40 ms. It picks the largest simulation distance, up to 10, that stays under the budget.
The target TPS input lets you trade speed for distance. At a target of 18, a tick may take about 55 ms instead of 50, so the budget grows from 40 to about 44 ms and the calculator allows a larger simulation distance. Everything in the game then runs 10% slower during peak times. Most servers should leave the target at 20.
What the numbers do not know
The model assumes an average server. It cannot see your world, and these make the real cost higher or lower:
- Players spread out or together. Players in one town share chunks, which costs much less than the same players each at their own base
- Farms and redstone. A single large mob farm or redstone clock can cost more than ten players exploring
- Exploration. Generating new chunks is much more expensive than loading saved ones. A pre-generated world handles a larger view distance
- Server software. Paper and Purpur tick and load chunks more efficiently than Vanilla or Spigot, so they can run slightly larger distances on the same machine
Treat the result as a starting point and check it against real TPS.
Recommended values by server size
These are typical settings for a Paper server that has enough memory for its players. The calculator's output for your exact numbers is a better guide.
| Server | view-distance | simulation-distance |
|---|---|---|
| A few friends, 4 GB | 10 to 12 | 8 to 10 |
| Community SMP, 20 to 40 players | 8 to 10 | 6 |
| Busy public server, 60+ players | 6 to 8 | 4 to 5 |
| Minigame or lobby server | 4 to 6 | 3 to 4 |
A common pattern is to keep the view distance fairly high, so the world looks open, and lower the simulation distance, which saves most of the CPU. Players notice a short view distance at once. They rarely notice that mobs 7 chunks away are frozen.
How to set the values
Put the two lines from the output into server.properties in the server folder and restart the server:
view-distance=8
simulation-distance=6
The server.properties generator writes the whole file with these values and the rest of the settings, and the optimal server.properties guide explains the other performance settings in the same file.
Spigot, Paper and Purpur
spigot.yml has its own view-distance and simulation-distance under world-settings. When they are set to default, which they are out of the box, the server uses the values from server.properties. You can set a number there to give one world a different distance, for example a lower one for the Nether or for a resource world. The spigot.yml generator writes these settings.
Spigot's mob-spawn-range, 8 by default, is the radius around players where mobs spawn. Keep it at or below the simulation distance, since mobs only spawn in chunks that tick. With a simulation distance of 6, set it to 6 as well.
Paper adds settings for how fast chunks are loaded and sent to players, under chunk-loading-basic in paper-global.yml. Lowering the send rate smooths out joins and teleports on a busy server. The Paper config generator covers them.
Proxies
On a Velocity or BungeeCord network, each backend server has its own server.properties. Set the distances per server: a lobby can use 4, a survival server 8. The proxy does not have a view distance.
Common mistakes
Lowering only view distance
Before 1.18, lowering view-distance also cut the ticking area. Now it only does so when it drops below the simulation distance, because unloaded chunks cannot tick. Going from view distance 12 to 10 with simulation distance left at 10 saves memory but no tick time. When the problem is TPS, lower simulation-distance first.
Setting simulation distance so low that farms break
Crops, mob farms and redstone only work inside the simulation distance. At 3 or 4, a player standing at an AFK spot may be too far from part of their farm for it to run. Most farm designs assume the default of 10, and many still work at 6. Tell players the value so they can build for it.
Expecting view distance to fix lag it does not cause
If /spark profiler shows most tick time in one plugin, one farm or a pile of entities, the view distance is not the problem. Check TPS and what fills each tick first. The TPS guide explains how, and the server lag guide lists the usual causes.
Raising the distance without pre-generating
A larger view distance on a new world means every player generates many new chunks as they walk. That is the most expensive thing a server does. Pre-generate the area inside your world border first with Chunky, as described in the Chunky guide, and the same distance costs much less.
Mixing up render distance and view distance
Render distance is the client's video setting. View distance is the server's limit. Raising your own render distance does nothing on a server with view distance 8, and a player with render distance 4 does not reduce the server's load, because the server still loads the chunks around them for simulation.
Checking the result
After a restart with the new values, watch these during your busiest hour:
/tpson Spigot, Paper and Purpur shows TPS over the last 1, 5 and 15 minutes. It should stay at 20/mspton Paper shows how long ticks take. Under 40 ms leaves room for spikes; above 50 ms the TPS drops/spark tpsand/spark healthshow TPS, tick time and memory on any server with spark installed
If ticks stay well under budget, raise the simulation distance by one. If memory after garbage collection stays under half the heap, the view distance can go up by one. If either runs close to the limit, go down by one.