Minecraft: Java Edition Server Requirements Calculator

Minecraft Java Edition is one of the easiest games to host well and one of the easiest to host badly. The dedicated server JAR is famously light on RAM — a vanilla world for a handful of friends runs happily in 2-4 GB — but it leans almost entirely on single-thread CPU performance for its main game-tick loop. That single design fact explains most of the confusion online: people throw 16 GB at a laggy server and see no improvement, because the bottleneck was never memory.

Use the calculator above to size RAM, CPU, storage, and bandwidth for your expected player count and server type, then read the breakdown below for the why behind each number. We distinguish clearly between vanilla/Paper servers (cheap) and large modpacks (expensive), since the difference is roughly 2-3x.

Recommended RAM
Host plan
CPU
Storage
Bandwidth
Quick recommendations for Minecraft: Java Edition
SetupPlayersRAMNotes
Small / Friends (vanilla or Paper)up to 104 GBComfortable for up to ~10 players on vanilla/Paper with default or slightly reduced view distance. 3.5 GHz+ CPU, SSD storage. 2-3 GB technically works but 4 GB leaves headroom for chunk gen and backups.
Community (Paper/Purpur, plugins)up to 256 GBPlugin server (survival/SMP) for 15-25 players. Tune view-distance to 8 and simulation-distance to 5-6. 4.0 GHz+ single-thread CPU strongly recommended.
Large public / minigamesup to 6010 GBHigh-traffic Paper/Purpur network. CPU clock speed and good entity/redstone limits matter more than raw RAM here. Consider splitting game modes across multiple instances behind a proxy.
Light-to-medium modpack (Forge/Fabric)up to 158 GBModpacks up to ~100-150 mods. 6 GB base just for mods is common; 8 GB covers a small group. Fabric packs often run 10-20% leaner than the Forge equivalent. Heavier CPU load than vanilla; expect lower practical player caps.
Heavy modpack (RLCraft / ATM / Pixelmon)up to 1214 GBLarge kitchen-sink modpacks need 10-16 GB and a high-clock CPU. RAM rarely fixes lag here — CPU single-thread performance is usually the limiter.

Minecraft Java Edition server requirements explained

Unlike most multiplayer games, a Minecraft server's hardware needs are driven less by player count and more by world activity — loaded chunks, ticking entities, redstone, and how fast players move through unexplored terrain. Here is what each resource actually does.

RAM

The official server documentation notes a single player adds only about 50-100 MB of memory on its own, with the practical figure rising when players travel quickly (boats, rails, elytra) and force rapid chunk loading. A vanilla or Paper server therefore needs surprisingly little: roughly a 1-2 GB base plus headroom, comfortably handling 10 players in 4 GB and 25 players in 6 GB.

  • Vanilla / Paper / Purpur: 2 GB base + ~150 MB per active player. Paper-family forks use 20-30% less than vanilla.
  • Light/medium modpacks (Forge/Fabric/NeoForge): 6-8 GB base before any players join.
  • Heavy modpacks (RLCraft, All The Mods, Pixelmon, Create): 10-16 GB, and RAM rarely cures the lag — see CPU.

Critically, more RAM is not always better. Over-allocating (e.g. 16 GB to a small vanilla server) gives the garbage collector huge heaps to sweep, producing longer stop-the-world pauses and visible stutter. Right-size the heap and use proper GC flags instead.

CPU

This is the number that matters most. The vanilla server — and standard Paper/Spigot — runs the world tick on a single main thread. That thread handles entity AI, redstone, block updates, and most chunk work, and it is a hard ceiling: a 5 GHz dual-core will outperform a 3 GHz 16-core for ordinary gameplay. Practical guidance:

  • Up to ~10 players, vanilla: 3.5 GHz+ modern core.
  • 10-25 players: 3.5-4.0 GHz+ with strong single-thread IPC.
  • 25-50+ players or heavy redstone/mob farms: 4.0 GHz+.

Extra cores help only for parallel chunk generation, GC threads, running multiple worlds/instances, or special builds like Folia (a Paper fork that splits ticking across regions). Modded servers are far more CPU-intensive — most modded lag is CPU, not RAM.

