MobManager

Description:
- MobManager's limiter aims to limit the number of mobs that can spawn at one time while still providing the appearance of having lots of mobs (Or less if you really want)
- MobManager's Abilities allow you to fully customize the difficulty of each mob, per world!
- MobManager's Bounty component gives you a flexible way to give players rewards when killing mobs
- MobManager's Spawner gives you total control over where different mobs spawn. Perfect to complete a rpg experience or just add a difficulty to your survival server.
Component Features:
Limiter
- Stop mobs from spawning when no players are nearby
- Stop mobs from spawning when no players are on or near the same height
- Limit the number of mobs allowed to spawn per world
- Limit the number of mobs allowed to spawn dynamically depending on the number of loaded chunks in a world
- Limit the number of mobs allowed to spawn by type (Monsters/Animals/Water Animals/Ambient/Villagers)
- Automagically despawns mobs which move out of range of players
- Does not despawn animals which are in farms Read more
- Does not despawn mobs which have picked up players armor or weapons
- Has the option to stop mobs from spawning near players in creative mode
- Can prevent mobs from spawning which you don't want
- Can allow mobs to spawn without counting towards the mob limits
- Super efficient!
- Optional Multi-Threaded despawner
Abilities
- Customisable Mob Abilities!!
- Customisable Mob SpawnRates
- Have mobs spawn as babies, Creepers spawn Charged and Wolves spawn Angry!
- Customisable Mob Bonus Health
- Customisable Mob Damage Multipliers
- Customisable Mob Potion effects (Last for the life of the mob)
- Customisable Mob Bonus Spawns (Spawn mobs on certain mob when it spawns/dies)
- Customisable Mob Armour sets (Per position, with enchantments)
- Customisable Mob Starting Items/Weapons
- Customisable Mob Drops (Count Range per item, set data, durability and enchantments!)
- Customisable Mob Ability Sets (Combine the above abilities together to create rare super mobs! (Or common :P))
- Show Mob Ability Set names above their heads!! (Mincraft 1.5+ only)
- Highly configurable!
Bounty
- Give players rewards for killing mobs
- Supports fines (Loss of money or experience)
- Customizable message upon receiving a reward/fine
- Rewards can be Money (Requires vault), Item drops or experience
- Set min/max reward values for each mob
- Set reward multipliers for worlds, biomes, time, permissions and even for AbilitySets (Requires Abilities component to be enabled)
- Exploit prevention techniques to prevent players from exploiting your server to earn rewards very fast
Spawner
- Spawns custom mobs around players
- Create specific regions with different sets of mobs which spawn within
- Control max/min distances for spawning in different regions
- Extensive mob limit system. Limit per player, region and specific mob type
- Default config similar to vanilla spawning (To use as a guide/template)
- Spawn requirements for every mob (Which spawn location must meet. Block Standing on, light levels, height, time, biome, world type
- Spawn actions performed upon spawns. Send messages to nearby players or run commands when your mob spawns.
What is a component?
A component is simply a part of MobManager. Every component can be enabled/disabled individually from config.ymlTo do
- Add Protection component to MobManager (Protect the world from things like explosions or Endermen picking up blocks)
Note: Ordered by importance to me (Higher == More important) (Your needs are important to me :D)
Commands:
- /mm help - Prints information about all the available commands
- /mm count - Prints mob counts and limits for each world which MobManager is active. Also prints totals for the server
- /mm count <WorldName> - Prints mob counts and limits for the specific world
- /mm butcher - Removes all mobs (Except villagers) from worlds enabled in MobManager
- /mm butcher <MobTypes> - Removes the given mob types from all worlds enabled in MobManager
- /mm spawn <MobType> <count> [world] [x] [y] [z] - Spawn a given mob at the location (Or yours)
- /mm spawnset <AbilitySetName> <count> [world] [x] [y] [z] - Spawn a given mob at the location (Or yours)
- /mm pspawn <MobType> <count> <Player> - Spawn a given mob on a player
- /mm pspawnset <AbilitySetName> <count> <Player> - Spawn a given mob on a player
- /mm abilitysets - Lists all AbilitySet names (Along with the mobtype) which can be used in /mm spawnset
- /mm mobtypes - Lists all valid EntityTypes for use in configs
- /mm reload - Reloads MobManagers configs
- /mm version - Tells you MobMangers current version + Checks my website for new versions
M = Monster, A = Animal, W = Water Animal (Squid), Am = Ambient Mob (Bats), V = Villagers
Permissions:
- mobmanager.admin - Gives permission to use all /mm commands (Default: OP)
- mobmanager.count - Gives permission to use the /mm count command
- mobmanager.butcher - Gives permission to use the /mm butcher command
- mobmanager.version - Gives permission to use the /mm version command
- mobmanager.reload - Gives permission to use the /mm reload command
- mobmanager.spawn - Gives permission to use the /mm spawn command
- mobmanager.pspawn - Gives permission to use the /mm pspawn command
- mobmanager.abilitysetlist - Gives permission to use the /mm abilitysets command
- mobmanager.mobtypes - Gives permission to use the /mm mobtypes command
Configuration:
As of v2.2 MobManagers configuration files consists of three parts- config.yml - Contains settings to enable/disable MobManager components
- Global configs - Contains global configs for each component, located in MobManager/<component>.yml
- World Configs - Contains settings for each component for each world located in MobManager/worlds/<worldname>/<component>.yml
Every config file contains a header block explaining every setting.
When you first install MobManager world and global configs are auto-magically generated. By default only MobManagers Limiter is enabled, configs for abilities are generated if the component is enabled The defaults for the limiter are pretty conservative. So you may wish to increase the limits. If you need help with the config feel free to PM me and I can make one for you :)
Auto-Update Checker
Mobmanager includes a update checker/downloader. It uses this project page to check for new approved builds. The /mm version command can be used to check if a new version is available on bukkit dev. The update checker is enabled by default and can be disabled in config.yml by setting EnableVersionCheck to false The update downloader is disabled by default can be enabled in config.yml by setting EnableAutoUpdater to trueStatistics
MobManager utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
- MobManager components enabled
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true
Public Test Server
Public test server has been shut down, will try get a new one in the futureAddress: mc.forgenz.com
Note: After joining, type /warp dev
Note: The test server only has the limiter component enabled
Developer Builds
Development builds of this project can be acquired at the provided continuous integration server.These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Dev Builds
Configuration | Statistics | Reading
-
View User Profile
-
Send Message
Posted Aug 3, 2013When I use this plugin to stop creepers and such from spawning it messes up with a plugin I have called "dropswap" which makes zombies have custom drops , if im using both plugins zombies will stop dropping what I want them to. Any idea how ot fix it
-
View User Profile
-
Send Message
Posted Aug 3, 2013For some reason when I find mobs they despawn before I can get close. It only happens when I get within a certain range and it is just me. I am opped on the server as well. If a mob is after somebody else though, it doesn't despawn. This only happens part of the time though. Any ideas what would cause this?
-
View User Profile
-
Send Message
Posted Aug 1, 2013@Jobsti2
Okay, only thing I can think of is that they changed the id for carrots? Will test it later today when I have time.
-
View User Profile
-
Send Message
Posted Aug 1, 2013I'm Shure..... I filled up our public farm with all animals, feed it and going to Creative-Gamemode.
Only the pigs are despawned, the only animal which need carrots ;)
-
View User Profile
-
Send Message
Posted Jul 31, 2013@WASasquatch
Just for everyone else. This issue turned out to be another plugin storing every mob which MM denied spawning without ever clearing the map of inactive mobs.
@Jobsti2
Are you sure? :o I haven't touched that recently, and I swear it worked before I released it.
@AgentTripleC
Adding a single chance will mean that there is a 100% chance of having armour.
-
View User Profile
-
Send Message
Posted Jul 31, 2013How do I make zombies have a 100% chance of spawning with armor?
-
View User Profile
-
Send Message
Posted Jul 30, 2013Bug:
Pigs are despawning if feeded with carrots, only the babys doesn't despawn.
With other animals no problem.
2.7a CB#2820
Request:
Possible to implement a custom worldguard flag like "block-animal-despawn"?
-
View User Profile
-
Send Message
Posted Jul 29, 2013@ShadowDog007
It would have been just Bukkit spawning mobs, without MobManager, unless Essentials/WorldGuard come info effect there.
However I have tested, and tagged mobs I hurt with "Your It 1" and "Yout it 2" with the ingame tag, and they do reappear after numerous restarts, with the same health (and in the case of the other same gold armor) so Bukkit is indeed keeping seen/interacted with mobs alive, which together with MM is having issues apparently cause as I've stated, the only difference in both servers is MM.
However, on the server without MM, I can't find either mobs I tagg, and they were in a containing cell. Only crons are the debian crons to control the sever, check it's load, and restart if necessary.
I found one of the tagged zombies on the server without MM, but he was like 3 chunks away, so bukkit is respawning and saving mobs I think, maybe to simulate roaming monsters you hurt that didn't die in the sun? I don't know. but it doesn't explain why the server is peaking memory with MM, I hate it cause I NEED MM for the effect on my server. Especially mob names. I don't know too much on how to debug java but I am willing to make a container and have you login to fiddle around for yourself?
-
View User Profile
-
Send Message
Posted Jul 29, 2013@WASasquatch
Not possible. Storing Chunk references can't keep the chunks loaded. I don't even store/import Chunk anyway.
Also, the only time I store references to entities over more than a tick is when the DespawnTask runs.
MM does not 'keep' mobs spawned. If your mobs are persistant then that is an issue with bukkit.
Same thing with spawning mobs. They are treated the same as natural mob spawns the only difference is that mobs are spawned using the Bukkit API.
The server you tested without MM. Did you have something else spawning mobs? Also, how are you spawning mobs? Command blocks or cron tasks?
-
View User Profile
-
Send Message
Posted Jul 29, 2013@ShadowDog007
The issue is not a memory like 'parse' but the fact all mobs managed by MM keep chunks loaded. With a empty server, it acts as though it's a full server with 1243 chunks loaded and changing regularly. So that is the issue, I have to treat the mob limit like player slots as they don't unload properly when players are away.
FInally tract it down. Java and everything lead to MM cause it doing all the changes while the server is technically idle with no one on.
For example, if I remove MM, the mobs it spawned will always exist and keep chunks loaded until they are killed by players or /butcher -all With MM, it will randomly despawn mobs no one has seen, but always keep the mobs peopel have either attacked, or seen, or something. I can run MM from console and it's pretty ridiculous how many mobs are loaded with a empty server... None should be loaded unless the chunk is loaded by a player. They should be either saved to disk and respawned, or butchered when a player leaves the chunks all together to have new ones spawned in the chunks active.
Top memory leak command tells you a lot, especially comparing identical servers with one plugin missing on one (MM) and the other retaining it. And that is why. MM keeps every seen entity in the game roaming even when no one is online. So essentially... this plugin is a disaster waiting to happen on hardware...
-
View User Profile
-
Send Message
Posted Jul 29, 2013@WASasquatch
You haven't given me anything to go off. I know you have used MM for quite a while. I am sure you would have noticed the problem yourself long before if it was causing you problems.
The last build of MM was almost a month ago. I don't have the resources or time to test MM like you can. The only people I know that have servers your size don't have any issues with MM at all, and I can't expect them to profile it for me.
So if you can't give me more information, there isn't a whole lot I can do right now as I am short on time.
Have you tried changing versions? There is no way you would have just noticed a problem 2 days ago from that version. I very much doubt that your problem is MM. Screenshots of top mean nothing either. All they prove is you have issues with memory.
-
View User Profile
-
Send Message
Posted Jul 29, 2013@ShadowDog007
What should I do, compile a jprofile of both with and without for you? I always use native top and jtools
-
View User Profile
-
Send Message
Posted Jul 29, 2013@WASasquatch
You still haven't given me any proper proof or helpful information.
What are you using to check MM is causing the problem (Please don't say top)
Also would be VERY helpful if you could find out what class is using most of the space so I don't have to search through 8000 lines of code myself.
-
View User Profile
-
Send Message
Posted Jul 28, 2013@ShadowDog007
I have, that's what those screenshots are. Same server (copied) one with MM, and one without. Running at same time to test it. Using top memory leak search, it brings up mobmanager.jar as the top leaking agent.
The main server with MM averages 400 users a day (50-100 at a time) are you sure you've accounted for active servers and users located all around the map for MM to handle? This is why I love MM, I can have all the custom mob mimics from games and have active server, but ever since 1.6.2 it's been nothing but a crashing server and I'm loosing profit and users.
-
View User Profile
-
Send Message
Posted Jul 28, 2013@WASasquatch
Any chance you could remove MM from that server to confirm MM is the problem or not.
-
View User Profile
-
Send Message
Posted Jul 28, 2013@WASasquatch
Well, even if MM is causing the issue (Which I don't see how, each config wouldn't use anywhere near 1KB) I can't reproduce the problem.
And I don't have time to go through the entire thing to find out what it is. Any chance you could tell me the specific class which is taking up all the memory?
What do you mean you have vanilla configs? You haven't changed the settings at all?
Do you run /reload every few minutes or something? :P
-
View User Profile
-
Send Message
Posted Jul 28, 2013@ShadowDog007
It's leaking memory, bro. Sorry. I can see the jar itself leaking memory in the java processes. It's either incompatible with on of my plugins which is breaking it, or it's flawed. I'm sorry to say. I've vanilla configs, and on Oracle 7 64bit on Debian, it leaks memory. It'll always lock up within just a hour and ruin everyones play time.
Remember, I use it to only spawn Zombies, and Animals, your plugins has thousands of configurations, any of which can cause a memory leak you are unaware of.
I can allocate all 30gb ram, leaving 2gb for Debian, and it'll still MobManager.jar consuming 81% of all allocated memory. Not to mention without MobManager it's been running nonstop for a whole 24/hr now with the server not feeling it needs to restart it.
-
View User Profile
-
Send Message
Posted Jul 28, 2013@monstercat101
It should already do this. Double check with crazy multipliers? i.e. 100 :P on a skeleton. You should get one hit.
@Pepe578
Yes? Unless they are already spawned for some reason.
-
View User Profile
-
Send Message
Posted Jul 27, 2013If I change the stats of ZOMBIE on MobAbilities. Will it change the stats of every zombie in the world?
-
View User Profile
-
Send Message
Posted Jul 27, 2013@ShadowDog007
ShadowDog, I noticed projectiles don't seem to be affected by 'DamageMulti,' is there anyway to make projectiles for mobs like blazes work with a higher damage? Would it be possible to also make snow golems damage with their snowballs?