BattleArena (Abandoned)
If you have any questions please contact our support team https://support.curseforge.com.

Battle Arena
Minigames Framework, PvP, and Solo combat with limitless customization
NOTICE
For updated files, please use the BattleArena2 page. It has all of our updated files, and many of the issues that exist in the latest version here have been fixed through updates.
Default Competitions (all changeable)
- Arena: Fight with what is given to you in the config. You can't bring items in or out
- Skirmish: Bring in what you want to fight with, you take out whatever you pick up
- Battlegrounds: Winner is the highest kills after 1 minute. 4 teams may compete
- Colosseum: 4 teams against each other, last man standing wins
- FFA: last player/team left standing wins
- deathmatch: 2 minute event where if you die you respawn. Highest kills wins
Tournaments
- tourney: Pick a match type and do a single elimination tournament of that type.
Features (some of them)
- Give players "classes"
- Give or Take away Items and effects
- Duel other players in any of the match types
- Custom prizes for victors, losers, etc
- Store/restore items/experience/gamemode, or not (if you want them to bring their own gear)
- Teleport players to arenas and back
- Let players respawn after death or not
- Wool Heads for teams
- Multiple language support
Advanced Setup Links
- Config Setup
- Adding Signs : support for joining/leaving and status
- Tourneys
- WorldGuard Regions
- Dueling
- Classes Tutorial : Ideas for classes
- Spawn chests/items/mobs/blocks
Youtube Tutorials
Extensions
Different games made for BattleArena
Beta Games
Games that are fully functional but could still use feedback to make them great Arena One in the Chamber
Games made by other developers
- SurvivalArena : A Survival Games based plugin
- ArenaFootbal : Play soccer with other players
- ArenaRailgun : Allows item customization with properties
- BowSpleef : Bows and Spleef are a perfect marriage!
Tracking Wins/Losses and Rating
If you want to have wins/losses/streaks/rating/ kd-ratio and leaderboards that is done through my other plugin BattleTracker which handles all stats.
- BattleTracker, complete pvp stat tracking system
API Developing
- BattleArena is a fully fledged API. Create your own custom events
- API Example | BattleArena Source
Most Recent Update
Information Collection
To see what statistics this plugin may collect and send out from your server. See Information Collection. This can be disabled in BattlePluginsAPI/config.yml
Updating
This plugin checks for new bukkit release versions which can be disabled in the BattleArena/config.yml
Help
You can ask me questions in real time on irc when I'm on. You can usually find me in the room #battleplugins or #battledev in irc.esper.net. IRC through a browser.











