a hostd servers series

The Killd Board

How many axolotls does it take to kill a Minecraft server? Wardens? Boats? Two million hoppers? We spawn them into one chunk until the tick rate collapses, then write down the number. Every run, ranked, with the video for each.

Paper 1.21.11 Β· AMD Ryzen 7 9700X Β· 6GB allocated

8
servers stress-tested
6
killed outright
1,912
wardens: the fastest kill
2,171,380
things spawned in total

The three that broke it fastest

Ranked by how few it took before the server stopped keeping up.

#1Wardens
tps collapsed at
1,912
Reached 12,311 before we stopped.
Server died

The single most expensive mob in the game to tick. Sculk sensors, vibration listeners and pathfinding on a mob designed to hunt you, multiplied by two thousand.

watch on youtube β†’
#2Villagers
tps collapsed at
2,780
Reached 11,630 before we stopped.
Server died

Villagers gossip, restock, path to workstations and sleep. Every one of those is a job the tick loop has to finish before it can start the next tick.

watch on youtube β†’
#3Axolotls
tps collapsed at
2,906
Reached 10,357 before we stopped.
Server died

Water pathfinding is the expensive part. Cute is not cheap.

watch on youtube β†’

The full board

Number one is the entity that needed the fewest of itself to drag the server under 20 TPS. The second column is where the tick rate first gave way; the third is how far we pushed it before calling it.

how many X it takes to kill a minecraft server Β· paper 1.21.11 Β· amd ryzen 7 9700x Β· 6GB allocated
#What we spawnedServer stopped keeping up atPushed toVerdict
1Wardenswatch the run β†’1,91212,311Died
2Villagerswatch the run β†’2,78011,630Died
3Axolotlswatch the run β†’2,90610,357Died
4Iron golemswatch the run β†’3,13127,445Died
5Hopper minecartswatch the run β†’4,40010,685Died
6Boatswatch the run β†’4,84228,212Died
7Arrowswatch the run β†’9,73350,000Survived
8Hopperswatch the run β†’528,3972,020,740Survived

Every episode

The rest of the series, in the order we filmed it. All on the Hostd Servers channel.

Iron golems

3,131before TPS gave way
Died

Big hitboxes, constant collision checks against each other. The pile fights itself for CPU long before it fights you.

watch on youtube β†’

Hopper minecarts

4,400before TPS gave way
Died

The classic redstone-server killer: an entity and a container scanning for items, in the same object. Far worse per unit than a plain hopper.

watch on youtube β†’

Boats

4,842before TPS gave way
Died

An empty boat does almost nothing, and almost nothing times five thousand is still a tick you cannot finish in 50ms.

watch on youtube β†’

Arrows

9,733before TPS gave way
Survived

Stuck arrows are one of the cheapest entities in Minecraft, which is exactly why skeleton farms accumulate tens of thousands of them without anyone noticing.

watch on youtube β†’

Hoppers

528,397before TPS gave way
Survived

Idle block hoppers are cheap on modern Paper. It took over two million of them, and the server was still standing.

watch on youtube β†’

What actually kills a Minecraft server

A tick is 50 milliseconds, and that is the whole story

A server runs 20 ticks a second. In each one it moves every entity, runs every AI goal, ticks redstone, grows crops and saves chunks. Finish inside 50ms and you are at 20 TPS. Miss it, and the server prints "Can't keep up" and everything else slows down with it: mobs stutter, hits land late, hoppers crawl.

Entity count matters far less than entity cost

Nine thousand arrows were fine. Nineteen hundred wardens were not. An arrow stuck in a wall is barely ticked; a warden runs sculk vibration listening and pathfinding on top of normal mob AI. When somebody says "entities cause lag", what they mean is that some entities cost forty times what others do.

Crowding is its own tax

Everything in this series went into one chunk, because packing entities together is what real farms and item piles do. Entities in the same space keep colliding, and collision checks scale badly. The same count spread over a hundred chunks would have been far kinder to the tick loop.

It is a CPU problem, not a RAM problem

Ticking happens on one thread, so a server behind on ticks is short of single-core speed, not gigabytes. RAM buys you a different kind of safety: no out-of-memory crash and shorter garbage-collection pauses. That is why we run Ryzen 9700X with a 5.5GHz boost and hard-reserve the RAM instead of overselling it.

Every run used the same method: Everything spawned into a single chunk, in one pile, with the server left running until the tick rate gave up. We watched TPS and tick times rather than guessing, recorded the count where the server first fell behind, and kept going until it either died or made it clear it was not going to.

Your server is doing this too

These are the log lines our test servers produced on the way down, and they are the same ones that show up in real crash reports. Each links to the fix.

Can't keep up! Is the server overloaded? Running 4521ms or 90 ticks behind

A tick took longer than 50ms and the server is trying to catch up. This is the exact message every board entry above produced first.

