[FUN] MobArena v0.96.8 - Become a mob-fighting gladiator! [1.7.x, 1.8.x]

Discussion in 'Archived: Plugin Releases' started by garbagemule, May 30, 2011.

  1. Offline

    garbagemule

    [​IMG]

    MobArena - Become a mob-fighting gladiator!
    [​IMG] Latest build: v0.96.7 (1.7.x)
    [​IMG] Wiki
    [​IMG] IRC Channel
    [​IMG] Source

    BukkitDev Project Page - Find MobArena on dev.bukkit.org here: LINK.

    ------------------------------

    Old description (open)
    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' 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 rewards in the process. MobArena can be played alone, or with as many friends as you like!


    Features:
    • Fight oncoming waves of monsters
    • Play alone or team up with friends
    • Earn glorious prizes
    • Customizable classes, rewards and waves
    • Easy to set up
    • Extremely easy to use
    • Very few user commands
    • Supports Permissions and all major economies
    • Supports Spout
    • Supports Heroes
    Note: When you post a bug report, please provide a stacktrace/error from the server log/console window. Post this stacktrace in either a pastebin, a pastie, or a CODE-block! The same applies for config-files, permissions-files, etc! Please don't put them directly in your posts, as they become gigantic and annoying to read. If you don't follow this guideline, I might ignore your post!


    Wiki - Instructions, commands, FAQ, etc.
    I have 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, as well as frequently asked questions.

    New: MobArena now 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) :)

    Relevant links:
    Videos:
    Getting started with MobArena, by Flamers
    Flamers made this really easy-to-follow, simple video of how to get started with MobArena. It covers installing the plugin, defining an arena region and setting up basic leaderboards, as well as a few pointers for arena design.
    Old instructional video (open)
    Instructional video for setting up MobArena:

    Note: This video was made for v0.67, but all the in-game instructions still work the same for the latest versions. The config-file has changed, so make sure to read the Wiki on how to set it up.
    More Videos (open)
    Review of MobArena by plugin reviewer jamescosten (v0.84):

    Note: My nickname "garbagemule" is pronounced "garbage mule", as in "trash donkey" ;)

    Hilarious showcase of MobArena by Daniel James and Daniel Cherry (v0.92.3):


    Delios showing off his beautiful arena setup:


    slowmonkey1227 in his interesting "island" arena: YouTube
    French video by avalondrey (v0.87.3): YouTube
    German video by blutherz and his friends (v0.91.2): YouTube



    Troubleshooting:
    To avoid wasting not only your own time, but mine as well, I expect everyone to do some extensive troubleshooting before posting bug reports. What does this mean?

    Try MobArena on a fresh server.
    MobArena works perfectly fine when I release it. Sure, there are a few bugs, but it works. If it doesn't work for you, something is most likely wrong on your end. Set up a local test-server, and verify that MobArena works before claiming that it doesn't. When you have verified that MobArena does indeed work, you can start adding other plugins and settings until something conflicts.

    Disable other plugins.
    The first thing you need to do is disable all other plugins. If you can't reproduce the bug with other plugins disabled, you know that you have a conflicting plugin. Now perform a binary search on the other plugins, or if you don't know how to do that, just add a couple of plugins back to the plugins-folder, try to reproduce the bug, and if you can't, the conflicting plugin must be in the remaining set of plugins.

    Write down reproduction steps.
    Figure out the exact steps to reproduce/trigger the bug. I need precise steps, and as much information as possible, because there are often many things that could be going on. An example of reproduction steps could be:
    1. Type /ma join
    2. Punch the Archer class sign
    3. Wait for someone else to join
    4. Punch the iron block
    5. Type /ma leave before the other player picks a class

    Check the console window/server.log
    Make sure you check the server.log file for any MobArena errors or exceptions. If you find any, copy the ENTIRE exception (including all the lines that say "at com.garbagemule.MobArena...") and paste it (with the other information) in a CODE-tag here in the thread.


    Donations:
    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 as you want, even down to a few cents! If I get enough donations, I will spend the money on an extra Minecraft account to aid me in developing/testing/debugging MobArena :)


    Changelog:

    Version 0.94.3.24
    • Updated for CB 1337.
    • The repair-delay node is now unused! The reason for this is that it is now possible (with the release of 1317) to cancel block damage in explosions, and still retain the animation and sound! This also means that arenas should be fully pistons-compatible (for arenas that don't use soft-restore or force-restore)! I'm hoping to see some screenshots and videos of shifting arenas! :)
    • You can now right-click signs in the lobby! I finally found a super easy solution to the improperly updating inventory issue with right-clicking class signs. The result is that players can now left- or right-click as they please. This should solve all issues related to players not being able to choose classes, due to spawn region and WorldGuard/Factions/whatever conflicts.
    • It is no longer possible to warp out of the lobby.
    • New per-arena setting: final-wave - Allows for setting a final wave, meaning on that wave, the arena will end, regardless of how many players are alive.
    Version 0.94.3.11 (open)

    • v0.94.3.11 - Updated Register, built against CB 1240.
    • v0.94.3.8 - Added basic leaderboards.
    • v0.94.3.6 - Fixed MagicSpells support - MobArena no longer supports MagicSpells pre-v1.1!
    • v0.94.3.5 - Fixed a bunch of bugs introduced with CB 1185, as well as a couple of minor MobArena bugs.
    • Updated for CraftBukkit #1185
    • Updated economy support (now supports iConomy 6).
    • Added the three new mob types, Enderman/Endermen, CaveSpider/CaveSpiders, Silverfish. They can be used just like the other mob types in the waves.
    • Endermen cannot pick up arena blocks (this is why).
    • Endermen cannot place blocks in arena regions.
    • The per-class permission syntax has been fixed and changed slightly. The Wiki has been updated (clicky).
    • Fixed MagicSpells issues.
    Version 0.94.2 (open)

    • Redstone circuits now work properly in arenas.
    • Lightning now properly strikes on spawnpoints on special waves.
    • Fixed an issue where players somehow warping/cheating out of the arena world get kicked from the server when discovered.
    • Added MagicSpells support. Use the magicspells.yml file to ban certain spells from the arena either for the whole session, or only during boss waves.
    • Fixed the Heroes death conflict. MobArena and Heroes should now play nice together. Further Heroes support is planned for upcoming releases.
    • [COLOR=#1000000]MobArena will no longer support the discontinued Permissions 2.x and 3.x permission systems.[/COLOR] Recommended permissions systems include PermissionsBukkit (defacto standard) or PermissionsEX.
    Version 0.94.1 (open)

    • Added two new boss abilities: 'shuffle-positions' and 'flood'. Try them out!
    • Players disconnecting/crashing during an arena session no longer get corrupted data files due to economy rewards.
    • Weapon durability is now correctly set to "unlimited".
    • Item sub-types (cocoa beans, bonemeal, colored wool, etc.) now work again.
    • Players can no longer join the arena without first picking a class.
    • MobArena now works with spawn-monsters=false again.
    Version 0.94 (open)

    • Completely revamped the waves system! Undeniably the biggest feature in MobArena since multiple arenas in v0.92, the new customizable waves are guaranteed to bring much more awesomeness to your MobArenas. The waves system brings two new wave types, swarm waves and boss waves. The latter is a very elaborate feature, and the whole waves system has been given its own page on the Wiki. Note: MobArena will ignore all old wave settings, but use sane defaults.
    • Revamped the logging system. Instead of logging: true, you can now use logging: yml/xml. The logging system will now keep track of the last session only, but also maintain a collection of 'totals' for each arena. The idea behind these easy-to-parse files is making the stats available on server web pages.
    • Added SuperPerms/PermissionsBukkit support. Note that specifying mobarena.arenas.* and mobarena.classes.* probably won't work, but these nodes are given to everyone by default.
    • Added Spout support. Currently, the only Spouty thing MobArena does is print (some) announcements as notifications/achievements. This should limit the amount of "chat spam" that MobArena produces. Other Spout-features are planned, but don't expect something crazy. Note that MobArena does NOT require Spout!
    • Monsters will no longer target pet wolves. This is a major nerf to pet classes, but they were very overpowered as it was.
    • Fixed item amounts greater than 64 sometimes bugging out. You should now be able to put arrow:1024 for your Archer classes :)
    • Fixed players losing their stored items and/or earned rewards upon disconnecting from the arena.
    • Fixed blocks not restoring when burned by fire.
    • Fixed an issue with entry fees. They should no longer cause any problems.
    • Fixed slimes. That's right! Slimes that spawn as a result of bigger slimes splitting upon death are now considered arena monsters. This also means that Slimes no longer drop slime balls; as intended.
    • Revamped the repairing algorithm. It is now MUCH more sophisticated, and is capable of repairing not only signs and containers, but also torches, doors and beds. Redstone -should- repair properly as well, but it is still slightly buggy.
    • Added support for restorable containers. Registered chests, dispensers, and furnaces will have their contents stored upon arena start, and restored at arena end. This is useful for providing the arena players with chests with e.g. upgrades or food.
    • Added new commands (for the feature above) - /ma addcontainer <name>, /ma delcontainer <name>, /ma containers. These commands work much like the the spawnpoint commands. To add a container, simply look at the container and type /ma addcontainer <name>.
    Changelog (continued)
     
    apes, chakyl, Steffion and 64 others like this.
  2. Offline

    Agnate

    @garbagemule For the item stack size > 64 case, maybe try this fix? In MAUtils.java, replace lines 194-196 with:

    Code:
    Int stackSize = 64;
    ItemStack stack;
    
    while ( amount > stackSize ) {
        stack = (parts.length == 3) ?
            makeItemStack(parts[0], stackSize, parts[1]) :
            makeItemStack(parts[0], stackSize);
    
        result.add(stack);
    
        amount -= stackSize;
    }
    
    if ( amount > 0 ) {
       stack = (parts.length == 3) ?
            makeItemStack(parts[0], amount, parts[1]) :
            makeItemStack(parts[0], amount);
    
       result.add(stack);
    }
    Syntax might not be exactly correct, as I can't remember if you can declare the variable without giving it a default/null value [mainly for declaring ItemStack stack]. I debugged the pseudocode in Flash (already had it open), so no infinite loop cases (may want to restrict the max allowed value, though). :)
     
  3. Offline

    garbagemule

    @Agnate - Thank you! This is much like the code I had initially, although I quickly gave it up when I learned that addItem (theoretically) -should- split the stacks properly regardless of amount. I'll try it out soonish :)

    Edit: How are you finding the logging?
     
  4. Offline

    Delois

    That's a perfect fix, I will install and test when i get home, thanks in advance!
     
  5. Offline

    Agnate

    @garbagemule - Yeah, I'm thinking maybe there's a bug (somehow) with addItem not always splitting the stack? I really have no idea if my snippet will actually fix the bug, but it doesn't hurt to try! ^_^

    I haven't tried the logging yet, and probably won't get a chance until tomorrow evening at the earliest. I'll let you know when I get a chance to try it out. :)

    Also, for Ratchet's issue with the Wolf-taming skill level increases, maybe see if something like this would fix it (assuming I understand his bug correctly that people who finish in the arena are gaining Wolf skills when they shouldn't be). In Arena.java (lines 509 & 516) and in MAUtils.java (lines 599), add my line just before calling your w.remove(); (you'll need to add curly-bracket for the IFs and FORs, of course):

    Code:
    w.setOwner(null);
    Again, I have no idea if this will fix it, but it might be enough to flag mcMMO to ignore the wolves, as it always seems to check the owner of the wolf first. Also, looking through some of the mcMMO code, it looks like they implemented a temporary fix because wolves aren't throwing Damage events?

    Here's the lines from mcMMO (cut out from a function utilizing a EntityDamageEvent event):

    Code:
    /*
     * DEFENSIVE CHECKS FOR WOLVES
     */
    
    if(event.getEntity() instanceof Wolf)
    {
        Wolf theWolf = (Wolf) event.getEntity();
    
        if(Taming.ownerOnline(theWolf, pluginx))
        {
            if(Taming.getOwner(theWolf, pluginx) == null)
                return;
    
            Player master = Taming.getOwner(theWolf, pluginx);
            PlayerProfile PPo = Users.getProfile(master);
            if(mcPermissions.getInstance().taming(master))
            {
                /*
                 * TEMPORARY FIX AS WOLVES AREN'T TRIGGERING DAMAGE EVENTS WHEN ATTACKING NON PLAYERS AT THE TIME OF WRITING
                 */
                if(!event.isCancelled() && event.getCause() != DamageCause.LIGHTNING)
                {
                    PPo.addTamingXP(event.getDamage() * 3);
                    Skills.XpCheck(master);
                }
            }
        }
    }
    Looks like it checks to see if the Entity being damaged is a Wolf, then grabs the Owner of that wolf, and finally assigns the experience if the event isn't cancelled. Hopefully my solution of stripping the owner on removal will work. :)

    In case you're cancelling the damage events to wolves (I didn't look all that closely), mcMMO is registering the damage-hack as Priority.Highest, I believe. The Spawn and Death listeners are Priority.Normal.
     
  6. Offline

    garbagemule

    @Agnate - Thank you so much for helping out with the bug hunt! I'll see if I can't get some mcMMO user to help me test some of these things :) I'll try setting my damage listener to High instead of Highest, and the owner hack (so long, non-bracketed for and if :(), and of course let you know the results :3 Thanks again!
     
  7. Offline

    axebyte

    Join radius would be great! or even a sign click to enter the ready room (not sure if you want to go the sign route though)
    Other then that its been running great on our server.
    Is there a way to enable/disable only certain Arenas at a time. for example:
    If there is 3 arenas in different towns and you only want to turn one on for a special event while the others are unusable. I know i can turn them all on/off .
     
  8. Offline

    garbagemule

    @axebyte - Read the Commands-page on the Wiki :) For signs that issue commands, check out CommandSigns. And the whole join distance thing; implemented in v0.92.4. Read the changelog :)
     
  9. Offline

    axebyte

    Oh nice nice. :D i sometimes forgot Wiki's exist
    plugin been a big hit on my server, hope to see this continue out and become popular!
     
    garbagemule likes this.
  10. Offline

    Flamers

    Finally, Multiplay allowing full FTP access. I can now get on with more testing :p
     
  11. Offline

    godgodgodgo

    Can someone make a thread or something that people post their arena schematics to?


    PLEASE PLEASE PLEASE Post the schematics of your arenas. They look so good!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 15, 2016
    Holotropein likes this.
  12. Offline

    garbagemule

    @axebyte - Let me know how it goes! Also, post pictures of your arena if you built it yourself :)

    @Flamers - Sounds great! Looking forward to your test results! ;)

    @godgodgodgo - You should start that thread :)
     
  13. Offline

    ShadowsOfFate

    Thanks for all the help btw garbage :)
     
  14. Offline

    Flamers

    @garbagemule It's still as buggy as hell unfortunately :(

    However this is the new arena I'm building:

    [​IMG]
     
  15. Offline

    godgodgodgo

    I SHALL!!! I'll do it on the bukkit forums. Care to put it in the mobarena thread somewhere?

    How do I get the little spoiler things in my posts?

    http://forums.bukkit.org/threads/mob-arena-post-your-arena-schematics.26312/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 15, 2016
  16. Offline

    zipfe

    1) Best fun plugin ever. Server loves it. Thanks a ton, garbagemole!

    2) After the update from .3 to .4, /mc spec no longer works when the game has already begun. You get the "Enjoy battle" message, but don't warp to the spec warp anymore.

    3) If a player is in a minecart or boat, and they /ma j, they don't get warped to the lobby, but are enlisted. Game waits for them to select class and click the iron block, which of course they can't.

    (CB #977)

    PS: Not using mcMMO. That plugin name pops up in every other trouble shooting thread, seems it causes a ton of problems.
     
  17. Offline

    GFlow

    Can anyone give me their wolf class setup? I just want to throw it into the config. And maybe any other cool classes that I should try out.
     
  18. Offline

    columb

    Waiting for 1.0 :3
     
  19. Offline

    garbagemule

    @godgodgodgo - Splendid! :) I'll put a link in the main post in the next bugfix release.

    @zipfe - Glad you're liking MobArena! As for your first issue with /ma spec, I can't reproduce the bug of not getting warped to the spectator area, but I can produce a bug of not being warped back to the stored location on /ma leave as a spectator. As for the minecart/boat thing, this is the first bug report of anything along those lines, congratulations! ;) I have compiled this special build for you that I would like you to test out. It fixes the boat/minecart bug (according to my quick tests), and hopefully the /ma spec bug. Let me know how it works for you. As for mcMMO - yes, it is quite a mischief maker ;)

    @columb - Sorry to keep you waiting, but it'll be quite a while still. What exactly are you waiting for? Economies or leaderboards? Something else?
     
  20. Offline

    thestriker095

    you should make it so when people manage to get out of the arena they teleport back inside!
     
  21. Offline

    strachpr01

    im not sure if this has been previously asked. i have just added Mobarena to my clanforge server and seem to be having trouble with it when i try to set the arena using /ma setregion p1 i just get a list of actions that i can do i.e /join arena but then if i do these commands i still get the same message. am i doing something wrong or am i just being a noob
     
  22. Offline

    garbagemule

    @thestriker095 - No, you should make it so people can't get out of the arena :) There's no reason to bloat MobArena with "compensation code". The user fix is simple; build your arena properly. The code fix is complex; I have to constantly check if players are within the arena region. Not gonna happen.

    @strachpr01 - You're most likely doing something wrong. Are you getting any errors in the server console?
     
  23. Well yeah, I have an arena that uses iConomy and MobBounty, which allows users to buy arrows and food in the arena with SignShop. That, and some classes have armor that never breaks. Okay, I can make it harder by adding more Spiders and Skeletons (thus decreasing the huge number of Zombies) but my main problem is that I can sum up the Special Waves as "ha-dee-ha-ha". I never even saw more than 3 Ghasts at a time and that was in wave 65. Yes, wave 65, you read that correct. The amount of mobs in special waves does not appear to increase very much.

    Besides, Ghasts are okay, but when one player slams back the fireballs and another shoves a sword in the hole where the fireball came from, even Ghasts are not THAT hard to kill. Our worst enemies are groups of Skeletons ))later than 3 Skeletons at a time; whether Monster Infight is true or false does not really matter). In special waves, the Zombie Pigmen are worst because of their speed, that's all. Btw, we don't use Creepers because they could mess up our shop signs.

    Now I can get my hands on a plugin that makes Creepers hit entities only (so the signs will stay intact) but I still think that THAT won't be a real increasement on the difficulty either. Okay, wave 92 was with non-nerfed easy settings, but with the harder settings, wave 60 or 70 shouldn't be a problem...
     
  24. Offline

    zipfe

    Wow, thanks for the quick reply and the custom build!

    Your favor shall be returned. We immediately tested the special build you provided, 17 players on a server that will have its one year anniversary in a few weeks.

    1) /ma spec now works when the game is in progress. Only once a player spawned a block (or 2?) too low after the warp to the spec warp, and suffocated. I guess a simple Y + 1 or 2 may fix that, but you certainly know better.

    2) You also fixed the boat and minecart issue! /ma j worked just fine, even with players in a boat or a minecart now.

    3) You are awesome.

    4) Several peeps on the server want children with you.
     
  25. Offline

    ACStache

    I doubt it's just peeps on your server to be honest :D lol
     
  26. Offline

    strachpr01

    nope nothing coming out as an error just when i type /ma setregion p1 i recieve /ma join, /ma leave, /ma notready, ect so i havent a clue whats going on really i have nspleef could that be interfiering with it?
     
  27. Offline

    Delois

    That custom build you made for me works great! I did not see any errors, but we only have one arena and I cant help you by testing multiple arenas.
     
  28. Offline

    garbagemule

    @Metonymia - 3 Ghasts in wave 65 isn't surprising at all :) The special waves don't change at all because, well, they're special. What's surprising to me is how overpowered you've made yourselves - where's the fun in that? In a normal arena setup (no obstacles, 1-10 players, clear-wave-before-next: false), reaching wave 50 would be considered extremely hardcore.

    You should probably attempt to balance everything out a bit more so things aren't so easy; make things more challenging by customize the classes so it's not all diamond armor and diamond swords, and lower the powers you get from other plugins.

    Creepers will not destroy your signs. Any explosion that involves signs is cancelled (not the damage done to players, though), so your signs are safe. Creepers will definitely increase the difficulty; especially Powered Creepers.

    If you can't live without easy-mode/overpowered settings from other plugins, try the following settings in your config-file. If they don't increase difficulty sufficiently for you, I guess MobArena isn't suited for your server.
    Code:
    clear-wave-before-next: false
    detonate-creepers: true
    detonate-damage: true
    monster-infight: false
    wave-interval: 8
    @zipfe - 1) You can set the spectator area a couple of blocks higher yourself if you want. Just place a block or two, jump up on them and type /ma setwarp spectator, then remove the blocks. 2) Glad it's fixed! v0.92.5 will include this fix as well :) 3-4) and @ACStache - LOL!

    @strachpr01 - I'm not sure what could be causing this issue. nspleef shouldn't interfere, unless it also uses the /ma alias. Do you have Permissions? If not, are you an op (as in, is your name in the ops.txt file)?

    @Delois - Great to hear! You can customize the announcement to reflect the change, such as "The arena has already started. You will be notified when the arena ends." :)
     
  29. Offline

    Flamers

    Check your an OP/have the permissions

    @thestriker095 build an arena you cant escape from?
     
  30. Offline

    thestriker095

    yea i understand that but i wanted to create a arena that people could walk in and out of but the mob arena players cant exit without doing the /ma leave command.... but i guess that is what /ma spec is for!

    IDEA!!

    make an option to disable PvP in the lobby!

    THANKS!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 15, 2016
  31. I know Creepers don't destroy my signs, but I have some nasty experience with signs getting destroyed and then empty signs returning... Anyhow, my classes aren't that overpowered, I think I should at first increase the price of food.
    Besides that, my cousin has made a plugin which allows Spider Jockeys to spawn at a user-defined rate. He even added options for Zombies and Humans as jockeys, respectively.

    Furthermore, I noticed that enemies now only spawn at spawnpoints in your viscinity. Perhaps I should indeed set clear-wave to false again...

    Thanks for your help!
     

Share This Page