Minecraft Server Hosting Guide: Single-Thread CPU, RAM Sizing and JVM Flags

Minecraft servers live or die on single-thread speed. How to size CPU, RAM and JVM settings properly.

A Minecraft Java server runs its main game loop on one thread, so single-core speed decides how many players and how much activity it can handle before the tick rate drops. Size RAM for the world and plugins, not for a big number on a plan. For most community servers, a high-frequency VPS with enough memory is the right start, and a dedicated server makes sense for large networks or many servers on one machine.

What drives Minecraft load

  • The main tick loop. The server aims for 20 ticks per second. When a tick takes too long, players see lag regardless of how many cores are idle.
  • Entities and redstone. Mob farms, item drops and complex redstone cost more CPU than player count alone.
  • Chunk generation. Exploring new terrain is expensive. Pre-generating the world before launch removes much of that load.
  • Plugins and mods. A heavy modpack can need far more memory and CPU than a lightly modded server.

Sizing table

Server typeStarting memoryWhat matters most
Small private or friends server4 GBSingle-core speed
Community server with plugins8 to 16 GBSingle-core speed, then RAM
Heavy modpack16 GB or moreRAM and fast storage
Network with several servers and a proxy32 GB or moreCores for separate server processes

Give the JVM less than the machine's total memory. The operating system, the proxy and any database need their own share.

Worked example: a 30-player plugin server

Start on a 9950X VPS 32 (6 vCPU, 32 GB DDR5). Allocate around 12 to 16 GB to the server's heap, leave the rest for the operating system and backups, pre-generate the world to the border you plan to use, and watch the tick time with a profiler during peak hours. If tick time stays healthy, you have headroom. If it does not, profile before upgrading, because a single badly behaved plugin often costs more than any hardware change fixes.

JVM settings

PaperMC documents Aikar's flags, a widely used set of G1 garbage collector settings for Minecraft servers. A typical start line looks like this:

java -Xms12G -Xmx12G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -jar server.jar --nogui

Set -Xms and -Xmx to the same value so the heap does not resize during play. Use the full flag set from the PaperMC documentation for your memory size.

Which StreamData product fits

9950X planvCPUDDR5NVMeMonthly
9950X VPS 16416 GB64 GB₹2,399
9950X VPS 32632 GB128 GB₹4,799
9950X VPS 48848 GB192 GB₹7,199
9950X VPS 641064 GB256 GB₹9,599

The AMD Ryzen 9 9950X is a 16-core, 32-thread Zen 5 processor rated for boost clocks up to 5.7 GHz. A 9950X VPS receives a virtual allocation on that host, not exclusive use of all sixteen cores. See the 9950X VPS plans page.

For bigger networks or many servers on one host, the dedicated server inventory includes AMD Ryzen 9 9950X bare metal with 64 GB DDR5 and 1 TB NVMe for ₹12,999 per month, or 128 GB DDR5 for ₹17,999.

Protection

StreamData positions eligible services behind Cloudflare (Magic Transit-ready) and StormWall partner mitigation paths, chosen by route, workload and location, with a Layer 3 and 4 focus. The DDoS protection page is explicit that no provider can guarantee 100% protection, and that an attacked IP may be temporarily null-routed when traffic exceeds safe levels. Layer 7 abuse still needs rate limits, caching and application controls on your side.

Game servers attract attacks, so keep the server port the only public service, run the admin console over SSH, and put a proxy in front of multiple servers.

Before launch checklist

  1. Pre-generate the world to its border.
  2. Set view distance and simulation distance to values your hardware can sustain at peak.
  3. Profile ticks with players online and remove or reconfigure the most expensive plugins.
  4. Schedule off-server world backups and test a restore.

Frequently asked questions

Does Bedrock need the same sizing?

Bedrock Dedicated Server is a different program with different performance characteristics. Size it by testing with your expected player count rather than reusing Java numbers.

Why is my server lagging with free CPU?

Because the main loop uses one core. Other cores can be idle while that one is saturated. Profile ticks to find the cause.

Should I use Paper or Vanilla?

Paper is a popular high-performance server implementation with extra configuration for performance. Check plugin compatibility first.

How often should I back up the world?

At least daily for a busy server, stored off the machine. StreamData's backup policy leaves backups to the customer unless managed backup is ordered.


Sources