Storage

A new install plus a small world fits in a few GB; the server files alone need around 2 GB. Disk usage then grows with explored area and backups, not directly with players: a busy 20-player vanilla world over six months typically reaches 10-15 GB. Budget ~5 GB base plus room for backups. Use an SSD/NVMe — fast random reads keep chunk loading smooth and avoid the exploration stutter that spinning disks cause.

Network bandwidth

Minecraft is light on bandwidth: roughly 0.1-0.3 Mbps upload per active player under normal play, rising during heavy chunk streaming when players move fast. A 30-player self-hosted server wants 15-20+ Mbps upload, and on a home connection that uplink is shared with everyone else in the house. Latency and consistent upload matter more than raw throughput — a starved or jittery uplink makes the server miss ticks. Monthly egress works out to only a few GB per active player.

Optimizing a Minecraft Java server

Because the main tick loop is single-threaded, most real-world performance gains come from reducing how much the server has to tick rather than buying more hardware.

Use a performance fork

Switching from the vanilla JAR to Paper (or Purpur for even more tuning options) typically cuts CPU load and RAM use substantially while staying plugin-compatible. For modded servers, performance mods like Lithium (general tick optimization) and FerriteCore (memory reduction) are widely used.

Tune distances

Two settings in server.properties dominate load:

  • view-distance — how many chunks are sent to clients. Dropping from the default 10 to 8 (or 6 on busy servers) sharply reduces chunk generation and bandwidth.
  • simulation-distance — how far entities, redstone, and crops actually tick. Set this lower than view-distance, around 4-6, for large savings with little visible impact.

Limit entities

Reducing entity activation range (so distant mobs stop ticking) can reclaim a large share of tick time on populated worlds. Cap mob spawns per chunk, and watch for mob/item farms and entity-cramming spots that quietly eat the tick budget.

Tune the JVM

Use Aikar's flags — a well-known G1GC configuration tuned for Minecraft's allocation pattern. They keep garbage-collection pauses short and steady, avoiding the multi-second freezes that come from default JVM settings on a large heap. Pair them with a right-sized -Xmx/-Xms (set both equal) rather than an oversized heap.

Pre-generate and split

Pre-generating the world (e.g. with Chunky) moves expensive terrain generation off peak playtime. For very large communities, run multiple smaller server instances behind a proxy (Velocity or BungeeCord) instead of one giant world — this is the only practical way past the single-thread ceiling without exotic forks.

What to look for in a host for Minecraft Java

The single most important spec is CPU clock speed and single-thread performance, not advertised core count or total RAM. Many budget plans sell large RAM amounts on slow, oversubscribed CPUs — a poor fit for a game bottlenecked on one fast core. Look for hosts that publish their CPU model and clock speed and that limit how many servers share a physical core.

Other things that matter for this game specifically:

  • NVMe/SSD storage — chunk loading is disk-sensitive; spinning disks cause exploration stutter.
  • RAM headroom and a clear upgrade path — so you can grow from vanilla to plugins or a modpack without migrating.
  • One-click / instant modpack and Jar switching — easy installation of Paper, Purpur, Forge, Fabric, and curated modpacks saves real setup time.
  • Automated backups and easy restores — worlds are irreplaceable; check backup frequency, retention, and whether restores are self-service.
  • Full console and file access (FTP/SFTP and a web console) — you will edit server.properties, drop in plugins/mods, and read logs.
  • Low-latency location — pick a datacenter region near most of your players; ping affects perceived combat and block-break feel.
  • DDoS protection — public Minecraft servers are common attack targets, so always-on mitigation is valuable.
  • Custom JVM flag support — the ability to set Aikar's flags and your own heap size is a sign of a flexible host.

Whether you self-host on a home machine, rent a VPS, or use managed game hosting, weigh control versus convenience: a VPS gives full control but you manage the OS, security, and JVM yourself; managed hosting trades some control for instant setup and support.