Fixing Minecraft server lag: TPS, RAM and disk β†’
java.lang.OutOfMemoryError: Java heap space

The heap filled up. Usually entity or chunk buildup, sometimes a plugin leak, occasionally a genuinely undersized allocation.

What to do about Java heap space errors β†’
Error: Could not reserve enough space for object heap

The JVM asked for more RAM than the machine will hand over. On an oversold host this happens even when your plan says the RAM is yours.

Could not reserve enough space for object heap β†’
A single server tick took 60.00 seconds (should be max 0.05)

The watchdog gave up and killed the server. That is the line at the bottom of most of the crash reports in this series.

Minecraft server won't start: console errors and fixes β†’
Failed to bind to port

The old process never really died, so the new one cannot take the port. Common after a hard crash rather than a clean stop.

Clearing the port and restarting β†’
Internal Exception: io.netty.handler.codec.DecoderException

A packet was too large or malformed for the client to read, often chunk data from a world stuffed with entities.

Fixing the netty DecoderException β†’
Connection timed out: no further information

The client reached nothing at all. Either the server is down, the address is wrong, or the process is so far behind it never answers the handshake.

Connection timed out, how to fix it β†’
Outdated server! / Outdated client!

Your client and server are on different Minecraft versions. Nothing to do with performance, everything to do with the version dropdown.

Matching client and server versions β†’

Not sure which one is yours?

Paste your server details into Roastd and it reads your RAM allocation, view distance, player slots, JVM flags and logs, then tells you exactly what is wrong and how to fix each one. No account, no upload of your world, no charge.

Get your server roasted

Questions about killing servers

How many entities does it take to crash a Minecraft server?

On our test rig (Paper 1.21.11, Ryzen 7 9700X, 6GB) the tick rate started slipping between roughly 1,900 and 4,800 entities in one chunk, depending on the entity. Wardens broke it first at 1,912; boats needed 4,842; stuck arrows lasted to 9,733. The number nobody expects is hoppers as blocks, where it took 528,397 before TPS moved at all. Entity count is a bad measure on its own: what matters is how much work each entity asks for per tick.

What does "Can't keep up! Is the server overloaded?" actually mean?

A Minecraft server runs 20 ticks per second, so each tick has a 50ms budget. When one tick overruns, the server prints that warning and tries to catch up by running the next ticks faster, which it cannot do. TPS falls, mobs stutter, redstone runs slow, and hits register late. It is a symptom, not a cause: something in that tick took too long, and the log line right before it is usually the clue.

Does more RAM fix low TPS?

Usually not. Ticking is single-threaded work on one CPU core, so a server that is behind on ticks is short of CPU, not memory. RAM fixes a different failure: out-of-memory crashes and heavy garbage-collection pauses. If your server is crashing, look at RAM. If it is lagging while it runs, look at what you are asking each tick to do, and at how fast the core running it actually is.

Why do mob farms and item piles lag a server so badly?

Every loaded entity gets ticked: movement, gravity, collisions, pathfinding, AI goals, and for mobs like villagers a stack of behaviours on top. Pack thousands into one chunk and collision checking alone becomes brutal, because entities in the same space keep testing each other. That is why a farm that ran fine last month falls over once the item backlog builds up.

Are hopper minecarts really worse than hoppers?

By an enormous margin. A hopper minecart is an entity and a container in one object, so it is ticked as an entity and scans for items on top of that. Our board puts the minecart version in trouble at 4,400, while plain block hoppers took 528,397 to reach the same point, roughly 120 times more. If you are building a big sorting system, use hoppers and chest carts on rails, not a queue of hopper minecarts.

How do I find out what is lagging my own server?

Run a timings or spark report while the lag is happening, and read the log lines immediately before the first "Can't keep up" warning. If you would rather have it read for you, paste your details into Roastd and it will tell you which of your settings and log lines are causing it, with a fix for each. It is free and needs no account.

What hardware were these tests run on?

A Hostd node: AMD Ryzen 7 9700X, Paper 1.21.11, 6GB of hard-reserved RAM, NVMe storage. Same hardware and same RAM policy as a normal Hostd plan, because a benchmark on machines you cannot buy would be a waste of everyone's time.

Will my server survive a mob farm or a big build?

A sensibly built farm on a plan with enough CPU headroom, yes. What kills servers is accumulation nobody is watching: thousands of stuck items, an entity cramming farm with no despawn, chunkloaders keeping it all ticking while everyone is offline. Set entity limits, cap your farms, and check your entity counts occasionally.

Keep reading

Rent the machine we keep breaking

Same Ryzen 9700X, same hard-reserved RAM, same NVMe. Yours will not have two million hoppers in one chunk, which gives it a considerable head start. Online in under a minute, with a free address, DDoS protection and a 7-day money-back guarantee.

Cookies