Why should you never use a Minecraft mob stacker?

Why should you never use a Minecraft mob stacker?

Mob or entity stackers are a new craze in the Minecraft server administration space, with claims to massively improve performance. Is this true, though?

What are Mob Stackers

Mob stackers are Bukkit plugins that "merge" nearby mobs of the same type together to lower overall mob counts. For example, instead of having 20 zombies in an area, the plugin will replace it with a single zombie representing 20. A name tag shows how many mobs the single mob means. If this mob dies, it respawns, and the number decreases by one.

A mob stacker's logic is that it can lower the overall server load due to mob farms by making them contain significantly fewer mobs.

Why are they bad?

In more recent versions of Minecraft, the code for checking whether mobs should spawn is rather aggressive. When there aren't many mobs, the game tries very hard to generate more. With a mob stacker plugin, this is often always the case. And to make it worse, once the mobs do spawn, they're usually just merged with other nearby mobs. This issue leads to an endless cycle where the server is always dedicating significant amounts of resources to spawn mobs that will disappear anyway.

On top of this, the mob stacker plugins introduce further performance overhead. Due to these plugins' general low-quality nature, the performance impact in some cases can be quite severe. Not only is the slowdown due to mob spawning amplified, but so is the overhead of the mob stacker itself.

In the end, mob stackers end up causing more harm than good. They drive performance problems, are a terrible player experience, and conflict with other plugins and game mechanics.

So what instead?

The best way to solve problems caused by many mobs is to lower the mob spawn counts. One trick that Paper adds to allow a lower spawn cap but retain a good user experience is the addition of per-player mob spawn limits. If enabled, this option causes the server to handle mob spawning on a per-player basis. While this sounds like it'd be slower, it allows you to have fewer overall mobs without impacting player experience. You can find some further mob-related optimisations in this optimisation guide on the Spigot website, made by Celebrimbor. This guide also covers per-player mob spawns.