BattleArena
NOTE: This project has moved to Modrinth. All future updates will be posted there and this page will no longer receive updates.

A complete match and event framework for creating arenas and minigames in Minecraft. Supports creating modes through config files, or fully custom modes through plugins.
BattleArena allows you to create your own competitions on a Minecraft server through config files. Nearly all aspects of game logic are configurable, ranging from team sizes, spawn points, maps, game mechanics and many other features.
Features
- Arena isolation - Store/restore player items when joining or leaving competitions
- Classes - Create custom kits or classes
- Dueling - Configure dueling options for your competitions
- Dynamic arenas - Scale up competitions in worlds on-demand
- Scoreboards - Configure scoreboards for competitions
- Statistic Tracking (with BattleTracker) - Store competition statistics and include leaderboards
- Team configuration - Create solo or team-based competitions
- Tournaments - Run bracket tournaments for any match type
- World restoration - Restore maps once a competition ends
Default Modes
Active games in BattleArena are referred to as Competitions. BattleArena natively supports two competition types:
Matches
A game that is started when a certain condition is met (i.e. number of players), or is always active. These games can be joined at any time, as long as there are available maps. Common examples may include Spleef, SkyWars, Survival Games, or Capture the Flag.
A list of additional gamemodes can be found here.
Events
A game that is started based on a certain interval, or when triggered by a server administrator. These games cannot be joined normally unless the event is active. Common examples may include a bracket tournament, deathmatch, or a free for all.
Builtin Match Types
- Arena: Simple duels mode that you fight with what is given to you in the config.
- Skirmish: You bring in items you want to fight with. The game is always running, and you can join and leave at any time.
- Colosseum: 4v4 team deathmatch. Last team standing wins.
- Battlegrounds: 1 minute match in which the winner is the player with the most kills.
Builtin Event Types
- Free for All: A free for all deathmatch that starts every 30 minutes. Last player alive wins.
- Deathmatch: A 2-minute event where if you die you respawn. The player with the highest number of kills wins.
- Tournament: Bracket tournament for any number of teams.
User Guide
Most all of the configurable features in BattleArena will lie in the respective <arena>.yml files located in plugins/BattleArena/arenas. These can be modified, removed, and new ones can be added.
The full user guide for BattleArena can be found at the User Guide on the BattleDocs.
For Developers
BattleArena is highly extendable and has wide support for creating your own matches, events, and even competition types. It is an event driven framework, meaning external plugins can easily add or modify behavior in numerous ways.
Full documentation for the BattleArena API can be found on the Developer Guide on the BattleDocs.
Additional Extensions and Modules
BattleArena is a framework at heart, meaning that the base plugin comes with a very standard feature set, with the bulk of additional content coming from modules and extensions. The following extensions and modules build on top of BattleArena, and allow you to further extend BattleArena's capability.
Extensions
These are plugins which add new modes to BattleArena.
- ArenaSpleef - Adds Spleef to BattleArena
- ArenaCTF - Adds Capture the Flag to BattleArena
- ArenaPaintball - Adds a Paintball mode to BattleArena
- ArenaParkour (coming soon) - Adds Parkour to BattleArena
Statistic Tracking
Statistics are tracked by our sister plugin BattleTracker. This adds functionality such as leaderboards and ranking to BattleArena. See the BattleTracker page for more information.
Modules
These extend on existing BattleArena functionality and can (often) be used in any mode, even custom ones.
Bundled: These modules come pre-installed with BattleArena.
- Arena Resoration - Allows you to restore maps at the end of a competition from a WorldEdit schematic
- Boundary Enforcer - Ensures that players do not leave the arena bounds while in a competition.
- Classes - Adds custom classes (or kits) to BattleArena.
- Duels - Allows you to duel other players in configured arenas.
- One in the Chamber - Adds One in the Chamber support to BattleArena.
- Scoreboards - Adds scoreboard support to BattleArena.
- Team Colors - Changes the color of a player's name in arenas this module is enabled in.
- Team Heads - Sets each player's head item to a wool item of their team color.
- Tournaments - Adds bracket tournament support to BattleArena.
- Vault Integration - Support for functionality with Vault, such as adding/removing currency or giving/removing permissions in arenas
Third Party:
- PhatLoots - Support for configuring and resetting loot tables inside competitions.
A full list of party modules and plugins that utilize BattleArenacan be found on the Modules and Other Tools page on the BattleDocs.
Links
- Website: https://www.battleplugins.org
- Discord: BattlePlugins Discord
- Donate: BattlePlugins Patreon
Important Mentions
Special thanks to alkarin_v for writing the original BattleArena plugin back in 2011. While very little of the original code survives today, this laid the foundation of what would eventually become the BattlePlugins suite and the innovations that followed.
-
View User Profile
-
Send Message
Posted Aug 23, 2015@Zach443
I am using the arena for 1v1 duels so if a player with lets say 10xp levels joins the arena and then leaves it gives them xp and they can just keep doing it and spam it. Also after the 1v1 duel the winner/loser will also receive xp levels once they are teleported out. It's pretty random because sometimes they lose a little xp and sometimes they gain more than other times. I noticed that if they have 0 or even like 1 xp level it doesn't work though.
-
View User Profile
-
Send Message
Posted Aug 23, 2015@Zach443
Regardless of the bug in Bukkit... BattleArena's default behavior should be to go thru the Bukkit API... with other possible behaviors as configuration settings... So that we can avoid the situation we're in right now, where we have to build a new version of BattleArena just because the implementation details of Minecraft experience-system have changed.
Kinda similar to the Minecraft invis bug... BattleArena includes a fix and also a configuration option to toggle the invis fix on & off.
-
View User Profile
-
Send Message
Posted Aug 23, 2015@CasualtiesNullNull
Holy shit, i'm glad you noticed that. I almost deleted the 2.0 code. I did that before we had the BattlePlugins github organization. I just pushed the code.
Also, BattleArena doesn't directly use MCApi... Only the test packages use it.
Originally, when Alkarin left due to school, I had to do the same thing as you: Build BattleArena (and all its dependencies). MCApi v2.0 is the result trying to build v1.2.3 with BattleArena and fixes the compilation errors. Originally, the errors were due to v1.2.3 missing some packages & classes. v2.0 includes them (extra test classes used by BattleArena).
-
View User Profile
-
Send Message
Posted Aug 22, 2015@TehRenderr
alkarin made a custom formula for experience a while back to combat a bug in Bukkit.. Maybe things have changed again and his method is no longer valid. I will do some testing and see if I can find the problem. If you have any more specific examples that would be great as well.
-
View User Profile
-
Send Message
Posted Aug 22, 2015Any reason why when players leave the queue or when the match ends they get massive amounts of xp even though I have no rewards set? I believe this is a glitch where the restoreExperience option isn't working properly.
-
View User Profile
-
Send Message
Posted Aug 22, 2015@CasualtiesNullNull
I am not totally sure what to tell you about MCApi, but for BattlePluginsAPI I pushed v1.0.8 3 weeks ago. For the Bukkit/Spigot jars SNAPSHOT builds don't really matter, BatleArena should compile as long as you have the correct version number (i.e. 1.7.2-SNAPSHOT and 1.7.2 should both work). All the other jars can be found on Bukkit to put into your local maven repository. Sorry this is such a mess... I am trying to work out a solution for us to have a public maven repository so that this process will be much easier.
-
View User Profile
-
Send Message
Posted Aug 22, 2015@Europia79
@Europia79,
thanks for answering, but still no luck. I had found github.com/BattlePlugins before, but not all dependencies can be found there, and those that are there, MCAPI , for instance, are of the wrong version. MCAPI on github.com/BattlePlugins is v1.2.3, while BattleArena requires MCAPI 2.0. Same goes for other plugins, e.g. for BattlePluginApi, v1.0.8 is required, but the source on github in Zach443 and also in your directory is v1.0.6. mvn will complain, and I'm not sure if changing the required version in pom.xml will result in a working jar-file. If you want, I can provide a detailed report about version mismatch, wrong pathnames (bukkit for instance doesn't have the "-SNAPSHOT" suffix anymore) or files that I cannot find at all.
-
View User Profile
-
Send Message
Posted Aug 21, 2015@CasualtiesNullNull
You have to open up the pom.xml for BattleArena. Then goto the dependencies section: Make sure that you've downloaded all the dependencies: Then do
Also, some of the dependencies do not have downloads, so you'll have to just build those.
Most of those should be here: https://github.com/BattlePlugins
or here: https://github.com/Europia79?tab=repositories
Lemme know if you need any more help with building it.
-
View User Profile
-
Send Message
Posted Aug 21, 2015$ mvn compile
[INFO] Scanning for projects...
...
[WARNING] The POM for mc.battleplugins:BattlePluginsAPI:jar:1.0.8 is missing, no dependency information available
eventually resulting in an ERROR. mvn ... -U didn't work either. Complete log can be found here: pastebin.com/kp00t40D
Any advice?
-
View User Profile
-
Send Message
Posted Aug 9, 2015Can you have multiple game type (ffa, deathmatch...) happening simultaneously on a single map or do you have to make a new world for each the the game type
-
View User Profile
-
Send Message
Posted Aug 8, 2015@Dantinoz
For config.yml, set useColoredNames: to false.
Lemme know if that fixes the issue.
-
View User Profile
-
Send Message
Posted Aug 8, 2015@TehRenderr
Spectating (watching) an arena currently doesn't work. I know about the problem, and will be working to solve it in the next big update.
@Dantinoz
What do you mean by isn't compatible? What stops working/works unexpectedly? Also, if you are running 1.8, which I assume you are, then that plugin appears to not work anyway. The very first thing on the Bukkit link you posted states that the plugin does not work on 1.8+.
-
View User Profile
-
Send Message
Posted Aug 8, 2015Seems like this plugin isn't compatible with the HealthBar plugin, which is a big hinderance for my server, as the health not being shown stops some tactics completely... Could you implement your own healthbar in this plugin, or fix this to work inside arenas, would be eternally grateful! :)
HealthBar plugin I'm using: http://dev.bukkit.org/bukkit-plugins/health-bar/
-
View User Profile
-
Send Message
Posted Aug 2, 2015This plugin is awesome!!
-
View User Profile
-
Send Message
Posted Aug 1, 2015Congratulations to 10 000 downloads :-) good job :-)
-
View User Profile
-
Send Message
Posted Jul 31, 2015@iPepsi99
I think you simply have the match start as it normally would... The only difference for your situation would be changing the match pre-start time. Which is done via config.yml: There's a section called secondsTillMatch:
-
View User Profile
-
Send Message
Posted Jul 31, 2015@WinFamSurv
@HSIkMy
http://wiki.battleplugins.org/BattleArena/Stage_Options#onKill
https://github.com/BattlePlugins/BattleArena/issues/24
-
View User Profile
-
Send Message
Posted Jul 30, 2015How to set zombie infected?
-
View User Profile
-
Send Message
Posted Jul 30, 2015saw this a bit here and there.
http://pastie.org/10320712
-
View User Profile
-
Send Message
Posted Jul 28, 2015In 3.8.8 update log it says you can set ForceStartTime to start from when 1st player joins or the needed players and I am confused... could someone tell me, if I want my FFA to have min 20 players and max 50 and I want the ForceStartTime to start from when 20th player has joined, how do I do this? All I have been able to do so far is to make it start when the 1st guy joins in with matchEnableForceStartTime: true
Also how can I set a timer on screen like match starting in, 3 seconds, two seconds, 1 second, GOOD LUCK!?