Mob farms and TPS, design choices that save your server
Mob farms and TPS, design choices that save your server
A well-designed mob farm is a beautiful piece of engineering. A poorly-designed one is a 12-hour ticking time bomb that drops your server from 20 TPS to 6 TPS one Tuesday night and you can't figure out why.
The good news: the rules are simple. Most farms that wreck servers do so for two or three repeatable reasons.
How mobs cost tick time
Every loaded mob ticks. Each tick, the engine does:
- AI (look around, decide what to do).
- Physics (gravity, water, lava).
- Pathfinding (if it has a target).
- Collision (check other entities).
Pathfinding is the expensive one. A mob with a clear path is cheap. A mob in a stuck or crowded spot, recalculating its path constantly, is expensive.
This is the central design rule for farm performance: mobs should be either falling, dying, or being collected. Never standing around thinking.
The four-pattern rule
A friendly framework for evaluating any farm design:
The good farms keep these phases tight in time and small in space. The bad ones leave mobs in phase 2 indefinitely.
The four-pattern rule, as a flow
Tick cost per mob, by activity
Specific design rules
Rule 1: Mobs should reach their death within seconds of spawning.
Long water-stream farms where mobs travel 30 seconds before dying are creating "thinking time" the whole way. Compress the path.
Rule 2: Never let mobs accumulate.
If your farm has a "holding area" where mobs sit waiting to be killed (looking at you, classic AFK fish farms repurposed), expect lag. Kill them on arrival.
Rule 3: Avoid pathfinding-heavy mobs in poor-AFK designs.
Iron golems have nasty pathfinding. Endermen teleport. Villagers think a lot. Zombies, skeletons, and creepers are cheaper. A skeleton farm will outperform an iron farm on the same scale.
Rule 4: Use solid-block transport, not flowing water, where possible.
Water-based transport keeps mobs in "moving in water" AI mode, which is heavier than "falling." Modern designs that use bubble elevators or one-block-tall flow channels are fine. Long sprawling water streams are not.
Rule 5: Kill via the cheapest method available.
Methods, cheapest to most expensive per kill:
| Kill method | Cost | Notes |
|---|---|---|
| Fall damage | Cheapest | Mobs die from gravity. No tick cost for the kill itself. |
| Magma block | Cheap | Clean, no fire spread, drops survive. |
| Suffocation / drowning | Cheap | A bit slower than fall damage. |
| Lava | Cheap | Eats drops if not designed carefully. |
| Sweep attack from AFK player | Cheap | Free if you are AFK swinging anyway. |
| Iron golem | Expensive | The golem itself ticks heavily. One is fine. |
| Snow golem | Expensive | Similar issue, plus snow generation. |
Common farm designs, ranked by friendliness
| Design | Friendliness | Why |
|---|---|---|
| Mob switch tower (gravity kill) | Very friendly | Mobs fall, die fast, drops collect. |
| Classic dark room with hoppers | Friendly | Spawn, fall, die. Tight timing. |
| Iron farm with one golem | OK | Golem itself ticks, but one is fine. |
| Iron farm with stacked golems | Bad | Each golem is full AI. Stacks of golems are tick-killers. |
| Witch farm (overworld variant) | OK to bad | Depends on water-stream length. |
| Guardian farm | OK | Concentrated kill area, but high mob counts per chunk. |
| Wither rose farm with mob suicide | Friendly | Mobs die nearly instantly on spawn. |
| Enderman XP farm (proper End design) | Friendly | Enderman teleport AI is well-handled in 1.16+. |
| Auto sugar cane / bamboo with mass pistons | Friendly | No mobs at all. |
A practical limit per chunk
Vanilla and most modded servers handle, comfortably:
- 50 to 100 mobs in a single chunk.
- 1 to 2 active complex AI mobs (iron golem, villager) per chunk.
Beyond these, expect noticeable cost.
Paper offers per-mob-category caps in paper-world-defaults.yml:
entities:
spawning:
per-player-mob-spawns: true
mob-cap:
monster: 70
creature: 10
ambient: 15
water_creature: 5
water_ambient: 20
villager: 100
Tighten these on a server where farms misbehave.
When a player's farm is causing lag
The social handling matters more than the technical handling. Most players genuinely don't know their farm is the problem. Approaching them with data, not blame, almost always works.
A community pattern that works
Publish a "farm design recommendations" page in your server's Discord or wiki. List:
- Cheap design patterns (link videos).
- Avoid patterns.
- Per-chunk soft caps.
- A standing offer: "If you want to build a farm and aren't sure if it'll be a problem, ask in #help-build and we'll review."
This shifts the conversation from "you're hurting the server" to "we're collaborating on design," and prevents most issues before they happen.
The hard lesson
Most farm lag isn't from one massive farm. It's from twenty medium farms across the world that no one's auditing. Schedule a quarterly entity-count audit. Look at /spark. If a chunk has 200 mobs, go visit it.
Conclusion
Farm performance is a design problem more than a hardware problem. Following the four-pattern rule (spawn, move briefly, die, collect drops) keeps almost all farms friendly. Most server-killing farms violate exactly one of those four steps. Find which one, fix it, and your TPS comes back.
Hosting your game server with AndroHost means we handle most of what's in this post for you automatically: tier sizing, SRV records, off-site backups, DDoS protection.
Keep reading
CPU vs GPU, a plain-English guide to how chips do math
What CPUs and GPUs actually do when they crunch numbers, why the differences matter, and how to pick the right chip for a workload.
Using your AndroHost database with plugins like LuckPerms
Every paid AndroHost server includes a real MariaDB database for plugins that need one. Here is how to set it up and connect.
Adding voice chat to your Minecraft server (Simple Voice Chat plugin)
The most requested addon for Minecraft community servers in 2026 is Simple Voice Chat (SVC) — the plugin that gives proximity-based voice (you hear players based on distance, like real life, like in DayZ or Rust). It works on Paper, Purp...