If you enjoy fighting monsters for glorious prizes or just the sheer thrill of battle, you and your friends can now join forces against hordes of Minecraft evils in the exciting gladiator-style survival mini-game MobArena!
Heavily inspired by Deminetix' now inactive 'Fight'-plugin, MobArena is a PvE-take on arena-gameplay, with a similar class-based system. Instead of fighting other players, you team up with them to beat oncoming waves of monsters, earning lots of rewards in the process. MobArena can be played alone, or with as many friends as you like!
- Fight oncoming waves of monsters!
- Play on your own, or team up with friends!
- Earn glorious prizes!
- Build your own arena!
- Completely customizable classes, waves and rewards!
- Easy to set up!
- Extremely easy to use!
- Very few user commands!
- Uses Vault for permissions and economies!
This plugin 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
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
MobArena will automatically check for updates for you, so you get a notification when a new version is out! It works by querying the dev.bukkit.org page for the file list, and checking if the newest file is newer than the one you're currently using. If you prefer to check for updates yourself, or if you just don't want MobArena to check for them, you can opt out by editing plugins/MobArena/config.yml and setting update-notification (under global-settings) to false.
Note: All of the information on the github Wiki will eventually be transfered to this project page.
Setting up MobArena is easy, but it is a little involved. To make your life much easier, I've set up a Wiki for MobArena. It contains a bunch of information and guides on how to set up and customize arenas, an overview of all the commands, how to set up Permissions, frequently asked questions, and more. So head on over to the Wiki, to get MobArena set up right away! :)
MobArena has its own IRC channel (#mobarena @ EsperNet). Click here for a web-based IRC client. Feel free to stop by to get help setting everything up if you really don't understand the Wiki and the instructional video, or to have a chat about MobArena (or anything else, for that matter) :)
- Bosses and waves - a collection of interesting bosses and waves!
- Arena schematics - post your arena schematics for others to use!
HOOKING INTO MOBARENA
MobArena currently has several custom events. You listen to them as you would any normal Bukkit event. For an idea of how to set it up, see these links to dasbreen's ArenaGodPlus plugin:
- MobArena "set up" which at this point is just registering the class that is the MobArena Listener
- MobArena Listener class
If you are experiencing problems with MobArena, please try to follow these simple steps before posting a ticket or asking on IRC, as it will make everything much, much easier for everyone in the troubleshooting and debugging process:
1. Check the server log
The first thing you must do is check the server log for any exceptions (don't know what an exception looks like? Click here). If the exception looks like the following, you are using tabs instead of spaces in your config-file (which is punishable by death):
[SEVERE] Could not load 'plugins\MobArena.jar' in folder 'plugins': while scanning for the next token found character '\t' that cannot start any token in "<reader>", line 15, column 1: Tank: ^
If it doesn't look like that exception, just copy it into a pastebin or a pastie, and include it in your bug report ticket. Please don't post bug reports on the forums, as they are more likely to get lost between all the other posts.
2. Try your setup on a fresh server
If at all possible, try setting up a local test server (don't know how? follow this guide), on which you install nothing but MobArena. Now copy the config-file that you're using on your live server where you experienced the problem, and see if you can reproduce it. If not, you most likely have a conflicting plugin (read the next section).
3. Find possible plugin conflicts
Try removing all other plugins from your server. Do this by stopping the server, moving all the .jar files into a different folder than the plugins-folder, and then starting up the server again. If the problem persists, it's a problem with MobArena, but if not, it's a conflicting plugin, and if so, try to add half of the plugins back at a time (binary search), and test every time you do, so you can figure out which plugin is causing the conflict.
I develop MobArena for the fun of it and the positive feedback is all it takes to make me happy, but a few people have asked for a link, so if you're one of them, here's a link: Donate - You can donate as much (or as little) as you want. Any amount is greatly appreciated! :)
Note: Works on 1.7.2 and up, including 1.8!
NOTE: YOUR PRE-0.96 ANNOUNCEMENTS-FILE WILL NOT WORK WITH THIS VERSION!
Use this tool to convert the contents of your announcements.properties into a valid announcements.yml document. If you have made no changes to announcements.properties, you can skip this step - announcements.yml will be automatically generated for you.
NOTE: THE SPAWNPOINT LABELS IN YOUR PRE-0.96 CONFIG-FILE WILL BE INCOMPATIBLE WITH SETUP MODE!
Use this tool to convert the spawnpoint- and container-labels in your config-file into valid labels that Setup Mode will recognize.
- Fixed the Spigot health issue (for real this time). As it turns out, there was a missing statement in the previous fix, and there was also another spot in which the error was thrown (hurray for double-doh, and spaghetti code (this is why MobArena needs a rewrite)). Furthermore, the safeguard has been modified to make no assumptions about the Spigot settings, and will instead just use the current max health value and print a harmless (but useful) error in the console.
- Fixed a Spigot issue with skeletons/wolves. The Spigot team is at it again, this time with a strange targetting bug. Spigot erroneously chooses the target reason CLOSEST_PLAYER when skeletons target pet wolves. This makes no sense, and only happens in Spigot. The targetting checks have been rewritten to not rely on the target reasons being correct.
- Added support for potion effects on bosses. Boss waves now support an optional 'potions'-node with a comma-separated list of potion effects that will be added to the boss when it spawns. The Wiki has been updated to reflect the new feature.
- Fixed an issue with boss waves on Spigot. For whatever reason, the Spigot team decided to add a cap on the max health of monsters (if anyone knows why, please let me know, because I seriously have no clue), such that a plugin that tries to set health higher than what is in the Spigot config-file will crash. MobArena will now reduce all health values causing the crash to 2000 and print a warning. To set your max health cap higher, open your Spigot config-file and set the value of the max-node (settings.attribute.maxHealth) to something higher than 2048, e.g. 2147483647 (the maximum value of integers in Java, which is what Craftbukkit uses).
- Added support for bosses to drop items. This feature was implemented as a way to make progressive arenas a bit simpler to implement, so that bosses can be set to drop e.g. a stone button or a lever to open an otherwise locked iron door, which leads to a different section of the arena region.
- Fixed the long-standing config-file reset bug. MobArena should no longer reset your config-file if you make a boo-boo :)
- Fixed witch potions not affecting players.
- Fixed a bug where health-altering plugins would result in MobArena throwing errors when players leave.
- Fixed an issue where spawning bosses would result in an exception regarding health ranges.
- Fixed mobs spawning with random equipment. Apparently Bukkit has gone away from spawning "bare" mobs, so MobArena would occasionally spawn a zombie in full armor, for instance. This should no longer happen.
- Fixed auto-ignite-tnt not working with the protect-flag set to false.
- Fixed a dire bug with 'use-scoreboards: false' where a NullPointerException would be thrown when a player dies.
- The arena scoreboards now show dead players with gray text. This should make it easier to tell who's still alive.
- Added the option of showing both the arena and the lobby region at the same time while in Setup Mode via `show r` or `show regions`.
- Arena players with mounts can no longer dismount.
- Fixed horse mounts spawning as non-adults. However, simply because tiny horses are hilarious, there is still a small chance to get a small horse.
- Fixed an issue where splash potions of harming and poison would hurt other players with PVP disabled.
- Fixed an issue where the auto-start-timer would not get stopped as intended when the last player left the lobby before the timer ran out (similar to the previous start-delay-timer issue). The issue was harmless due to proper resetting when a player would join the arena afterwards. Nevertheless, there should no longer be any console spamming.
- Fixed an issue with "special" helmets (e.g. wool blocks and skulls) and unbreakable armor. The helmets will no longer reset (e.g. red wool becoming white wool) when the player wearing them takes damage.
- Fixed a bug where typing MobArena commands was possible while in Setup Mode. Commands from other plugins are still available, though.
- Fixed a bug with pressure plates causing a lot of (harmless) spam in Setup Mode.
- Fixed an issue with arena containers not restoring properly when items are removed with Shift-clicking. The current solution is a workaround to what appears to be a bug in Bukkit or Minecraft. Replacing all arena container items is recommended to avoid "ghost" items (which will cause the bug to persist until the items are replaced).
- Fixed an issue where the start-delay-timer would not get stopped as intended when the last player left the lobby before the timer ran out. The issue was harmless due to proper resetting when a player would join the arena afterwards. Nevertheless, there should no longer be any console spamming.
- Fixed an error thrown when a player picks a non-free class but no economy plugins are found.
- Death messages are now shown only to arena players to avoid spamming uninterested parties.
- (API) Added ArenaPlayerReadyEvent. This event is called when a player readies up (including when picking a class with auto-ready set to true), but before any ready-up-logic, i.e. the player has not yet been added to the set of players who are ready (because the event is cancellable) by the time the event arrives.
- Added new per-arena setting 'start-delay-timer': This timer starts when the first player joins the lobby of an arena, and the arena will not be able to start until the timer runs out. This is useful if you want to give players a bigger time window for joining (one player can't join and rush to the iron block until other players have had a chance to join). The timer works with or without the 'auto-start-timer' - if both are used, the 'start-delay-timer' will start the 'auto-start-timer' when it runs out, so it is possible to both force start an arena and still have a large time window for joining.
- Added new per-arena setting 'show-death-messages': If false, vanilla death messages will not be displayed when players die in MobArena. Defaults to true.
- Added new per-class option 'price': Using the standard economy syntax ($<amount>), classes can now have an associated price that will be paid on arena start. Two new announcement-file entries ('lobby-class-price' and 'lobby-class-too-expensive') have been added as well.
- Added new command 'setclassprice <class> $<price>' that allows setting the price of a class from the console or in-game.
- Added new command 'pickclass <class>' (or just 'class <class>' for short) to pick a class by command while in the lobby. This could be used to allow players to select classes through e.g. command-blocks or using command-activation mechanisms from other plugins. It uses the same semantics as the class signs with the only exception that class chests are only supported if they have been linked with the 'classchest' command. A new permission node 'mobarena.use.class' has been added as well - this permission defaults to true like all the other usage permissions.
- Added missing permission node for the notready command, which should now be available to everyone by default.
- Fixed the per-arena 'protect' setting. When set to false, block events now correctly bypass MobArena's protection logic, allowing an arena to be protected solely by other means, e.g. WorldGuard.
- Fixed arena container restoration, such that they now properly restore items with lore. Arena containers now support all items supported by Bukkit (uses same approach as class chests).
- Fixed the version checker so it now correctly checks all parts of the version strings. Dev builds should no longer claim that an update is available if this is not the case.
- Fixed an issue with the checkdata command that would cause it to error out without an argument.
- Fixed an error thrown by the wave parser on waves requiring, but missing, the 'monsters' node.
- Fixed an error thrown by the wave parser on upgrade waves with an empty or missing 'upgrades' node.
- Fixed optional per-wave 'spawnpoints'-node not working correctly since the setup revamp. The value must now be a semicolon-separated list of coords that match the given spawnpoint name. The config-converter tool has also been updated (v1.1) to correctly update these nodes as well.
- Fixed a bug where bosses in recurrent boss waves would only use abilities the first time they spawned.
- Fixed an issue where decimal values were stored with system-specific formatting locale, causing some coords in the config-file to be formatted incorrectly. Bugs manifested primarily as players being teleported to wrong locations (usually at y-coordinate 5).
- Fixed an issue with boss abilities where they would affect players who had already died/left the arena. The bug was due to the targetting code not getting fired when expected. MobArena now makes sure that targets of any monster are only those in the arena.
- Fixed the block destruction issue with Obsidian Bomb. This boss ability will no longer leave holes in arenas due to half-blocks or other semi-obstructive blocks like water. MobArena will try to find a block above the current block if it is not empty, but in case there are no available air blocks within 3 blocks of the original block, the ability will fail - use this as motivation to "hide" from this ability in e.g. waterfalls.
- Arrows and other entities such as experience orbs and dropped items are now all correctly removed at arena end.
- Updated version checker to comply with the Bukkit requirements. This is a pro forma update with no functional changes.
- Fixed a (new) bug with entry-fees. MobArena no longer errors out when a monetary entry-fee is used.
- Revamped the setup process! The setup process of typing in a bunch of hard-to-remember commands has been replaced by Setup Mode, which is invoked by typing '/ma setup <arena>'. Setup Mode gives you a special set of tools that, when used, will set the regions, warps and points of the arena. The Wiki has been updated to reflect the changes.
- Revamped announcements! Announcements can now be found in the announcements.yml file, rather than announcements.properties. The switch to YAML makes it much easier to auto-generate and auto-delete missing or obsolete announcement nodes. The new announcements setup supports color codes using the &-symbol!
- Added mounts for classes! Place a haybale in the player inventory to give them a horse mount. To configure the horse variant and to add barding, use this tool to calculate the correct item stack amount.
- Added new global announcements for arena end, and when the first player joins an arena. Both announcements are optional and can be activated by setting the per-arena settings 'global-end-announce' and 'global-join-announce' to true. The announcements are customizable in the announcement.yml file using the keys arena-end-global and arena-join-global.
- Added new per-arena setting 'isolated-chat'. If true, all chat messages sent by arena players will be seen only by other arena players in the same arena. This is useful if the arena players chat a lot, and the rest of the players on the server consider it spamming. Arena players will still be able to see chat messages from other players, however.
- Added new arena warp 'exit'. The warp is optional. If the warp is set for an arena, players will be teleported to the warp when they leave the arena. This is useful for region-based join-triggering and other situations that require or benefit from a known exit location. The warp can be set using the /ma setwarp exit command, just like with the arena, lobby and spectator warps. Note that this warp does not have to be in the arena world.
- Added per-class lobby permissions. These permissions will be given to players as soon as they pick a class. This is useful if using a special kind of lobby setup where certain permissions are required to e.g. purchase customizable items. Following the exact same permissions syntax as the normal class permissions, the lobby permissions can be set using the "lobby-permissions" node.
- Added support for minor economy values in entry fees and rewards. This means it is now possible to e.g. add rewards of $0.50 or $3.14 instead of just whole numbers like $1 and $3.
- Re-added optional per-class setting 'unbreakable-weapons'. If true, any player of the given class will have any held weapon auto-repaired whenever they deal damage. Defaults to true if not present.
- Added optional per-class setting 'unbreakable-armor'. If true, any player of the given class will have their armor slot items auto-repaired whenever they are damaged. Defaults to true if not present.
- Added missing monster type: babyzombievillager/babyzombievillagers. The Wiki has been updated.
- Added new command '/ma classchest <class>'. Using this command, it is now possible to link a chest to a class directly instead of having to place the chest in a pillar under the class sign. A class can have at most one chest linked, but the chest can be located in any world. This change does not affect current class chest setups.
- Added new command '/ma showlobbyregion (<arena>)'. This command works exactly like the showregion command, but shows, as you might expect, the lobby region frame instead of the arena region frame.
- Added new command '/ma setting <arena> <setting> <value>'. This command can be used to change arena settings, instead of having to edit the config-file! Upon changing a setting, the arena will be reloaded (and force-ended).
- Added support for separate-world leaderboards. This means it is now possible to collect all leaderboards in the same world, even if arenas exist in different worlds. No additional setup is required to get this to work; simply create the leaderboards in a different world.
- Added support for odd filenames, i.e. it is now okay if you rename your MobArena.jar to something else, even though there is no justified motivation to do so. Just because you can doesn't mean you should.
- Changed the way coords are stored in the config-file from integers to floating point numbers (with two decimal places) for coordinates x,y,z. This allows for higher precision with spawnpoints and warps set after this update. Coords set after this update will also include a world-"coordinate" (this is why the linked class chests, exit warps and leaderboards can be in any world).
- (API) Exposed the Commands interface. This means it is now possible to register custom commands in MobArena, or even replace pre-existing commands with new implementations! This could be useful if you want to try to implement e.g. a queue-system or a cooldown for the join command, but also if you want to extend MobArena with new commands.
- (API) Exposed the maximum and minimum player counts for Arena objects; useful for e.g. "status signs".
- (API) Added ArenaKillEvent. This event is called whenever a player kills an entity in the arena (monsters, players, or bosses). This event could be useful for kill counters or kill reward systems.
- (API) Added ArenaCompleteEvent. This event is called when an arena ends due to players reaching and finishing the final wave of an arena. The event contains a set of survivors. This could be useful for rewards systems that want to reward finishing an arena.
- (API) Added method wasLastPlayerStanding() to ArenaPlayerDeathEvent. This method returns true, if the dying player was the last living player in the arena. This could be useful for rewards systems or "survivor" ranking systems.
- Fixed all issues in the arena setup process. This means no more incorrect "must be inside region" messages, no more missing items from classes when punching signs, and no more overwriting of config-files.
- Fixed an item exploit with the spectate command.
- Fixed all item glitching issues using inventory craft slots and holding items on the cursor. Suck it, glitchers!
- Fixed some multiworld inventory issues.
- Fixed (harmless) exceptions thrown on shutdown.
- Fixed flint and steel not working in the arena region in edit mode.
- Fixed an issue with sign interaction being cancelled in the lobby.
- Fixed a bug with the expandlobbyregion command.
- Fixed a bug where lobby players and spectators could take damage.
- Fixed a bug where fireballs and explosions would set blocks on fire.
- Removed Spout features (i.e. class selection, it was broken anyway).
Make sure to check out the FAQ site before asking questions or posting bug reports.
If you have any questions not answered in the FAQ, make sure to hop on IRC. Remember that IRC is "idle chat" (sort of like Steam chat, Skype, etc.), so be patient; we don't stalk the channel 24/7.
As always, make a backup of your world(s) and your MobArena files before installing the new version, just in case.
|File Name||Release Type||Game Version||Downloads||Date|
|MobArena v0.96.8||Beta||CB 1.7.2-R0.2||4,214||12/08/2014|
|MobArena v0.96.7||Beta||CB 1.7.9-R0.2||29,396||08/02/2014|
|MobArena v0.96.6||Beta||CB 1.7.9-R0.1||29,651||05/22/2014|
|MobArena v0.96.5||Beta||CB 1.7.2-R0.2||10,564||05/13/2014|
|MobArena v0.96.4||Beta||CB 1.7.2-R0.2||15,510||04/13/2014|
|MobArena v0.96.3||Beta||CB 1.7.2-R0.2||13,393||03/20/2014|
|MobArena v0.96.2||Beta||CB 1.7.2-R0.2||30,667||01/21/2014|
|MobArena v0.95.5||Beta||CB 1.5.2-R1.0||98,016||07/24/2013|
|MobArena v0.95.4||Beta||CB 1.5.2-R1.0||6,508||07/17/2013|
|MobArena v0.95.3||Beta||CB 1.5.2-R1.0||8,916||07/08/2013|
|MobArena v0.95.2||Beta||CB 1.5.2-R1.0||4,907||07/05/2013|
|MobArena v0.95.1||Beta||CB 1.5.2-R1.0||3,793||07/03/2013|
|MobArena v0.95||Beta||CB 1.5.2-R1.0||11,541||06/26/2013|
|MobArena v0.94.4.97||Beta||CB 1.5.1-R0.2||7,702||05/02/2013|
|MobArena v0.94.4.95||Beta||CB 1.4.7-R1.0||52,379||02/18/2013|
|MobArena v0.94.4.94||Beta||CB 1.4.6-R0.3||51,590||01/17/2013|
|MobArena v0.94.4.91||Beta||CB 1.4.6-R0.1||34,508||12/28/2012|
|MobArena v0.94.4.90||Beta||CB 1.4.5-R1.0||16,891||12/21/2012|
|MobArena v0.94.4.81||Beta||CB 1.3.1-R2.0||161,014||09/18/2012|
|MobArena v0.94.4.80||Beta||CB 1.3.1-R2.0||60,444||08/21/2012|
|MobArena v0.94.4.79||Beta||CB 1.2.5-R5.0||34,483||07/30/2012|
|MobArena v0.94.4.65||Beta||CB 1.2.5-R1.0||94,752||04/14/2012|
|MobArena v0.94.3.24||Beta||CB 1337||81,825||12/03/2011|
|MobArena v0.94.3.11||Beta||CB 1240||15,190||10/03/2011|
|MobArena v0.94.3.6||Beta||CB 1185||3,078||09/27/2011|
|MobArena v0.94.3||Beta||CB 1185||1,840||09/22/2011|
|MobArena v0.94.2||Beta||CB 1060||2,405||09/13/2011|
|MobArena v0.94.1||Beta||CB 1060||2,483||08/25/2011|
- Tinkers Construct
- Mobs, Processing, Technology, and Armor, Tools, and Weapons
- 355,185 Monthly Downloads
- CoFH Core
- Server Utility and API and Library
- 262,170 Monthly Downloads
- API and Library
- 242,581 Monthly Downloads
- Server Utility, API and Library, and Map and Information
- 236,658 Monthly Downloads
- API and Library
- 232,069 Monthly Downloads