Scaling Your Minecraft Server for 100+ Players on Weekends

Published on

Your server runs fine during the week. Saturday afternoon hits and TPS drops from 20 to 12. Here is what happens when 100 players log in at once and how to prepare for it.

Written by Jochem Wassenaar – CEO of Space-Node – 15+ years combined experience in game server hosting, VPS infrastructure, and 24/7 streaming solutions. Read author bio →

minecraft server 100 players scaling optimization

Twenty players on a Tuesday. No problems. One hundred players on a Saturday. TPS crashes to 12, chat lags, blocks take a second to break, and mobs teleport around instead of walking.

The "Saturday crater" is one of the hardest scaling problems in Minecraft hosting. The game server runs on a single thread for its main tick loop. More players means more entities, more chunk loading, more hopper ticking, and more redstone computation. All of it stacks onto that one thread.

Here is how to handle it.


Why 100 Players Breaks Things

Each player online adds load in several ways:

  • Chunk loading: Every player forces the server to keep chunks loaded around them. 100 players spread across the map means thousands of active chunks
  • Entity processing: Each loaded chunk ticks its entities. More chunks = more mobs, more item drops, more XP orbs
  • Network packets: The server sends position updates for every nearby entity to every nearby player. 10 players in the same area generate 10x10 = 100 position update pairs per tick
  • Redstone and hoppers: Player bases with hopper chains and redstone circuits tick constantly. 100 players with 100 bases means massive redstone overhead

A Ryzen 9 3900X at full boost handles the single-threaded tick loop at 4.6 GHz. That is fast, but Minecraft's architecture means you cannot throw more cores at the problem. You need to reduce the work per tick.


Step 1: Reduce Simulation Distance

This is the single most effective change. Simulation distance controls how far from each player the server ticks entities and redstone.

In server.properties:

simulation-distance=6

Default is 10. Reducing to 6 cuts the ticked area per player by roughly 60 percent. Players still see terrain at full view distance, but mobs and redstone only run within 6 chunks.

In spigot.yml, also check:

world-settings:
  default:
    view-distance: 8
    simulation-distance: 6

Step 2: Limit Hopper Tick Rate

Hoppers are the number one lag source on established survival servers. Each hopper checks for items to pull and push every single tick. A sorting system with 200 hoppers runs 200 item checks per tick, 4000 per second.

In paper-world-defaults.yml:

hopper:
  cooldown-when-full: true
  disable-move-event: false

On older Paper versions, use spigot.yml:

ticks-per:
  hopper-transfer: 8
  hopper-check: 1

Setting hopper-transfer to 8 means hoppers move items every 8 ticks instead of every 1 tick. Items move slower but the server saves massive CPU time.


Step 3: Limit Entity Counts

In bukkit.yml:

spawn-limits:
  monsters: 40
  animals: 10
  water-animals: 3
  water-ambient: 3
  water-underground-creature: 3
  axolotls: 3
  ambient: 1

Default monster limit is 70. Dropping to 40 means fewer mobs spawn per player. Combined with simulation distance reduction, this dramatically cuts entity processing time.

In paper-world-defaults.yml, also limit entity tick rates:

entity-per-chunk-save-limit:
  experience_orb: 16
  arrow: 16
  item: 32

Step 4: Use Async Chunk Loading

Paper handles chunk loading asynchronously (off the main thread) by default. Make sure you are running Paper, not vanilla or Spigot. Vanilla and Spigot load chunks on the main thread, which blocks the entire tick loop when 50 players are exploring new terrain simultaneously.

If you run Paper (and you should), chunks load in background threads. The main thread stays free for entity processing and game logic.


Step 5: Monitor with Spark

Install the Spark profiler plugin. During your Saturday peak, run:

/spark profiler start

Wait 5 minutes, then:

/spark profiler stop

Open the generated URL. The profile tree shows exactly what is consuming the most tick time. Common findings:

| Source | Typical Tick Cost | Fix | |---|---|---| | Hopper transfers | 5-15ms/tick | Reduce hopper tick rate | | Entity pathfinding | 3-10ms/tick | Lower mob spawn limits | | Chunk generation | 2-8ms/tick | Pre-generate terrain | | Redstone updates | 1-5ms/tick | Reduce simulation distance | | Plugin overhead | Varies | Profile individual plugins |


Step 6: Pre-Generate Terrain

When players explore new areas, the server generates terrain in real time. This is CPU-intensive. On a Saturday with 100 players exploring, chunk generation alone can eat half your tick budget.

Pre-generate terrain before it is needed:

Install Chunky (chunky plugin on SpigotMC):

/chunky radius 5000
/chunky start

This generates all terrain within 5000 blocks of spawn. Run this during off-peak hours (Tuesday night). By Saturday, all the popular areas are pre-generated and the server only needs to load them from disk instead of computing them.


Step 7: Hardware Matters

All the optimization above reduces CPU load. But at 100+ players, you still need strong hardware.

Minimum recommendations for 100 players:

| Component | Requirement | |---|---| | CPU | High single-thread performance (4.0 GHz+). Ryzen 9 3900X or newer | | RAM | 10-16 GB allocated to Minecraft (plus 2 GB for the OS) | | Storage | NVMe SSD (chunk loading from spinning disks is unacceptable at this scale) | | Network | 1 Gbps connection minimum |

Space-Node runs AMD Ryzen 9 3900X processors with NVMe storage in the Netherlands. Plans go up to 16 GB dedicated RAM. For servers that need to scale past 100 players regularly, contact support for custom configurations. Check the plans here.

Jochem Wassenaar

About the Author

Jochem Wassenaar – CEO of Space-Node – Experts in game server hosting, VPS infrastructure, and 24/7 streaming solutions with 15+ years combined experience.

Since 2023
500+ servers hosted
4.8/5 avg rating

Our team specializes in Minecraft, FiveM, Rust, and 24/7 streaming infrastructure, operating enterprise-grade AMD Ryzen 9 hardware in Netherlands datacenters. We maintain GDPR compliance and ISO 27001-aligned security standards.

View Space-Node's full team bio and credentials →

Start Minecraft Server in Minutes

Join content creators worldwide who trust our minecraft infrastructure. Setup is instant and support is always available.

Scaling Your Minecraft Server for 100+ Players on Weekends