RAM is the spec people fixate on when they pick a game server, and it's the one they get wrong the most. The honest answer to how much you need is "less than you think, but the right amount for your game." Let's go through sensible numbers for the games we host most, then clear up the myths so you stop paying for memory that does nothing.
Quick numbers per game
These are rules of thumb, not laws. Your plugin list and your players will move them around. But if you're starting out and just want a number, start here.
| Server type | Sensible starting RAM | Notes |
|---|---|---|
| Vanilla Minecraft, small group | 2 GB to 4 GB | 4 GB is comfortable for friends and family. |
| Paper or Spigot, 10 to 20 players | 4 GB | Paper is lighter than vanilla per player. |
| Modded Minecraft (Forge or Fabric) | 6 GB to 10 GB | Big modpacks can want even more. |
| Rust, small map and few players | 6 GB to 8 GB | Rust is hungry even when quiet. |
| Rust, larger map and a busy server | 10 GB to 16 GB | Map size drives this more than player count. |
| A small Discord bot | 128 MB to 512 MB | Most bots barely touch RAM. |
Notice how far apart these sit. A Discord bot and a modded Minecraft server are not in the same world. People sometimes ask us for an 8 GB plan to run a single discord.py bot, and we have to gently tell them they could run that bot on a potato. The bot mostly waits on Discord's gateway. It does not need much.
Why Rust eats more than Minecraft
Rust holds a big detailed map in memory along with every entity on it. Buildings, deployables, loot, the lot. As the wipe goes on and players build, the entity count climbs and so does RAM use. A fresh map after wipe might sit happily. The same map two weeks later, covered in bases, will be heavier. That's normal. Plan for the busy state, not the empty one.
More RAM is not more speed
Here's the myth that costs people money. They see a laggy server, assume "not enough RAM," and buy a bigger plan. Then nothing improves and they're confused.
RAM is space, not speed. Once your server has enough room to hold the world and everything running on it, adding more does almost nothing. An empty cupboard does not make you cook faster. What actually makes a tick fast is usually the CPU, and for Minecraft and Rust the thing that matters most is single thread performance.
Minecraft runs its main game loop on essentially one thread. Rust is similar for a lot of its core work. So a CPU with strong single core speed will run circles around one with loads of weak cores, even if the weak one has more total cores. When you compare hosts, that high clock speed per core matters more than a big core count for these games. A quick warning: a cheap plan with tons of RAM and a slow shared CPU will still lag, and no amount of extra memory fixes it.
How to tell RAM from CPU problems
You don't have to guess. The symptoms look different once you know what to watch.
- Low TPS or bad tick time, but RAM use is sitting comfortably below your limit. That's a CPU problem. More RAM won't help.
- The server stalls, freezes for a second or two, then catches up, again and again. Those pauses are often the garbage collector reclaiming memory because the heap is too tight. That's a RAM problem, or a tuning problem.
- RAM climbs steadily over hours until it hits the limit and the server crashes or grinds. That's either too little RAM for the workload or a memory leak, often from a misbehaving plugin or mod.
For Minecraft, the spark plugin is the tool we reach for. It profiles ticks and shows you what's actually eating time and memory. Run it before you buy anything. In our experience most "I need more RAM" tickets turn out to be one heavy plugin or a CPU that's just doing too much.
Setting the Java heap and leaving headroom
For Minecraft you set how much memory the Java process can use with flags. -Xmx sets the maximum heap, and -Xms sets the starting heap. A common start command looks like this.
java -Xms4G -Xmx4G -jar paper.jar nogui
Setting -Xms and -Xmx to the same value is fine and avoids the JVM resizing the heap while you play. But here's the part people miss: do not give the heap every megabyte your plan has. The operating system needs some, and the JVM itself uses memory outside the heap for things like off heap buffers and metadata.
So on a 4 GB plan, do not set -Xmx4G. Leave headroom. A rough guide:
- On a 4 GB plan, give the heap around 3 GB to 3.5 GB.
- On an 8 GB plan, give it around 6 GB to 7 GB.
Set the heap to the full plan size and you'll get crashes when the process tries to use a bit more than the limit and the host kills it. It looks random and it's maddening to debug. Leave the headroom and it goes away. On Bytte.cloud the panel usually picks sane defaults for you, but if you set the flags by hand, this is the rule to remember.
A note on Rust
Rust isn't a Java game, so there are no -Xmx flags to set. It just uses what it needs from the system. Your job is to pick a plan with enough room for the map size you've chosen and the player count you expect, then keep an eye on it as the wipe fills up.
How plugins and mods inflate it
The base game is only part of the picture. Every plugin and mod you add costs something. Some cost a little. Some cost a lot.
A handful of light Paper plugins like LuckPerms and EssentialsX barely register. But a heavy economy plugin, a dynamic map renderer, a chunk pre-generator, or a plugin that keeps loads of data in memory will all push your usage up. Modded Minecraft is the extreme case. A modpack with hundreds of mods can need three or four times what vanilla needs before a single player joins, because all that content has to be loaded and held.
The practical takeaway is simple. Don't size your server for vanilla and then bolt on fifty plugins. Size it for what you'll actually run. And every so often, look at your plugin list and drop the ones nobody uses. Dead weight is still weight.
Players and view distance
Player count matters, but maybe less than you'd guess. Twenty players in a small area near spawn cost less than twenty players scattered across the map, because scattered players keep more of the world loaded at once.
That's where view distance comes in, and it's one of the most overlooked settings in server.properties. View distance controls how many chunks load around each player. Crank it up and every player loads a much bigger area, which multiplies both RAM and CPU work. The growth is roughly quadratic, so going from 10 to 16 is a big jump, not a small one.
# server.properties
view-distance=8
simulation-distance=6
If your server feels heavy and you've got a high view distance, try dropping it before you reach for a bigger plan. Most players honestly won't notice the difference between 8 and 12, but your server will. Simulation distance is the same idea for ticking entities and tends to cost even more, so keep it modest.
So how do I actually pick a number?
Put it all together and the decision gets simple.
- Start from the table above for your game and rough player count.
- Add headroom if you're running modded or a long plugin list.
- Pick a host where the CPU per core is strong, not just one with the biggest RAM number on the page.
- Launch it, then watch the real usage with spark or the panel graphs for a week.
- If RAM is steady and well under the limit but TPS is poor, that's a CPU issue. If RAM keeps hitting the ceiling, then bump it up.
Buying RAM you'll never touch is the most common waste we see. You can always upgrade later in a couple of clicks once you have real numbers, so there's no need to over buy on day one. Start a little lean, watch the graphs, and let the actual behaviour of your server tell you what it wants. That beats guessing every time.



