EntitySuppressor
EntitySuppressor is a plugin designed to prevent unnecessary amounts of Mobs from spawning on your server, thus reducing server lag. It does this by supplying an efficient multi-step process to limiting monsters.
Code is written almost entirely by myself. Also see bergerkiller's NoLagg for further Lag-Fixes. Credit to NoLagg & LexManos's PerformanceTweaks for some original concepts.
Features!
Quote:
- Multiworld compatibility!
- Limits Monsters, Squid, Animals, Bats, and Villagers to configureable amounts in rather efficient way.
- Can limit how far and/or how many layers away monsters spawn.
- Reduces the frequency of mob-spawn ticks.
- Only limits naturally spawned and spawner-spawned Mobs.
- When a world has reached it's maximum, spawner mobs are queued until there is room.
- Ability to remove far away unnecessary monsters.
- Does not remove mobs that have picked up player items.
- Commands to count the number of living entities.
- Commands to remove living entities.
- Reloadable config.
- Configurable debug mode that prints extra information.
- CraftBukkitUpToDate compatibility.
- Anonymous statistic reporting to mcstats.org!
Commands & Permissions
- /es count - Returns a count of all Living Entities in the current world.
- /es remove <all / monsters / animals> - Removes all of the specified entity group from the current world.
- esuppressor.remove - Required to use /es remove.
- If "all" is added to the end of either of the above commands, it will do it in all worlds.
- If <world> is added to the end of either of the above commands, it will only do it in the specified world.
- /es reload - Reloads the config.
- esuppressor.reload - Required to use /es reload.
@ryvix
maxtps is weird. It runs as it's own program and tweaks the packets and stuff. I'm not touching any of that. O_o
@Fishrock123
This plugin also seems to have some neat features for controlling them and a lot of explanation on their page. Maybe it would help some.
http://dev.bukkit.org/server-mods/maxtps/
@ryvix
- Will do.
- Hmmm.....
@Jobsti2
- I can give you a non-published plugin of mine that allows you to protect animals, pm me if you'd like it. (You still have to do it by hand.)
- I can't do anything about unloaded chunks.
- Again, with my auxiliary plugin.
This looks like a cool plugin.
Is it possible to count all entities within a radius around you or a set of given coordinates?
For removing them, can it somehow check from a mob to detect if there are a set number of other mobs within a block or 2 away, especially on the same block/coordinates, and if so remove itself?
Heyho @Fishrock123
It it possibe:
- Acommand to kill all animals, exept the breeded Animals and Pets?
- To kill all animals in unloaded Chunks?
- Distance removal for non breeded animals?
@Nire_Inicana
Yes. See: http://dev.bukkit.org/server-mods/entitysuppressor/pages/main/configuration/
do you have to put the world name in for the mob supressor?
@sadendash
There is no reasonable way to check how many monsters have been spawner-spawned. :/ (Other than the way NoLagg does it.)
Also, there is now way to check what spawner block spawned it.
@Fishrock123
I recommend finding an alternative plugin for this instead. Removing entities after they are spawned causes more lag than it prevents! I dont want to use NoLagg because of that! Did you think about implementing a way of limiting mob-spawner spawns?
@sadendash
Unfortunately, not at this point. I believe NoLagg has a weird way of doing it which I don't understand. You could try that.
Hey Fishrock!
Is it possible to set a limit only for mob-spawners?
So after the Mob-Spawner spawned 50 Mobs it blocks?
@Jobsti2
Just turn DistanceRemoval off then. :/ I'll try to aggregate it over multiple ticks in the future.
Weird. This doesn't happen in my tests, so it doesn't make sense. Sounds sorta like a problem I fixed a couple months ago. Tell me if the new version still has this issue.
The DistanceRemoval wants the most Power on our Server, there many CPU Peaks. Without it's ok.
But after 3-4h and many animals are on the world, very very few monsters are spawning, in some chunks no monsters spawn, even there are less animals on the world. After a restart (every 5h), everything works normal.
We're on the new Beta #2167. Now testing your new build...
@Jobsti2
On the note of CBPlusPlus, just up the growth ticks. Seriously. In my experience CBPlusPlus is the best solution to all this vanilla crap.
On every ES scan the server is going to lagg a bit. add "UseSpawnFlags: false" to your config and try.
If it still laggs, also set:
"UseMonsterDistanceRemoval: false"
I've got a Problem with the Chunk Calculated Mobs: Huge CPU load and Lags. I used the default-high values.
view-distance=8
We have a big Mainworld with radius 3200, with only 10-12 online Players, there are 9000-14000 Chunks loaded.
Without Chunk-calculated, only with limiting the maximum Mobs and ScanInterval: 200 we've got no load-problems.
Without your Plugin, we have 4000-5000 Mobs on the world, which is too heavy for our CPU (4x3,6ghz). (2/3 animals 1/3 Monster)
So, now we have the max limits without chunklimiter of 1024 Animals and 1024 Monsters. It works ok, but nolagg examine shows, that ES uses some CPU on his checks.
With maxmimum Limit of 3000 Mobs (without Chunk limiting) CPU lag spikes are too heavy on ES cheks, and CPU load rises, we've got some lags.
So, limit to max 2000 Mobs works fine
limit to 3000 with ES, causes huge CPU load
Without ES, 3000 Mobs on the wold, no Lags, but huge CPU (a bit less as with ES)
CBplusplus is no solution, because the ultra slow growing-event, we're a small survival Server.
Oh haha nice it updated thanks... Never saw the update.
@Pr07o7yp3
I assume it's just capping out too quickly for the spawners or something. I'm really not sure, other than that they are limited with all the rest of the monsters, no differently.
Ok, I increased CCMM to 50 and now looks like nice. Mm, what about mob spawners?
Did you block it or it's a bug?
@Pr07o7yp3
It's working perfectly fine.
Take your ChunkCalculatedMonsterMaximum (23) and multiply it by the CCM (15):
23 * 15 = 345
Animals no longer despawn, so you'll have to remove them. If people own animals, you'll have to either do it by hand, make new animals from eggs, or I can give you a little animal ownership plugin. Otherwise, just use "/es remove animals". (Warning: removes all animals in the current world!)
I'd boost your CCMonsterM to about 45.
Perhaps I will have to integrate a dual Chunk-player calculated maximum for best results. We'll see.