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.
@Pr07o7yp3
Use "/es count all"
Post Everything, including chunks please.
Ok, there are 100 players right now. I typed /es count and there are only 340 monsters and 93 players.
My config:
LimitMonsters: true LimitSquid: true LimitAnimals: false MonsterMaximums: world: 2048 world_nether: 1024 world_the_end: 256 ChunkCalculatedMonsterMaximums: world: 23 world_nether: 23 SquidMaximums: world: 32 ChunkCalculatedSquidMaximums: world: 6 AnimalMaximums: world: 128 ChunkCalculatedAnimalMaximums: world: 23 ScanInterval: 100 UseMonsterDistanceRemoval: true RemoveAtDistance: 128 CancelSpawnAtDistance: 92
@Pr07o7yp3
First off, use CraftBukkit++.
1: I don't know, can you upload your config file to pastebin or something?
2: You probably have ChunkCalculated maximums on. These calculate the limit dynamically per loaded chunks up to the hard limit you set (3000).
3: It can take a while for monsters spawned prior to using ES to dissipate. There is no way to fix this unless I make something that edits your save files.
And finally, no I cannot. I have no idea what good numbers are for 100+ players because I've never gotten to test it on much more than ten or so. If you can PM me your server address, I may be able to investigate the numbers better.
Ok, I have some question. 1. Why mob spawners doesn't work? I want to limited it, don't stop it. 2. Why when I type: /es count I get this "Maximum monsters in world is: 48". In config file I set up to be 3000. 3. In the config file I have this: SquidMaximums: world: 32 But there are many times when I type /es count I saw that there are more squids than 32!? Something like 40+.
In general: I have too little monsters and many times my players ask me if I stopped them. Also they want their mob spawners to work. I just want to limited it. :)
And can you tell me the best configuration for server with 100+ players. :)
No no, there are actually players online. ^ ^ I only meant that it is a new server setup made from scratch. It's also no real problem as long as ES works with this option.
But today I ran into a problem: I tried to spawn some mobs (chicken, pig, villager...) with the /spawnmob command of essentials and also by using those spawn eggs. But no mobs are spawning. Any idea why? Because the set mob limit is not even nearly reached. (600 mobs present. Limit is 2000) Even breeding the old fashioned way does not work at all. No babies are spawned.
EDIT: Aaaaaah! Forget it. I tired that in a region where mob spawning is disabled. XD ES works like a charm. :D
@CubieX
ES doesn't let monsters spawn on empty worlds (ones with no active players), is that the problem?
We have a fresh MC 1.2.4 server running and if we are not using the special config option: "useSpawnFlags: false", then the Monsters disappear within hours or minutes. They despawn if no one is around and are never spawning again.
We had this phenomenon also with an earlier Version of ES and MC 1.1 if you can remember. I just wanted to let you know this. Perharps you can find out how these things are connected.
By using these option and having it set to "false", everything works fine.
@judam
Unfortunately, yes.
I'm going to be implementing a hackish way to *help* prevent that, but since entities do not retain respawn reasons, it is hard to do much else.
@Fishrock123
What about mobs from spawners? Would exp farms hog all the servers mobs?
@judam
It prevents new mobs from spawning.
Does this prevent new mobs from spawning or does it kill the oldest?
@xclucky
While this is true...
@xFlakesID
I may look into it. Ability to rival NoLagg in limiting spawner-spawned monsters is fist priority, but Bergerkiller does it in a roundabout way that I don't like very much.
@xFlakesID
Drops can be configured by NoLagg
Please add Fireballs, Minecarts etc. My Server got spammed with it.
Please iminclude entities like drops, boats and minecarts if you can?!
I am leaving for a week. Any needed updates will be applied once I am back. (1st of April)
@Puremin0rez
Hopefully I'll be able to implement that soon. For now, Try NoLagg.
Is it possible to make it so only x amount of mob spawner mobs may spawn on the world? Mob farming is something I really want to nerf.
That makes more sense now, thanks.
Not limiting spawners was intended to avoid nerfing the xp farms that my players have, as were the high chunk limits. =) I'll see how things go at 20 for the chunk cap though.
@mrpleco
[EntitySuppressor] Current Maximums for `SM1_the_end`:
See the word current? If your using chunk calc maximums, the numbers will be calculated on the fly. Also, your chunk calculated maximums are way to high. Set them down to like 26.
Further more, I really hope you know what LimitSpawners: false does.