CPU note: Vanilla and most plugin servers (Paper/Spigot) are single-thread-bound for the main game-tick loop, so per-core clock speed and single-thread IPC matter far more than core count. Aim for 3.5 GHz+ for small servers and 4.0 GHz+ (modern architecture) for 25+ players or heavy redstone/mob farms. A fast 4-core beats a slow 16-core. Extra cores only help with parallel chunk generation, GC threads, and multiple separate worlds/servers. Folia (a Paper fork) and a few mods spread ticking across cores, but the standard server does not.

Numbers are for the official server JAR running on a headless Linux box. Vanilla and Paper/Spigot are cheap on RAM; Paper/Purpur typically use 20-30% less than vanilla at the same player count. Modded servers (Forge/Fabric/NeoForge with large modpacks like RLCraft, All The Mods, Pixelmon, Create) need roughly 2-3x the RAM and far more CPU. Storage grows mainly with explored world area, not player count, so the per-player figure is a loose proxy; backups multiply disk needs. Allocating too much RAM (e.g. 16 GB+ for a small vanilla server) can actually hurt by causing long garbage-collection pauses — right-size it. A single server process realistically handles up to ~100-150 players on strong hardware before single-thread tick time becomes the bottleneck; larger networks use multiple instances behind a proxy (Velocity/BungeeCord).

Frequently asked questions

How much RAM does a Minecraft server actually need?
Less than most people think. A vanilla or Paper server for up to ~10 players runs well in 2-4 GB; 25 players is comfortable around 6 GB. A single player object adds only about 50-100 MB, though in practice the server allocates somewhat more per active player. The big jumps come from mods: light/medium modpacks need 6-8 GB just to load, and heavy modpacks (RLCraft, All The Mods, Pixelmon) need 10-16 GB. Avoid massively over-allocating — too large a heap causes longer garbage-collection pauses and more stutter, not less lag.
Is CPU or RAM more important for a Minecraft server?
For performance (TPS/lag), CPU is usually more important. The vanilla and standard Paper/Spigot server runs the main world tick on a single thread, so high single-thread clock speed (3.5-4.0 GHz+) matters far more than core count or total RAM. RAM mainly determines how many chunks/players/mods you can hold; once you have enough, adding more rarely helps. Modded server lag is almost always CPU-bound.
Does a Minecraft server use multiple CPU cores?
Only partially. The main game-tick loop is single-threaded in vanilla and standard Paper/Spigot, so it can't be sped up by adding cores. Extra cores do help with parallel chunk generation, garbage collection, running multiple worlds or separate server instances, and special builds like Folia (a Paper fork that ticks separate regions in parallel). For a typical server, prioritize a few fast cores over many slow ones.
How much upload bandwidth do I need to host a Minecraft server?
Roughly 0.1-0.3 Mbps of upload per player under normal play, rising during heavy chunk streaming when players move fast. In practice that means ~15-20+ Mbps upload for around 30 players when self-hosting, and remember home connections share that uplink with everyone else. Consistency and low latency matter more than peak throughput — a jittery or saturated uplink causes the server to miss ticks. Monthly data use is modest, only a few GB per active player.
How much disk space does a Minecraft world use?
A fresh install plus a small world is only a few GB (the server files alone need ~2 GB). Disk usage grows with how much of the map players explore, not directly with player count: a busy 20-player vanilla world can reach 10-15 GB over several months. Plan ~5 GB base plus extra room for backups, and use an SSD or NVMe drive — fast random reads keep chunk loading smooth during exploration.
Why does my Minecraft server lag even with lots of RAM?
Because lag (low TPS) is usually a CPU problem, not a memory one. If the single tick thread can't finish all entity, redstone, and chunk work in 50 ms, the server drops below 20 TPS no matter how much RAM is free. Fixes: use Paper/Purpur, lower simulation-distance (to 4-6) and view-distance (to 8), reduce entity activation range, cull laggy mob/item farms, and pre-generate the world. Also set Aikar's JVM flags to keep garbage collection from causing periodic freezes.
How many players can one Minecraft server handle?
A single well-specced Paper/Purpur instance can realistically serve around 100-150 players before single-thread tick time becomes the limit, assuming a fast CPU and tuned distance settings. Modded servers cap much lower, often 10-20 players. Large networks don't run one giant world — they split game modes across multiple server instances behind a proxy like Velocity or BungeeCord.