-
View User Profile
-
Send Message
Posted Feb 22, 2014@saxons12
Hey Saxon, I just released yet another update.. I'll get it to you.
@GamerGuppy
I thought I gave it to you already? I'll send it again.
@hobojoe2002
I'll pm you.
-
View User Profile
-
Send Message
Posted Feb 22, 20143.9.6.2 Bugs:
http://pastebin.com/spLZf28y
http://pastebin.com/CPZykSu4
http://pastebin.com/SDJDe8fc
Always happens after sk accept.
-
View User Profile
-
Send Message
Posted Feb 22, 2014@alkarinv
Hey alkarinv,
I was hoping I could still get a pm for the oitc extension since my players are going crazy once I told them you had fixed it!
Keep up the great work!
-
View User Profile
-
Send Message
Posted Feb 21, 2014I'm having issues with setting region properties. According to the wiki, using wgNoEnter, NoExit, ResetRegion will prevent people from entering or leaving or reset the zone after it's been damaged in battle.
I cannot get any of these commands to work, in game it tells me they do not exist. I've tried adding them manually into the config with no luck also.
-
View User Profile
-
Send Message
Posted Feb 20, 2014@alkarinv
Heya Alkarinv !!
Thanks for all the hard work. You rock bud !! :D Loving the arenaparkour btw :P Also, i admit that being able to create custom arenas is amazing. The use of WorldEdit to save on schematics is brilliant. It's such a great series. :D
Just wondering if a fix is coming up for perms on arena signs ? :)
Note : permission set by arena type also using the custom types would be awesome.
-
View User Profile
-
Send Message
Posted Feb 20, 2014UPDATE
The setting options problem is now fixed, so if anyone wants the version before bukkit approves then you can pm me, or you can visit the "ci" page found in our irc room title (link above)
-
View User Profile
-
Send Message
Posted Feb 20, 2014@Antibes
Hey Antibes, I created some new messages. On most servers it should auto update to the new ones, but sometimes I guess that isn't happening. You can either update the BattleArena/messages.yml yourself, or easier just delete it and it will re auto create correctly.
@merlingly
I know!! love it too!
@baemboo
Indeed I have a dev version with fixes. I can't link here, but you can go to my ci page which can be found in the title of our irc room.
-
View User Profile
-
Send Message
Posted Feb 20, 2014any dev version?
-
View User Profile
-
Send Message
Posted Feb 20, 2014Loving the resettable chests and blocks!! Awesome feature! Keep up the good work!
-
View User Profile
-
Send Message
Posted Feb 20, 2014Hi, Any idea what is causing this:
[09:32:45] [Server thread/WARN]: java.lang.NullPointerException
[09:32:45] [Server thread/WARN]: at mc.alk.arena.controllers.messaging.MatchMessageImpl.sendOnIntervalMsg(MatchMessageImpl.java:154)
[09:32:45] [Server thread/WARN]: at mc.alk.arena.controllers.messaging.MatchMessager.sendOnIntervalMsg(MatchMessager.java:63)
[09:32:45] [Server thread/WARN]: at mc.alk.arena.competition.match.Match.intervalTick(Match.java:1476)
[09:32:45] [Server thread/WARN]: at mc.alk.arena.objects.victoryconditions.TimeLimit.intervalTick(TimeLimit.java:56)
[09:32:45] [Server thread/WARN]: at mc.alk.arena.util.Countdown.run(Countdown.java:49)
[09:32:45] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:53)
[09:32:45] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
[09:32:45] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:587)
[09:32:45] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250)
[09:32:45] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545)
[09:32:45] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457)
[09:32:45] [Server thread/WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617)
-
View User Profile
-
Send Message
Posted Feb 19, 2014UPDATE
There is a confirmed bug that changing game/arena options are not showing up until a restart. This doesn't affect old users but is very frustrating for new users setting up their arenas. The problem is being fixed now (thank you MetalGriefer for helping me find and test), I'll be uploading a new Jar soon.
-
View User Profile
-
Send Message
Posted Feb 19, 2014@Deathbyrussian
I saw that, thank you. I think I've fixed in the version I uploaded recently.
-
View User Profile
-
Send Message
Posted Feb 19, 2014@alkarinv
I sent you a PM with the DeathMatch config.
-
View User Profile
-
Send Message
Posted Feb 19, 2014@alkarinv
Ty alkarin now working all perfect :D
-
View User Profile
-
Send Message
Posted Feb 18, 2014UPDATE
In 3.9.6.2 I introduced a small bug for games with infinite teams of infinite size (aka nTeams: 2+ teamSize: 1+). For these games people were joining the same team by default. I've already fixed this in a version I just uploaded but it's also very fixable by just setting teamSize to something more fixed.
-
View User Profile
-
Send Message
Posted Feb 18, 2014@russb87
I'll have to think on this one a bit. The simple answer is yes, I changed how teams were handled to be simpler and more robust in the future(barring some initial bugs). It will also allow me to keep track of which team a player is on the from the moment they join (which I couldn't do before as they were just in a queue).
When are you calling those getTeams?
Also, I'm going to be gone for a couple of hours, but why don't you hop onto irc later and we can talk things through to make sure things are working as intended.
-
View User Profile
-
Send Message
Posted Feb 18, 2014@alkarinv
Hey, so i grabbed your latest update and some odd tings are happening. This is the code I have in my class that extends
BattleArena.getBAExecutor().join(player, mp, new String[1]);
ArenaTeam t3 = player.getTeam();
List<ArenaTeam> teams2 = arena.getMatch().getTeams();
ArenaTeam t2 = teamc.getTeam(player);
List<ArenaTeam> teams = getTeams();
ArenaTeam t = getTeam(player);
So the problem is that all of the "teams" variables that I have are null after calling join (well, the ones that return lists are simply empty). This seems odd to me because when I step through the code for join a team is created and the player is added. I realize some of the lines above do the same thing, I was just doing testing to see if for some reason one would return me something different.
Get or Make a team for the Player
ArenaTeam t = teamc.getSelfFormedTeam(player);
if (t == null) {
t = TeamController.createTeam(mp, player);}
t starts out as null but the if statement corrects it and now we have a team.
I need the team to track some things in game and with v3.9.5.8.5 this was working. Did you change how to access the players teams?
I have also tried having a second player join to see if I could see the first player's team from the getTeams() call but there are still no teams.
Also, while in game I can clearly see that the players are assigned to teams (they have colors and show up on the scoreboard).
All I really need to know is how do I get the team a player was just assigned to with the new code you release?
I am attaching the debugger to the running server and actually stepping through the code in Eclipse as it's running to view the variables so I know there are no printing issues here or anything.
-
View User Profile
-
Send Message
Posted Feb 17, 2014@russb87
Thanks Russ, I had forgotten about that, I'll get back on a fix for the always open games.
@Deathbyrussian
Wow, that is really ugly. I think I know what it is and I'll try and get a fix, but it would help if I could see your deathmatchConfig.yml so I can be certain.. if you could send me that here or in private that would be nice!
-
View User Profile
-
Send Message
Posted Feb 17, 2014Hello there. I just set up a DeathMatch arena. I'm sure I just messed with something in the config incorrectly, but I'm not quite sure what. Whenever people type /dm join, this error happens:
17.02 23:21:37 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 17.02 23:21:37 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 17.02 23:21:37 [Server] WARN at mc.alk.arena.executors.BAExecutor.join(BAExecutor.java:178) 17.02 23:21:37 [Server] WARN at mc.alk.arena.executors.BAExecutor.join(BAExecutor.java:284) 17.02 23:21:37 [Server] WARN at mc.alk.arena.controllers.BattleArenaController.wantsToJoin(BattleArenaController.java:430) 17.02 23:21:37 [Server] WARN at mc.alk.arena.controllers.containers.AreaContainer.teamJoining(AreaContainer.java:46) 17.02 23:21:37 [Server] WARN at mc.alk.arena.controllers.containers.AreaContainer.playerJoining(AreaContainer.java:51) 17.02 23:21:37 [Server] WARN at mc.alk.arena.controllers.containers.AbstractAreaContainer.doTransition(AbstractAreaContainer.java:177) 17.02 23:21:37 [Server] WARN at mc.alk.arena.competition.match.PerformTransition.transition(PerformTransition.java:99) 17.02 23:21:37 [Server] WARN at mc.alk.arena.competition.match.PerformTransition.transition(PerformTransition.java:108) 17.02 23:21:37 [Server] WARN java.lang.NullPointerException 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:446) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:540) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:678) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:147) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:65) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:817) 17.02 23:21:37 [Server] WARN at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:962) 17.02 23:21:37 [Server] WARN at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:548) 17.02 23:21:37 [Server] WARN at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:199) 17.02 23:21:37 [Server] WARN at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) 17.02 23:21:37 [Server] WARN at mc.alk.arena.executors.BaseExecutor.onCommand(BaseExecutor.java:256) 17.02 23:21:37 [Server] WARN at java.lang.reflect.Method.invoke(Unknown Source) 17.02 23:21:37 [Server] WARN at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 17.02 23:21:37 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 17.02 23:21:37 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 17.02 23:21:37 [Server] WARN at mc.alk.arena.executors.BAExecutor.join(BAExecutor.java:178) 17.02 23:21:37 [Server] WARN at mc.alk.arena.executors.BAExecutor.join(BAExecutor.java:284) 17.02 23:21:37 [Server] WARN at mc.alk.arena.controllers.BattleArenaController.wantsToJoin(BattleArenaController.java:430) 17.02 23:21:37 [Server] WARN at mc.alk.arena.controllers.containers.AreaContainer.teamJoining(AreaContainer.java:46) 17.02 23:21:37 [Server] WARN at mc.alk.arena.controllers.containers.AreaContainer.playerJoining(AreaContainer.java:51) 17.02 23:21:37 [Server] WARN at mc.alk.arena.controllers.containers.AbstractAreaContainer.doTransition(AbstractAreaContainer.java:177) 17.02 23:21:37 [Server] WARN at mc.alk.arena.competition.match.PerformTransition.transition(PerformTransition.java:99) 17.02 23:21:37 [Server] WARN at mc.alk.arena.competition.match.PerformTransition.transition(PerformTransition.java:108) 17.02 23:21:37 [Server] WARN java.lang.NullPointerException 17.02 23:21:37 [Server] WARN Cause=java.lang.NullPointerException 17.02 23:21:37 [Server] WARN object=[Ljava.lang.String;@7139f9ea 17.02 23:21:37 [Server] INFO ,vc=HIGHESTKILLS 17.02 23:21:37 [Server] INFO winners
[MatchOptions=health:true, hunger:true, experience:true, money:true, enchants:true] 17.02 23:21:37 [Server] INFO onDeath[MatchOptions=clearInventory, respawn] 17.02 23:21:37 [Server] INFO items - IRON_SWORD 1 BOW 1 TNT 3 ARROW 32 LEATHER_HELMET color="160,101,64"1 LEATHER_CHESTPLATE color="160,101,64"1 LEATHER_LEGGINGS color="160,101,64"1 LEATHER_BOOTS color="160,101,64"1 BREAD 5 17.02 23:21:37 [Server] INFO onSpawn[MatchOptions=giveItems:true, health:true, hunger:true, enchants:true] 17.02 23:21:37 [Server] INFO onCancel[MatchOptions=teleportOut, clearInventory] 17.02 23:21:37 [Server] INFO onComplete[MatchOptions=teleportOut, clearInventory] 17.02 23:21:37 [Server] INFO onStart[MatchOptions=pvpOn] 17.02 23:21:37 [Server] INFO onOpen[MatchOptions=pvpOff] 17.02 23:21:37 [Server] INFO onJoin[MatchOptions=teleportIn, alwaysJoin] 17.02 23:21:37 [Server] INFO preReqs[MatchOptions=clearInventory] 17.02 23:21:37 [Server] INFO onLeave[MatchOptions=restoreExperience, restoreGamemode, restoreItems, restoreHealth, restoreHunger, restoreMagic, restoreHeroClass, clearInventory, deEnchant] 17.02 23:21:37 [Server] INFO onEnter[MatchOptions=storeExperience, storeGamemode, storeItems, storeHealth, storeHunger, storeMagic, storeHeroClass, clearInventory, clearExperience, deEnchant, gameMode:true, flightOff] 17.02 23:21:37 [Server] INFO defaults[MatchOptions=woolTeams] 17.02 23:21:37 [Server] WARN object=DeathMatch:DeathMatch:DeathMatch rating=RATED,nteams=2+,teamSize=1 options= 17.02 23:21:37 [Server] WARN object=mc.alk.arena.objects.ArenaPlayer@3 17.02 23:21:37 [Server] WARN Error] public boolean mc.alk.arena.executors.BAExecutor.join(mc.alk.arena.objects.ArenaPlayer,mc.alk.arena.objects.MatchParams,java.lang.String[]) : mc.alk.arena.executors.BAExecutor@48227b9a : mc.alk.arena.executors.BaseExecutor$Arguments@53f6d196 17.02 23:21:37 [Server] INFO tops was null am=ffaarena type=DeathMatch TeamSizes:1, nTeams:2+ #spawns:8 1stSpawn:[world:-9159:103:9647] tops=nullAny ideas?
-
View User Profile
-
Send Message
Posted Feb 17, 2014@alkarinv
I reported a bug to you on IRC (i'm RuBa on IRC) a while back about scoring issues with long running games. I know you get a lot of msgs so here is a quick refresher on what we talked about.
Basically I have an always open game where players come and go. When everyone logs off and comes back on they can't score via kills (I have CTF as another score mechanic). In short it looks like the event handlers for the player are getting unregistered. I modeled what I have off of your stuff for the kill limit and CTF games and it works fine as long as everyone stays on.
That's what we talked about a week or two ago.
Well... I did some testing and playing around trying to figure out what was going to see if i could find a hack and I noticed a couple things.
- I tried to make my own even listener class and register it myself and use that to detect player kills. That works until player log off. - To take the previous point and extend it further i tried registering the event listener again each time a player logs on but that didn't fix the issue. That's hackish anyway but I was just hoping for a solution. - I then noticed that when any individual logs off they seem to lose their event handler for killing people. - Also, it looks like it thinks that killing a person is a PvE kill for some reason. not sure why that would be but it's what i'm seeing.
If you have any tips on how i might be able to fix this on my end to just hack it together it would be greatly appreciated.
I hope this info helps you with debugging.