War is the original PVP Arena plugin for Bukkit, the Minecraft multiplayer server API.
War lets you create warzones, PVP arenas that host team deathmatch and capture-the-flag battles.
- As a player, you get a fast-paced PVP arena experience in SMP.
- Join a battle by entering through the warzone lobby. There is one gate per team (team diamond, gold or iron): step in to join that team.
- Your inventory is saved when you join a battle, and restored when you exit.
- When you die inside a warzone, you get instantly teleported back to your spawn, and one life is taken from your team's life pool. When that pool runs out, the other teams score a point!
- Steal the enemy team flag to score for your team.
- Fight over monuments, control points that, when captured, restore your teammates' health.
- Return the cake home to score a point for your team and refill your life pool.
- Capture the bomb and run for your enemy's spawn to blow it up. Careful! If you get attacked at close range you'll blow up.
- As a warzone maker, you have total control.
- Take advantage of cool landscape features or existing player-build structures and incorporate them in new warzones.
- Tons of options: friendly-fire, auto-assign, turn off PVP outside warzones, define respawn loadouts specific to each zone, turn players' heads into team-colored blocks instead of giving them team-colored helmets, and more!
- All the blocks in a zone are reset at the end of every battle.
- Players are prevented from entering or leaving a zone - except through the designated warzone lobby - by a magic glass wall.
- A warhub can be created to link all your zones together.
- Works with Spout: War event notifications and other HUD improvements.
Refer to the instructions and to the release notes below for more details.
Important! Known bugs and planned features can be found here.
Download War v1.7.4 (Doolittle) - compatible with Craftbukkit 1.4.7-R1.0, please make backups before updating.
Want bleeding edge compatibility and features? Join the bug hunt. Find dev builds @ ci.tommytony.com
Code & Issues (github)
Bukkit forums post
Spout forums post
Bukkit Dev minisite
Minecraft forums post
More videos and tutorials over here.
Join the discussion in the War Room our forum/mailing list.
Chat at irc.esper.net #warpvp
Everyone is welcome to come try out the plugin at
The Warhub - tommytony's official War server @ warhub.tommytony.com
A tutorial introducing the War commands and mechanics.
Here's a small patch that I should have released back in January.
This update fixes problems that appeared with the BlockFace API changes that came with Craftbukkit RB 1.4.5-R1.0.
Keep an eye on the dev builds at http://ci.tommytony.com for some long overdue additions that should be coming soon.
This release is compatible with Craftbukkit 1.4.7-R1.0 and previous versions.Download War v1.7.4
Here's an update that I've been sitting on since September. Real life took over and I'm sorry I've been unable to push the development of War further in the past few months.
This is a minor update which adds:
- Support for block IDs from 128 to 255
- Slightly smoother spawn re-entry protection
- Delaying the Warhub's initialization to make sure it initializes properly at startup.
This release is compatible with Craftbukkit from 1.2.5-R4 to 1.4.5-R0.2.
Note that War v1.7.3 is NOT compatible with Craftbukkit 1.4.5-R0.3 due to breaking changes in the API which I still need to address.
Over the past three months, War has more than doubled in popularity - War v1.7.1 was downloaded over 30,000 times. I need thank everyone for trying out the plugin and all the contributors that helped us get here. Thank you so much!
Now I'll be the first to admit that War has some quirks, so for this release I focused on fixing bugs and tweaking existing game mechanics. Still, I needed to keep this fun so I sneaked in a few features that were highly requested and some that I'd wanted to put in there for way too long.
Over the past week I finally went to work (sorry for the delays!) and got this rather sizable "stability & small improvements" release together for you:
- Inventory reset and end-of-game code reworked and toughened up to make sure people get their inventories back after a game of War (so sorry for the problems! - see Bug fixes below)
- Players can now bring a copy of their inventories inside the warzone
- One of the most often requested features over the past few months
- Use "/zonecfg playerloadoutasdefault:true". The player's own inventory as he entered the warzone becomes his default loadout every time he respawns.
- Alternate loadouts can still be used. The player gets his full inventory back when he exits the match.
- TDM and CTF stalemates caused by spawn protection cannot happen anymore
- Can't re-enter spawn! Players cannot get back into their own spawn after exiting (unless for legitimate flag and cake captures).
- Players that are still the spawn are still invincible, in order to let them select then loadout in peace.
- You can still enter the enemy's span in order to bump off and punish afk people, though.
- Warhub, lobby don't wipe their entire volume to air anymore
- In warhub and lobbies, only the minimal block path required to let players teleport and to let them navigate between gates is cleared.
- Similarly, gameplay structures (monument, flag, cake, bomb, spawn) now only clear a 2-block high space of air (instead of a needlessly large volume).
- Customizable warhub and lobby materials
- Hold the block of your choosing in your hand then use
- /warcfg warhubmaterial:<floor/outline/gate/light> or
- /zonecfg lobbymaterial:<floor/outline/gate/light>
- If you are holding nothing (i.e. air) and you use these commands with the "floor" or the "outline" parameter, it tells War to use the original floor instead of overwriting it.
- Lobbies of new warzones take their materials from the warhub's settings
- PRO TIP: The brand new (slightly backwards) way to build a pretty warhub or warzone lobby is here!
- First, build a nice area with a nice floor, colums or other details.
- THEN, use /setwarhub or /setzonelobby to place your structure.
- Switch out the materials with "/warcfg warhubmaterial:<floor/outline/gate/light>" or "/zonecfg lobbymaterial:<floor/outline/gate/light>".
- Hold nothing while using the warhubmaterial:<floor/outline> or lobbymaterial:<floor/outline> command in order to keep your original floor.
- Voilà! You have a pretty warhub or lobby!
- If your lobby or warhub is already placed, I suggest moving it away, making a nice build, then placing it back in its original position once you are done. Akward for now, but it works! :)
- Customizable monument, flag stand, cake and bomb materials
- Hold the block you want in your hand then use "/zonecfg material:<main/stand/light>".
- Simplified the cake and bomb structures to make customization easier.
- Less brutal minplayers/minteams check
- When a player leaves the warzone and makes the warzone population go under minplayers in minteams, you don't get warped back to spawn right at that moment anymore.
- Once you respawn, you will be locked inside the spawn until there's at least minplayers in minteams.
- Automatic warzone backups during /savezone, /deletezone and /renamezone
- If you have the setting "/warcfg keepoldzoneversions:true", then /savezone makes a copy of the old save to the folder /plugins/War/temp/oldversions/ with a timestamp and a version number (i.e. previous number of old versions + 1).
- Deleted warzones are not truly deleted anymore, they just get moved to the folder /plugins/War/temp/deleted/.
- When you use /renamezone, a copy of the warzone with its old name is made to /plugins/War/temp/renamed/.
- WARNING: The new automatic backup can lead to high disk space usage.
- Turn off the oldversion setting with "/warcfg keepoldzoneversions:false" if you prefer to minimize disk space usage.
- Make sure to permanently delete unneeded files in the /deleted/, /renamed/ and /oldversion/ folder once in a while.
- Dedicated War log file now at /plugins/War/temp/war.log
- Added more and better logging of player commands
- Makes it finally much easier to track down who did what with War config changes
- Everyone can now see the game rules
- All can use "/warcfg print" (or "/warcfg -p").
- Same with "/zonecfg print" and "/teamcfg print".
- Better message formatting
- Messages from War don't get their words cut in half anymore, making everything much easier to read.
- Help for /warcfg, /zonecfg, /teamcfg and other commands has more colors and is slightly better structured.
- FINALLY, nailed down the inventory reset bug which caused many people to get their inventories wiped or to get replaced by the warzone loadout as they exited.
- I'm so very sorry for all the drama that must have ensued on all your servers. :( The problem is truly gone now.
- I used this opportunity to make the end-of-game code more solid to ensure all inventories get reset and the warzone is properly re-initialized.
- Renaming a warzone with /renamezone now works fine and doesn't completely corrupt the warzone anymore. A backup is taken of the old warzone with its old name in the /plugins/War/temp/ folder.
- Exiting the warzone accidentally now makes you drop your flag, cake or bomb. This used to be annoying because it let you auto-cap by sneaking out of the zone.
- Better compatibility with some other plugins by cranking up the priority of War's death and damage event handlers to the highest level
- Factions: Players from the same faction can now fight each other.
- mcMMO, MagicSpeels: Players who killed themselved or got one-shot-killed by projectiles now get their loadouts back when they respawn.
- Heroes: Cleaned up the behavior of War when "/zonecfg realdeaths:true".
- Support for unsafe/illegal enchantments like those possible with other plugins like Time the Enchanter (loadouts and chests).
Tested with Craftbukkit 1.2.5-R4.
Thanks so much to all contributors and players and to those who tried out the dev builds at http://ci.tommytony.com/job/War/
, and thanks in particular to @shanko and @cmastudios for their big help!
Joyeuse St-Jean-Baptiste! :)
Hi everyone. Here's the long overdue new War release: War v1.7.1.
- New: Compatibility with Craftbukkit 1.1-R6, 1.2.3, 1.2.4 and 1.2.5
- New: Warzone config setting resetonconfigchanged is now available and false by default. This means /zonecfg and /teamcfg DON'T reset the warzone blocks anymore by default.
- New: Bomb carrier doesn't cause explosion if warzone has setting unbreakable:true
- Bugfix: Potion effects are properly cleared.
- Bugfix: Blockhead restoration shouldn't cause errors anymore.
- Bugfix: Attempt at stopping duplicate end-of-game and inventory reset problem. Please report back if your inventories don't reset at match end.
Also, note the new logo. Many thanks to @mphawey for the design.
If we should have to fight, we should be prepared to so so from the neck up instead of from the neck down.
I couldn't finish everything I wanted to do for this release, but I managed to squeeze in some pretty good bits nonetheless.
- Team specific settings and config inheritance:
- There are now three levels of configuration (as opposed to two):
- War/global (try /warcfp -p)
- Warzone-specific (/zonecfp -p)
- New: Team-specific (/teamcfg -p)
- Defaults are defined at the War level globally, but you can override them with /zonecfg and /teamcfg. For example, use "/teamcfg blue lifepool:100 respawntimer:5" to change only that team's settings.
- To restore config inheritance use, for example, "/teamcfg blue delete:lifepool". If a warzone-level lifepool setting exists, its value takes over. If not, the War-level default is applied.
- Brand new gameplay structures! The Cake and the Bomb.
- The Cake
- Set down with "/setcake <cake-name>", delete with "/deletecake <name>".
- Bring it back to your spawn for a point and a lifepool refill for your team.
- The Bomb
- Place with "/setbomb <bomb-name>", delete with "/deletebomb <name>".
- Rush for the enemy spawn to blow it up.
- Don't get attacked at close range while carrying a bomb or you'll blow up.
- Spout integration
- Warzone stats are displayed at top left
- Dedicated War message feed (for less War chat spam - win!)
- Notifications for warzone events using the achievements widgets (looks awesome)
- A new, more friendly Yaml config file format (conversion is done at startup), finally.
- New realdeaths and deathmessages configs that let you disable fast respawns (for better plugin cross-compatibility) and turn off kill/death messages.
- A respawntimer:<seconds> setting to let you keep players stuck in spawn after respawning.
- Experience is stored along with the rest of the player's state at warzone entry (and restored at exit).
- Bomb carriers emit a smoke trail. Similarly, flag and cake thieves can be more easily tracked down because they leave a trail of team-colored potion effects.
What are you waiting for?
Compatible with Craftbukkit 1.1-R3.
Please backup before updating and report back with your issues.
Happy new year everyone!
War turned one year old during the holiday season. It's been a privilege and a pleasure to build this with you. I look forward to War taking great strides ahead in this second year.
To kick things off nicely, I setup a continuous integration site so you can finally download the newest dev War builds fresh off the latest pushes to github.
Be aware that these preview builds will have more bugs than final releases. Make sure to backup your War files before any upgrade, as always.
I've been hard at work since the holidays. In the latest build
- Spout integration: team stats, a dedicated message feed, team-colored name tags and notifications for warzone events.
- A new inheritance-based config system that introduces team-specific settings (see /teamcfg).
- Finally switched to Yaml file format with automatic conversion on first run.
Note that this hasn't been tested with the newer Crafbukkit builds for MC 1.1 just yet. Just keep watching that builds feed I shouldn't be too long with testing it out and ironing the new bugs out as they show up.
Vive le Québec libre!
Just in time for the holidays, here's an update that - in my opinion - rounds off the "master plan" I had when I first conceived of this plugin a year ago almost exactly.
I'd like to thank all of you for your patience in supporting this project all year long. I look forward to adding more exciting features in the year ahead!
Here's what's new in War
- Permissions changes & warzone authors
- Two new permission nodes: war.zonemaker and war.admin.
- Give the war.zonemaker permission node to let people create new warzones.
- When zone makers create a zone, they are automatically assigned as a warzone author.
- Zone makers cannot edit others' warzones anymore. You need to be the author of a zone to edit it.
- Add more authors to a warzone with /zonecfg author:<newauthor>.
- Remove an author with /zonecfg deleteauthor:<name>.
- List zone authors with /zonecfg -p.
- Give the war.admin permission node to let people edit all warzones (without author restrictions) and change War settings. This is similar to the old war.* permission.
- Backwards compatible: the old war.* permission node is still supported and still gives you full War permissions. When using pvpinzonesonly:true, with war.* you can always PVP outside warzones, while war.admin gives you the choice to add the war.pvp node or not.
- Craftbukkit RB 1597 / MC 1.0.1 compatibility
- Potions and enchanted items can now be saved in respawn loadouts, chests and dispensers.
- Instant damage (harm) splash potions now register damage properly.
- Potion effects are cleared when you enter a warzone and restored when you exit.
- Potion effects are also cleared with each respawn.
- Harming potion deaths are now caught instead of being ignored.
- New maxzones setting to prevent zonemakers from building too many warzones. Set with /warcfg maxzones:<number>. Default is 12.
- Your last loadout selection is remembered at your next respawn, instead of forcing you to re-select your favorite loadout every time. This should be a big time saver for warzones with many extra loadouts.
- Bug fixes
- Technically, items that automatically break upon first use should be gone from newer loadouts. Please notify me if this still happens.
- Warzone lobbies can now be moved to another world.
- The warhub can now be moved from one world to another.
- Extra loadouts don't need two attempts to be saved anymore.
- Known issues
- Please report any instance of weapons disappearing upon first use (right or left click).
- Updated to v1.6.2 to fix doors turning to glass.
Since MC 1.0.0 War has trouble resetting doors (they sometimes turn to glass - don't ask, it's a terrible hack). Resetting a few times sometimes helps. I'm looking into it and will release a 1.6.2 patch as soon as I nail it down. Compatible with Craftbukkit #1597. If your wondering about future plans and progress, please refer to my big plans post and follow me on github.
Today I finally finished the last ticket I had scheduled for the War v1.6 milestone. Crazy stuff in this release has been months in the making.
Thanks to @TimWolla who helped me a lot. Here's what's new in this final release of War v1.6:
- Use '/zonecfg loadout:<extra-loadout-name>' to add an alternate respawn loadout. Players switch loadouts by sneaking.
- Use '/zonecfg deleteloadout:<name>' to get rid of an extra loadout. You can delete the default loadout.
- For MC 1.8+
- Now saving health level, food level, saturation, exhaustion and gamemode when you enter a warzone.
- Forcing creative mode player to switch to survival when they join a game.
- Disable the hunger bar with '/zonecfg nohunger:true'. This also turns off the health-regeneration of food.
- Instead, determine how fast players will become hungry after a respawn with '/zonecfg saturation:<0 to 20>'.
- Glass walls
- Glass walls can be turned off with '/zonecfg glasswalls:off'.
- You get bumped back into the zone instead of back to the spawn if you walk out of the zone boundaries.
- Use '/zonecfg flagreturn:<both/spawn/flag>' to change where the flag carrier can return the flag.
- '/zonecfg flagpointsonly:true' let's you have pure CTF.
- Easy spleef with two new settings: '/zonecfg pvpinzone:false instabreak:true' to turn off pvp inside a zone and let players break blocks instantly.
- New TNT protection scheme. Important structures are rolled back instead of stopping explosions.
- With the setting '/warcfg tntinzonesonly:true', any TNT explosion outside a warzone is cancelled.
- TNT inside warzones is allowed. Outside blocks affected by explosions from inside the warzone are rolled back.
- Fancy new death messages.
- SuperPerms/PermissionsBukkit support. See WAR-README.txt for permissions.
- Added helmet/blockhead protection: if you remove your head block, it will be reset automatically (and you are prevented from holding too many head-items).
- Dropped items get cleaned up after each reset (thanks Tim!)
- New commands:
- New /renamezone command.
- Added /deleteteamflag command.
- Other new settings:
- '/zonecfg minplayers:1 minteams:1' are the default values. If you don't have minplayers players on at least minteams teams, then the players can't leave the spawn.
- Use '/zonecfg nodrops:true' to prevent players from dropping any items in the warzone.
- Doors reset much better now.
- Respawn now stops fire properly.
- Less hits on PLAYER_MOVE, to help with performance.
- Known issues
- Something about using leather armor in loadouts is breaking item function.
- Lobbies still attached to warzones sometimes get player teleported under them because of their being temporarily reset.
Report back with your bugs and feedback. Thanks!
Compatible with Craftbukkit RB #1185
Ahoy! Updates are slow, as always. Sorry for the delays. I hope you'll find something you like in this 3rd preview release [sic] of War v1.6.
Shout out to TimWolla who helped rework the way War handles commands (and clean up my messy codebase), which brings us to the changelist:
PREVIEW 5: Removed the spammy pvp permission detection logging code. Sorry I missed that.
PREVIEW 4: Sorry to ask you to redownload. The /setteamflag command was broken.
- Use commands from the console or from outside warzones (those that make sense, anyway). For example, try "/zonecfg volcanoes disabled:false maxscore:20". In other words, you can now optionally specify the name of a warzone with every sensible command. Thanks Tim!
- Added simple kill/death messages. With War now preventing HeroicDeath from firing, it had gotten way too quiet.
- Added new 'war.pvp' permission, which allows you to get around the pvpinzonesonly:true settings, allowing world-specific pvp restrictions.
- Give regular players the 'war.pvp' premissions node to let them fight outside warzones when the setting pvpinzonesonly is on. Works in the same way as 'war.build' (which gets around buildinzonesonly:true).
- IMPORTANT: Starting now, zonemakers (i.e. those with 'war.*') can PVP outside warzones when /warcfg buildinzonesonly:true. Give them the negative '-war.pvp' permission node to restrict their PVP rights.
- The warning when pvpinzonesonly:on is preventing players from doing PVP can be turned off with "/warcfg disablepvpmessage:true".
- You can turn off/on the plugin with /unloadwar and /loadwar.
- /god is disabled automatically in warzones (i.e. damage events are uncanceled).
- The monument heal amount can be changed through "/zonecfg [zone-name] monumentheal:3".
- Added three automatic zone reset settings:
- Use "/zonecfg [zone-name] resetonempty:true" to reset the warzone when the last player leaves (just like old War behavior). This is less confusing to new players who join a partially-finished warzone down the road.
- Use "/zonecfg [zone-name] resetonload:true" to reset the warzone blocks when the plugin is loaded (through /reload or /loadwar).
- Use "/zonecfg [zone-name] resetonunload:true" to reset the warzone blocks when the plugin is unloaded (through /reload or /unloadwar).
- Op is zonemaker by default. Sorry for not putting this in in the first place.
- Updated usage messages when commands are misused. Also, updated readme.
- Warhub orientation can finally be changed. Yay! Just use "/setwarhub", and it will appear in the direction you are facing.
- Added a command whitelist to get around the blanket ban of non-War commands inside warzones. You can only change this by changing the field in war.txt (ex: "commandWhitelist=give,fly," will allow players to spawn items and fly inside warzones, if they have the required permissions).
- You can print the plugin and warzone settings (and change them at the same time). Use "/zonecfg [zone-name] -p spawnstyle:small" or simply "/zonecfg [zone-name] print" or even "/warcfg -p pvpinzonesonly:true". The returned message will return the full config.
- Explosive deaths are now properly registered. Please let me know if you get any more respawn screens when dying - you shouldn't.
- Inventories of players are now reset when the zone is deleted.
- Lobbies reappear after a reload. Sorry about that.
- Changing the team spawn style (with /zonecfg [zone-name] spawstyle:<big/flat/small/invisible>) doesn't mess up the surrounding of the spawn anymore.
- Auto-assign gates now use the proper colors.
- No more portal blocks being set in warhub gates.
Thanks for your patience and for your feedback!
Hi everyone. War v1.6 isn't finished but here's a preview build that works with the newest Craftbukkit builds.
Hopefully it will be stable enough to tide you over until the final release. Thanks for helping me test it out.
- PREVIEW 2: Fixed bug with new file format where resetting a warzone containing an empty chest or an empty dispenser would throw thousands of exceptions, kicking everyone.
- Only stopping health regeneration due to Peaceful regen.
- PREVIEW 1:Since teleporting loops were breaking everything, I rushed out this PREVIEW build as soon as possible.
- New file format (prepare for sligthly glitchy resets). Conversion happens at first startup. Warzones are reset from disk (blocks not held in memory all the time anymore). RAM usage goes down noticably.
- Warzones don't reset at startup/shutdown anymore.
- Fixed teleportation issues since the Craftbukkit changes. Gates work again.
- Permissions 3.x support.
- New magic glass walls that retract as you move around.
- Other changes (thanks @TimWolla): delete warzone by name, invisible spawn style, flag carriers can't hide in spawn anymore, health regain blocked in peaceful.
Compatible with Recommended Builds #935 and #953.