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.
@Fishrock123
Sorry, was a long day buried in php and java trying to redo one of our web pages. Yes it seems to being loading up now without errors. Thank you, hope this will kill some lag.
@BearFather
Did v2.0.4 Fix your problem?
@Fishrock123
Sweet. I will give this a go on Tuesday. Next day off where i an get to playing with the server.
@BearFather
Ok. I think I've fixed it. I'll push tomorrow.
@BearFather
Uooh... *facedesk*
I found something I need to change. Um.. standby for v2.0.4 "soon".
@Fishrock123
I did go through that convo. Checked my config in the online yml checker, and get no errors. That's why I tried different amounts. And tried with only the worlds I wanted effected. If you look at my log, all the worlds I reference are loaded by my other plugins including Multiverse-core. Is it maybe cause it's loading before Multiverse isn't loading it before yours?
Do I need to list all the worlds even tho I don't want them handled?
@BearFather
See the massive discussion with JoneKone below.
You've either got a yaml format error, or a world that bukkit doesn't have.
I gave this a try today on my test server. This looks perfect to limit players from getting mass amount of mobs at exp grinders. But when I went to load it up I get a bunch of NPE on startup. Do we need to list all our worlds? Or just the ones we want this plugin to control?
Config 1(What one I first tried) http://pastebin.com/8uqQ7VKu
Config 2(Then this one) http://pastebin.com/02kp99hv
Config 3(added all the worlds) http://pastebin.com/cuG2j64r
Server log http://pastebin.com/XauhteN0
@JoneKone
Correct. The maximum is 0 with Chunk-Calculation until chunks are loaded. (Someone logs on, or chunks are kept loaded via other means.)
Glad you finally got it working though!
How ever tough I have specified in config 2000 for Ares it tells me in startup 0 and when I do /es count Ares it says 90
Only with End it gives me 2000
Sorry I just pasted the same thing.. without bad spasing..
How ever.. I have
Ares Ares_nether Ares_the_end
And all is in my config files.
WAIT!! f in F F F I hate YML!
Ok I just fixet the DAM YML!jiadksoifehfoihueio
http://pastebin.com/PjGXu1YU <- The latest Starup log that apparently works.. just FINE! And I'm really sorry for the stupidity of My self :(
http://pastebin.com/HJhP8mmr <- config file.
@JoneKone
Once again, the NPE points to Bukkit.getWorld(<worldfromconfig>);
Which says you've got a world in your config that doesn't exist in bukkit. What are you even using for multiworld?
EDIT: Did you change pastes? Also, my command code is crap, so I can't debug it well. Wait for v2.0.4 then.
@JoneKone Try:
MonsterMaximums:
Ares: 2000
ChunkCalculatedMonsterMaximums:
Ares: 24
yes, we had to revert to that, since it spawn 2000 mob for one player If there is only one player in the game.
with this.
MonsterMaximums: Ares: 2000
@JoneKone
The current one doesn't actually limit monsters, as no limits have been given. It only removes / cancels them via distance.
@Fishrock123
http://pastebin.com/cqdA5rMA A conf.. .. ONE of them.. I'm thinking this conf Is not the one that we where using.. with NPE
with 2.0.2 and 2.0.3, And the error came with 2.0.3 <- But! there where No wrong named world names in the conf.
Current conf http://pastebin.com/umj8AgKj
I'm sorry I didn't conf the file at all. Just a Middle admin at the same server...
@JoneKone
The NPE is likely because you have a world in ES's config that doesn't exist...
And the removal can do that. I suggest adding a Chunk-Calculated maximum. The configuration is somewhat tricky. If you don't have a header, check this: http://dev.bukkit.org/server-mods/entitysuppressor/pages/main/configuration/
Ok we have done some more testing,
It just grinds everything to a total halt when It Force spawns mobs the maximium ammount that it can, near players.
If I have the limit at 2000 mobs per world and 2 players..
It spawns 1000 mobs per player.
@Fishrock123
But the NPE on 2.0.3 still exists I want to use 2.0.3 not 2.0.2
@po5
That's what i was going to suggest. Use the distance removal and set the monster maximum to like, over 9000. :p
@JoneKone
Get rid of, or change all "world"(_etc) entries in your config to the respective names of your worlds.