Minecraft Server Scaling: From 10 Players to 200+ on Dedicated Hardware

Running a Minecraft server for 10 friends is straightforward — a single Paper instance on a 4-core box does the job. Running for 200 concurrent players on a single machine requires careful engineering, and beyond 200 you need a multi-server proxy network. This guide covers the progression from a single instance to a full proxy network, with hardware specs and configuration for each scale level.

Start with the right hardware. Compare dedicated server plans that offer the high-clock CPUs and NVMe storage Minecraft needs at scale.

Scale Level 1: Up to 50 Players — Single Paper Instance

For a single server with 10–50 concurrent players, one Paper instance on dedicated hardware is sufficient. The key specs:

Player CountCPURAMStorage
10–20 players4 cores @ 4.0+ GHz6–8 GB50 GB NVMe
20–35 players6 cores @ 4.5+ GHz10–12 GB100 GB NVMe
35–50 players8 cores @ 4.5+ GHz12–16 GB150 GB NVMe

Use Aikar’s JVM flags, set -Xms equal to -Xmx, and enable G1GC. Pre-generate chunks with Chunky to avoid generation lag when players explore. Set view-distance to 6–8 and simulation-distance to 6 for the best balance of performance and gameplay.

Scale Level 2: 50–150 Players — Single Instance with Tuning

At 50+ players, a single Paper instance needs aggressive tuning. Start with a 12–16 core CPU at 4.5+ GHz and 24–32 GB of RAM. Beyond hardware, these configuration changes make the biggest difference:

  • Enable chunk loading limiting: Set chunk-loading and chunk-tick-limit in Paper’s config to prevent one player’s exploration from tanking TPS for everyone.
  • Entity activation range: Reduce entity-activation-range to limit tick processing on distant mobs. Drop monsters from 32 to 16 blocks, animals from 32 to 12.
  • Use a dedicated world border: Set a world border at 10,000–20,000 blocks radius. Unbounded worlds accumulate entities and chunks indefinitely.
  • Schedule restarts: Restart every 12–24 hours. Minecraft servers accumulate memory fragmentation and orphan entities over time. A scheduled restart clears the slate.

Scale Level 3: 150–500 Players — Proxy Network with Velocity

Beyond 150 players, a single Minecraft server instance cannot maintain 20.0 TPS regardless of hardware. The solution is a proxy network: a Velocity proxy distributes players across multiple backend Paper servers, each handling a different game world or game mode.

Architecture Overview

ComponentRoleHardware
Velocity ProxyRoutes players, handles auth, manages handshake2–4 cores, 4 GB RAM, any SSD
Lobby ServerPlayer hub, minigame selection, social space4 cores, 6 GB RAM, NVMe
Survival World (Paper)Main survival gameplay world8–12 cores, 16 GB RAM, NVMe
Creative / Resource WorldSecondary worlds for building or resource gathering6–8 cores, 10 GB RAM, NVMe
Minigame ServersSkyblock, KitPVP, BedWars instances4–6 cores each, 6–8 GB RAM each

Setting Up Velocity

Velocity is the modern replacement for BungeeCord — it handles player authentication more securely, has better performance, and supports modern Minecraft versions out of the box.

# Download Velocity
wget https://api.papermc.io/v2/projects/velocity/versions/3.3.0/builds/latest/downloads/velocity-3.3.0-latest.jar

# Create velocity.toml with backend servers
# [servers]
# lobby = "127.0.0.1:25566"
# survival = "127.0.0.1:25567"
# creative = "127.0.0.1:25568"

# Run with 4 GB heap
java -Xms4G -Xmx4G -jar velocity.jar

Each backend Paper server needs online-mode=false in server.properties (Velocity handles auth upstream) and velocity-secret configured in both Velocity’s velocity.toml and each Paper server’s paper-global.yml for secure forwarding.

Scale Level 4: 500+ Players — Multi-Machine Proxy Network

At 500+ concurrent players, a single dedicated machine cannot handle the combined load. The architecture expands to multiple dedicated servers, each running several backend instances, with a load-balanced Velocity proxy layer.

  • Dedicated proxy machines: 2–4 small dedicated servers running Velocity behind a TCP load balancer (HAProxy or Nginx Stream). Each proxy handles 200–300 concurrent connections.
  • Backend server machines: Each machine runs 2–4 Paper instances, pinned to dedicated CPU cores via taskset or cset shield to prevent CPU contention between instances.
  • Shared world storage: Use a network NVMe volume (or a dedicated storage server with NFS over RDMA) for world data so any backend can access the survival world. This is the most complex part — Minecraft’s world format is not designed for concurrent access, so only one backend should mount each world at a time.
  • Redis for synchronization: Use Redis to share player data, bans, and permissions across backend servers. Velocity’s built-in forwarding handles the connection routing.

Common Scaling Mistakes

  • Throwing CPU cores at the problem: A single Minecraft instance cannot use more than 4–6 cores effectively. More cores do not help a single instance — use a proxy to split the load.
  • Shared hosting for proxy and backend: Running Velocity on the same machine as a busy Paper server causes CPU contention. Give the proxy its own dedicated machine or at least its own isolated cores.
  • No world pre-generation: Without pre-generated chunks, the first player to explore a new direction triggers chunk generation, which pegs one CPU core at 100% and drops TPS for everyone.
  • Overloading a single server with game modes: Running survival, creative, and minigames on one instance degrades all three. Separate them into distinct backend servers.

Summary

Scaling Minecraft from 10 to 500+ players requires shifting from “bigger single machine” to “multi-instance proxy architecture.” Up to 50 players, a tuned Paper instance on a high-clock CPU works. From 50 to 150, tuning and hardware upgrades extend the single-instance ceiling. Beyond 150, Velocity with multiple backend servers is the only viable path. At 500+, the architecture becomes a distributed network of dedicated machines, each running isolated instances behind a proxy layer.

Find the right hardware for every scale level on our dedicated server comparison table — high-clock CPUs, NVMe storage, and enough RAM for your player count.

Leave a Reply