Datafex LogoDatafex
All guides

How to set up a Minecraft server: RAM and plugin planning

By Published Updated 3 min read

Setting up a Minecraft server is technically easy; sizing it correctly is surprisingly hard. The reason is this: what decides is not the player count but the size of the world and the plugin list.

Choosing the server type

TypeWhat forResource profile
VanillaOfficial server, no pluginsLightest
PaperPlugins, optimisedMore efficient than vanilla
SpigotPlugins, Paper's ancestorPrefer Paper
Forge / FabricMod packsHeaviest, 8 GB+

If you are going to use plugins, choose Paper: it is compatible with Spigot and does noticeably less work per tick.

The Java memory limit

A Minecraft server runs on Java and the memory it can use is capped by the -Xmx parameter. Growing the server's RAM does not change that value by itself — this is the situation most often run into after an upgrade.

java -Xms4G -Xmx6G -jar paper.jar nogui

Do not set -Xmx to the server's entire RAM; leave 1-2 GB for the operating system and other services.

RAM planning

  • Vanilla, 10 players: 2-3 GB
  • Paper + 20-30 plugins, 20-40 players: 6-8 GB
  • Forge mod pack, 10-20 players: 8-12 GB
  • Large mod pack + a widely explored world: 12-16 GB

World size is an invisible cost: as players travel further, new chunks are generated, and every generated chunk is written to disk and held in memory. Lowering view-distance and simulation-distance is often more effective than adding RAM. If RAM is still short once you have lowered both, you can pick the value and see the monthly total in the server configurator.

That is also why raising max-players barely changes the calculation: in Minecraft roughly 50 MB per player sits against a fixed load of 2-4 GB. The per-game, per-player load table and a worked example: game server slot planning

CPU: clock speed, not core count

Minecraft runs the main world loop on a single thread. Paper has split some work off, but the tick budget still depends on one core. The practical consequence: 4-6 vCPU is enough for most servers and more than that gives no measurable gain. If TPS is dropping, the answer is not adding cores but upgrading the processor family or reducing the plugin/entity load. The processor family sits on the virtual server plans as a choice separate from the core count.

The general logic of the calculation: how many vCPUs and how much RAM?

Installation steps

  1. Install with the Ubuntu 22.04 template and install Java 21 (or whichever Java your version requires).
  2. Download the server jar and run it once; eula.txt is created — set the value inside it to true.
  3. Set view-distance, simulation-distance and max-players in server.properties.
  4. Open port 25565 TCP (19132 UDP for Bedrock).
  5. Set up automatic backups — the world is permanent and restoring is the only route if it is corrupted.
  6. Run the server under screen or as a systemd service; do not leave it attached to an SSH session.

Where to start when TPS drops

Look in order:

  1. Entity count — overgrown animal farms and item stacks are the biggest consumers of the tick.
  2. `view-distance` — going from 10 down to 6 makes a noticeable difference on most servers.
  3. Plugin profile — Spark or a similar profiler shows which plugin is eating the tick.
  4. Chunk generation — setting a worldborder stops new chunks being generated continuously.

Growing the hardware without checking these four is usually spending money in the wrong place.

Official sources

The official documentation behind the ports, app IDs and configuration details in this guide:

Next step

We have put the recommended plans by player count and the Minecraft-specific questions on one page: Minecraft server plans.

If you want to act on what is in this guide:

See recommended server plans for Minecraft

Related guides