[BDS-5094] Global mob cap limiting spawns on populated server Created: 07/May/20  Updated: 28/Dec/24

Status: Reopened
Project: Bedrock Dedicated Server
Affects Version/s: 1.14.60, 1.16.10, 1.16.20, 1.17.40, 1.18.12 Hotfix, 1.21.30, 1.21.40
Fix Version/s: None

Type: Bug
Reporter: IO Assignee: Unassigned
Resolution: Unresolved Votes: 22
Labels: None
Environment:

Windows Server 2019 (dedicated BDS server)


Issue Links:
Duplicate
is duplicated by BDS-7969 Mobs Not Spawning Resolved
is duplicated by BDS-8685 Mobs not spawning Resolved
is duplicated by BDS-13243 sometimes when on hard dificuty no mo... Resolved
is duplicated by BDS-16092 No Mobs generate after unknown amount... Resolved
is duplicated by BDS-16759 Hostile mobs stop spawning Resolved
is duplicated by BDS-19230 Mobs (passive and hostile) stop spawn... Resolved
is duplicated by MCPE-178217 Inconsistent mob spawn in BEdrock Mul... Resolved
is duplicated by MCPE-178663 Bred animals count towards global mob... Resolved
is duplicated by MCPE-184920 Multiplayer Mode Impacting New Spawns... Resolved
is duplicated by MCPE-187847 Mob Spawn Issue Resolved
is duplicated by MCPE-189460 Hostile and underwater mobs don't spa... Resolved
Relates
relates to MCPE-161622 Creating a mob switch with farm animals Resolved
Confirmation Status: Confirmed
ADO: 384878

 Description   

Summary

The global mob cap, while adequate for a singleplayer world, is limiting when it comes to running community BDS servers.

Steps to reproduce...

  1. Start a BDS server
  2. Have a number of players online and creating pens of chickens, cows etc
  3. Note that as players make bases for themselves, mob spawns reduce significantly

What I expected to happen...

Larger servers should be possible without mob spawns being crippled

What actually happened...

On a server with 10 people, that averages about 20 mobs per player, a small base with only a few animals in pens will consume a good portion of that cap. It leaves larger servers devoid of hostile spawns.

Notes...

  • On Java the global cap scales with the number of loaded chunks. This means the more players online, the higher the cap.
  • While mob farms (eg chicken cookers) with tens/hundreds of mobs could be considered overkill they are also part of the sandbox. With no indication you've gone over this invisible cap many don't understand why nothing is spawning for them.
  • On larger servers there's very little admins can do to prevent hitting the cap. Just general play by everyone online, without massive farms, will fill the cap.


 Comments   
Comment by [Mod] GoldenHelmet [ 27/Sep/24 ]

To be clear, this is not just a BDS issue as it affects local worlds and Realms, too.

Comment by [Mojang] CornerHard [ 07/Aug/24 ]

Looking into this

Comment by yichen0403 [ 07/Jun/24 ]

still effective on 1.20.81 bds server

Comment by WithheldTaxes [ 29/Aug/23 ]

What is the status on this bug?

We are still receiving issues with no mobs spawning and want to know what the resolution will be

Comment by Christopher Grepkr [ 21/May/22 ]

Most apparent still in 1.18.33 BDS.  This is game breaking for survival servers.

Comment by Mekt0r [ 27/Sep/21 ]

This issue is still very much alive and well in 1.17.30. 

 

I was playing with literally 1 other person on a healthy dedicated server on hard and the nether was completely barren. Not a single mob in the nether at all! Meanwhile the other player was next to tons of sheep and chickens.

Makes no sense why the mob cap for 1 player is altering the cap for everyone else to 0 who aren't even remotely near each other. This is a game breaking bug making there be almost no point to having a dedicated server or realm at all if we can't play with friends without micro managing people. This should be a top priority bug to fix.

Comment by IonicEcko [ 04/Sep/20 ]

I've updated the description to follow our standard report template, let me know if you think anything is missing.

Comment by JP Duffy [ 30/Jul/20 ]

Could we get a server.properties setting to alter the cap?  It seems unreasonable that a few small animal farms breaks hostile mob spawning. 

Comment by IonicEcko [ 22/Jul/20 ]

Hi IO,

Have you noticed any improvement in 1.16?

While the global mob cap and its implications still exist, the despawn system as well as a number of tweaks to the global cap (armour stands no longer count, neither do Villagers) appear to have improved the situation on my server.

Curious how they have impacted a larger server like yours.

Ionic

Comment by IO [ 07/May/20 ]

Thank you for the help IonicEcko, it is much appreciated.

I know for a fact there are many other BDS server owners out there alike the two of us also facing this issue. In some form, it makes for a less than desirable gameplay experience when you can't even find any form of food. (primarily effecting newer players). Sure there is seeds, and alike items to make food, but the focus here is regarding mobs.

 

Again, thank you for your time.

Comment by IonicEcko [ 07/May/20 ]

Unfortunately, with that many players I can't think of anything that would help. On average that means each player can only have 10 entities around them. That's not sustainable no matter what you do.

I'll raise this internally and see if Mojang is happy tracking this as a bug.

(For the record, I agree its hugely detrimental to BDS. The mob cap is one of my biggest personal pet peeves because it means I have to micromanage my players and no one likes that).

Comment by IO [ 07/May/20 ]

Doing /kill @e[type=!player] only killed around 130 entities. That's with 29 of us on, on an established server.

What's the ideal settings you'd recommend to increase the mob capacity to it's maximum potential? Set ticking distance to a lower value, say 2 perhaps?

Also yes, I am aware of that, thus the attempt to kill all via the corresponding command to hopefully fix things. Unfortunately that didn't fix much for long, mobs spawned in a single batch around me, and then there were no more to be seen.

Comment by IonicEcko [ 07/May/20 ]

How do you know you have less thank 200 mobs in all ticking chunks?

If your ticking distance is set to 12 thats a 192 block radius around every player that's loaded and any mobs within those chunks are part of the cap. An iron farm takes a minimum of 30-40 entities so one or two of those alone is 25-50% of your cap consumed.

With the current version mob despawning is also broken meaning any cave underground could be amassing mobs without your knowledge.

Comment by IO [ 07/May/20 ]

Hi IonicEcko,

I'm not sure my problem falls in to the category you're speaking of. We have well below 200 mobs in all chunks, no custom ticking areas. I've ensured there are no mobs whatsoever in the permanently loaded spawn chunk, yet little to no mobs spawn, still.

Comment by IonicEcko [ 07/May/20 ]

Hi IO,

This is actually working as currently designed, as such this likely falls more into a "feature request" than a bug report.

Mob spawning on Bedrock conforms to a 200 entity cap for ticking areas. Exactly what entities fill this cap I can't say for sure but most passive and hostile mobs seem to. Once that 200 entity limit is reached mobs no longer spawn (outside of some specific exceptions). There is a feedback post requesting it be increased (here) and also a bug report that tracks low or no spawning monsters (MCPE-21856) however the latter is considered resolved with the changes to mob despawning happening in 1.16.

In the meantime you can only manage the cap.

For example on my server I have a command block setup that shows everyone how many entities they have loaded in their ticking area (set to 8 chunks, reduced from 12 when we started having issues). I also have a mob despawn system set up (silentwisperer design) which has helped. We also follow a general rule that mob heavy farms (like cow crammers etc) cannot be built in an area that is always loaded (like peoples bases). They are built at least 8 chunks away from heavily used areas and only used in low periods. We've seen an improvement, Its not perfect, but its an improvement.

Ionic

Generated at Sat Jan 11 07:31:44 UTC 2025 using Jira 9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13.