What a Minecraft server actually needs to run

The real minimum requirements for a Minecraft server: Java version, CPU, RAM and a port. Why single-core speed matters more than core count, and why more RAM rarely fixes lag.

The short version

A Minecraft Java server needs four things: a Java runtime matching your Minecraft version, one fast CPU core, enough RAM to hold the heap, and a reachable TCP port. Everything else is optional. For vanilla or lightly plugged Paper with about ten players, 3 GB of RAM and a modern CPU core is enough; most modpacks want 6 GB, and kitchen-sink packs want 10 GB or more.

A Minecraft server is a smaller program than its reputation suggests. It is a Java process that holds a world in memory, runs a loop twenty times a second, and speaks a documented protocol over one TCP port. That is the entire requirement list. Everything a host sells on top of it, panels, backups, DDoS protection, one-click modpacks, is convenience around those four things.

Understanding what the four are is what stops you buying the wrong upgrade.

#1. A Java runtime that matches your version

Minecraft Java Edition is compiled against a specific Java release, and the server refuses to start on an older one.

  • Minecraft 1.20.5 and later: Java 21
  • Minecraft 1.17 to 1.20.4: Java 17
  • Minecraft 1.16.5 and earlier: Java 8

A mismatch is loud rather than subtle: you get UnsupportedClassVersionError at startup and nothing else happens. Newer Java than required is usually fine for vanilla and Paper, but modded packs frequently pin themselves to an exact release, so follow the pack rather than the game version.

#2. One fast CPU core

This is the requirement most people get wrong, because it is the one that decides whether your server feels good.

The main game loop is single-threaded. Every tick, on one core, the server moves every entity, runs every mob's AI, ticks redstone, grows crops, processes hoppers and applies block updates. It has 50 milliseconds to finish all of that, because 20 ticks per second is what full speed means. Finish inside 50 ms and you are at 20 TPS. Miss it and the server prints Can't keep up! Is the server overloaded? and everything slows down together.

Extra cores do help, just not with that. Paper offloads chunk generation, network I/O and some world saving to other threads, which makes boot and exploration smoother. They do not raise the ceiling on the tick loop. A server on eight slow cores will hold fewer entities than a server on one fast one.

That is why we run AMD Ryzen 7 9700X with a 5.5 GHz boost rather than buying core count. We tested the ceiling directly: the Killd Board records the exact entity counts where our test servers stopped keeping up, and the pattern is entirely about how much work each tick is asked to do.

#3. RAM, sized to the pack rather than to ambition

RAM is what stops you crashing. It is not what stops you lagging.

  • 3 GB. Vanilla or Paper with a handful of plugins, about ten players.
  • 6 GB. Most Modrinth and Forge packs, Create, Cobblemon, smaller adventure packs.
  • 10 GB. The floor for All The Mods, FTB Skies, RLCraft, Better MC, Vault Hunters and anything kitchen-sink.
  • 14 GB and up. Heavy packs with ten or more active players.

Too little RAM produces java.lang.OutOfMemoryError: Java heap space or long garbage-collection pauses that feel exactly like lag but are not. Too much is mostly harmless but buys nothing: a heap larger than the working set does not make ticks faster, and on some workloads a very large heap makes collection pauses worse.

The trap is asking for more heap than the machine physically has. On an oversold host, that is how you end up with Could not reserve enough space for object heap on a plan you have paid for. We hard-reserve RAM at the kernel level for that reason, which is also why there is no -Xmx flag to tune on a Hostd plan.

#4. A reachable port

Java Edition listens on TCP 25565 by default; Bedrock uses UDP 19132. The server needs that port reachable from the internet, which on a home connection means port forwarding, a static-enough IP, and exposing your home address to everyone who joins. Self Hostd solves that specific problem without port forwarding if you want to run from your own machine.

The protocol itself is small and well documented: a handshake, a login exchange, then a stream of packets describing the world and what is in it. It is small enough that people implement it in places it has no business working, which is the entire premise of Will It Host?.

#What is not a requirement

  • A GPU. The server renders nothing. A graphics card contributes exactly zero.
  • Fast storage, most of the time. NVMe helps chunk loading and world saving, and it matters on a busy server with a large world, but it will not fix a tick-loop problem.
  • Lots of bandwidth. Minecraft is light on bandwidth. Twenty players is a few megabits.
  • A big machine. More RAM than the pack needs and more cores than the tick loop can use is money spent on nothing.

#How to tell which one is short

Match the symptom to the requirement:

  • Server will not start at all → Java version, or heap larger than the machine. Read the console error.
  • Server crashes after running for a while → RAM. Look for OutOfMemoryError.
  • Server runs but stutters, mobs lag, hits land late → CPU, or something in the tick loop doing too much work. Start with lag troubleshooting.
  • Nobody can connect but the console looks healthy → the port, the address, or online-mode.

If you would rather not guess, paste your details into Roastd. It reads your allocation, view distance, player slots, JVM flags and logs, and names which of the four is actually short. Free, no account.

#Frequently asked questions

What are the minimum requirements for a Minecraft server?

A Java runtime that matches your Minecraft version, one CPU core with decent single-thread speed, RAM for the heap, and an open TCP port. For vanilla or Paper with around ten players, 3 GB of RAM is comfortable. Modpacks raise the RAM floor sharply: 6 GB for most, 10 GB or more for kitchen-sink packs like All The Mods or RLCraft.

Does a Minecraft server need a good CPU or lots of RAM?

Both, for different reasons, but they fail differently. The main tick loop runs on one thread, so single-core speed decides your TPS. RAM decides whether you crash: too little and you hit OutOfMemoryError or long garbage-collection pauses. Adding RAM to a server that is lagging while it runs almost never helps, because the bottleneck is the tick loop, not memory.

How many CPU cores does a Minecraft server need?

One fast core does the heavy lifting. Paper and modern Minecraft versions move some work off the main thread, chunk generation and network I/O in particular, so extra cores help at boot and during world generation. They do not raise your ceiling on entity and redstone processing, which is the work that decides whether you hold 20 TPS.

Which Java version does my Minecraft server need?

Minecraft 1.20.5 and later need Java 21. Versions 1.17 to 1.20.4 need Java 17. Anything from 1.16.5 and earlier runs on Java 8. Running the wrong one fails at startup with UnsupportedClassVersionError rather than failing quietly, so the error tells you exactly what happened.

Written and maintained by the Hostd engineering team. Last updated 2026-08-10. Notice a mistake? Tell us.

Cookies