Back to Blog
simulation distanceTPS optimizationserver performancepaperspigotchunk loading

Minecraft Server Simulation Distance: The Hidden Setting That's Destroying Your TPS

Published on August 30, 2026

# Minecraft Server Simulation Distance: The Hidden Setting That's Destroying Your TPS

Most server admins obsess over view-distance — but there's another setting that has an even bigger impact on your TPS: simulation distance. Introduced in Java Edition 1.18, simulation distance controls how many chunks around each player are actually *ticked* by the server. Get it wrong and your server will struggle even with a decent machine. Get it right and you'll unlock significant performance headroom without players noticing a difference.

This guide breaks down exactly what simulation distance does, how to configure it correctly, and how it interacts with other settings across server.properties, spigot.yml, and paper-world-defaults.yml.

---

What Is Simulation Distance?

In vanilla Minecraft, the server ticks every chunk within a player's simulation distance radius. Ticking a chunk means:

  • Processing mob AI and pathfinding
  • Advancing block entity states (furnaces, hoppers, spawners)
  • Running random block ticks (crop growth, fire spread, leaf decay)
  • Handling mob spawning
  • Processing redstone and fluid updates

This is completely separate from view distance, which only controls how far players can *see* rendered terrain. A chunk can be rendered on a client without being simulated on the server.

The key insight: every extra simulation distance ring adds chunks exponentially. A simulation distance of 10 ticks (2×10+1)² = 441 chunks per player. Drop it to 6 and you're down to 169 chunks — a 62% reduction in simulated chunks per player.

---

Where to Configure Simulation Distance

server.properties

simulation-distance=10

view-distance=12

This is the global default. For most servers, simulation-distance should be 4–6 for survival servers with 20+ players. view-distance can stay higher since rendering chunks is far cheaper than simulating them.

paper-world-defaults.yml (Paper 1.19+)

Paper lets you override simulation distance per world, which is incredibly powerful:

# config/paper-world-defaults.yml

chunks:

simulation-distance: 6

view-distance: 12

You can then override this per world in config/paper-world/world_nether/paper-world.yml:

chunks:

simulation-distance: 4

view-distance: 8

The Nether is notorious for performance issues — mob density, lava, and portal logic all combine to make each simulated chunk expensive. Setting the Nether to simulation distance 4 can recover 10–15% TPS on busy servers.

---

Recommended Values by Player Count

| Players | Simulation Distance | View Distance | Notes |

|---------|-------------------|---------------|-------|

| 1–10 | 8–10 | 12–16 | Plenty of headroom |

| 10–30 | 6 | 10–12 | Solid balance |

| 30–60 | 5 | 8–10 | Needed for stability |

| 60–100+ | 4 | 6–8 | Minimum viable gameplay |

For minigame servers or lobbies where world simulation isn't gameplay-critical, you can safely go as low as 2–3 without players ever noticing.

---

Simulation Distance vs. No-Tick View Distance (Paper)

Paper has a concept called no-tick view distance — chunks sent to the client for rendering but not simulated. This is the key to having a high visual view distance without the TPS cost.

In paper-world-defaults.yml:

chunks:

simulation-distance: 6

view-distance: 6

no-tick-view-distance: 12

With this config:

  • Chunks within 6 are fully simulated
  • Chunks from 7–12 are sent to the client visually but cost almost nothing server-side
  • Players see 12 chunks of terrain but your server only ticks 169 chunks per player instead of 625

This is the single most impactful optimization many admins aren't using.

---

How Simulation Distance Interacts with Mob Spawning

Mob spawning is tied to simulation distance, not view distance. Mobs only spawn in simulated chunks, so reducing simulation distance directly reduces:

  • Total active mobs on the server
  • Mob AI computation
  • Pathfinding overhead

In bukkit.yml, you can further cap mob counts per world:

spawn-limits:

monsters: 50

animals: 10

water-animals: 5

water-ambient: 10

ambient: 5

Pair lower simulation distance with reduced spawn limits for maximum effect. In paper-world-defaults.yml, also enable:

entities:

spawning:

despawn-ranges:

monster:

hard: 96

soft: 32

This ensures mobs outside the soft range start despawning, preventing mob accumulation as players move through the world.

---

Spigot.yml: Entity Tracking Range

Don't confuse simulation distance with entity tracking range. In spigot.yml:

world-settings:

default:

entity-tracking-range:

players: 64

animals: 48

monsters: 48

misc: 32

other: 64

This controls how far entity data is sent to clients — entirely separate from simulation. You can reduce these to lower network bandwidth without affecting simulation at all.

---

Diagnosing Simulation Distance Problems

If you're not sure whether simulation distance is your bottleneck, run /spark tps and /spark profiler while your server is under load. Look for:

  • High time in tickChunks
  • Spikes in EntityTick or TileEntityTick
  • Server MSPT consistently above 45ms

Tools like [PulseNode](https://pulsenode.tech) can correlate TPS drops with player positions and active chunk counts in real time, making it easy to identify when a cluster of players is causing simulation overload — especially useful for tracking patterns across hours of gameplay without manually running profilers.

---

Common Mistakes to Avoid

Setting view-distance = simulation-distance: You're wasting performance. Use no-tick-view-distance to decouple them.

Using vanilla defaults (10) on a populated server: Vanilla defaults are designed for single-player. A simulation distance of 10 with 30 players means 13,000+ actively ticked chunks — most servers cannot handle this.

Ignoring the Nether and End: These dimensions are almost always over-simulated. Set them to distance 4 unless you have specific gameplay reasons not to.

Not restarting after changes: Simulation distance changes require a full server restart to take effect — a reload won't apply them properly.

---

Quick-Start Config Summary

For a survival server with 20–50 players, here's a solid baseline:

server.properties

simulation-distance=6

view-distance=6

config/paper-world-defaults.yml

chunks:

simulation-distance: 6

view-distance: 6

no-tick-view-distance: 12

config/paper-world/world_nether/paper-world.yml

chunks:

simulation-distance: 4

no-tick-view-distance: 8

Test with your real player load, monitor TPS for 24–48 hours, and adjust upward only if players report gameplay issues like crops not growing or mobs not spawning at expected rates.

---

Simulation distance is one of those settings that looks minor on paper but has an outsized impact on server performance at scale. If you're running Paper or Purpur and haven't tuned no-tick-view-distance, you're leaving significant TPS on the table.

Want to see exactly how your simulation distance changes affect TPS over time? [PulseNode](https://pulsenode.tech) tracks your server's performance history and alerts you when chunk simulation starts creeping up — so you can catch problems before your players do.

Optimize your server performance?

PulseNode monitors your Minecraft server in real-time and gives you AI-powered optimization tips.

Start for free
Minecraft Server Simulation Distance: The Hidden Setting That's Destroying Your TPS — PulseNode Blog | PulseNode