Your cart is empty
Looks like the spiders padded through here. Pick a plugin and it will show up here. Continue shoppingGuides
A 1v1 command that teleports two players into an arena is a weekend project. A duels plugin you trust with your players' inventories is not.
Short answer: for friends on a private server, a simple duel command you write yourself is fine. For a live PvP or survival server where players bring their own gear, use an established duels plugin and build only your custom mode or reward on top of it.
Starting a match is easy. Ending it correctly, every time, for every player, is where home-made duels plugins lose people's items.
Small server owners who know some Java, or who plan to ask ChatGPT or Claude to write a duels plugin for them. Plenty of plugins are built that way now, and for a small, contained feature it can work well.
We sell a duels plugin, so keep that in mind. We have tried to be fair about when a free plugin or your own code is the better choice.
A first version can honestly cover a lot:
/duel <player> request with a clickable accept message.With two friends testing it, this works. The problems come with more players, more arenas and people who want to win at any cost.
Before a match you have to save each player's inventory, armour, off-hand, location, health, hunger, XP and potion effects. After the match you put all of it back. That has to work when they win, lose, quit, get kicked, time out or the server stops in the middle of a fight. If the snapshot lives only in memory, a crash wipes it. If the restore runs twice, you have a dupe.
Kit items are free, so players will try to take them home. They drop them for a friend outside the arena, throw an ender pearl over the wall, run /spawn or /home mid-fight, or die and leave the kit on the floor. Every exit path needs a rule, and kit items need a hidden tag so they can be found and removed.
Players place blocks, pour lava, light fires and blow things up. After each match the arena has to go back to how it was, including flowing water, dropped items and arrows stuck in walls. If you run several matches at once, you need several copies of each map and a way to give out a free one, and resetting a large area all at once can lag the server.
Queues need to handle players leaving the queue, joining a second one or logging off while waiting. Parties add team damage and uneven teams. Spectators must not pick up items, open chests, block arrows or get hit, and they have to be restored the same way as fighters.
On Folia every region runs on its own thread, so teleporting players between regions and resetting arena blocks has to go through region and entity schedulers. The normal Bukkit scheduler isn't available there. Bedrock players joining through Geyser see Java menus translated for their client, so kit and queue menus need testing on Bedrock too.
Saved kits are items, and item data moved from NBT to data components in 1.20.5. Code that saved kits the old way loaded them wrong or not at all. Paper also changes its API on its own schedule, and combat details change between versions. Each release means retesting kits, restores and arena resets.
| Build it yourself | Free plugin | Premium plugin | |
|---|---|---|---|
| Time to start | A weekend for 1v1, weeks for arenas, queues and parties | An hour or two plus building arenas | An hour or two plus building arenas |
| Cost | Your time, plus any AI subscription | Free | One-off or recurring price |
| Maintenance | Every Minecraft and Paper update is yours | Depends on the volunteer maintainer | The developer is paid to keep it updated |
| Risk on a live server | High: lost or duplicated items | Low to medium, widely used | Low to medium, widely used |
| Fits your exact idea | Fully | Through config, sometimes an API | Through config and usually an API |
What most owners want is one thing that is theirs: a mode with a special rule, rewards tied to their own ranks, a stat that feeds a leaderboard on their website. They don't want to own inventory restores and arena resets.
So keep those in a plugin that many servers already run, and write a small add-on that listens to its match start and end events or calls its API. Your code stays short and focused on your idea. If you use an AI tool to help write it, a small add-on is a much safer size of project than a full plugin.
Free starting points worth trying first:
With Phoenix Duels, the API docs cover the Maven setup and events, custom add-ons shows how to package your own, and the developer page brings it together.
Phoenix Duels is our premium duels plugin, with 1v1, party and FFA duels, arenas that regenerate after every match, kits, queues and betting. It runs on Spigot, Paper, Folia (experimental) for Minecraft 1.20.4 – 26.3. Player menus are built to work for Bedrock players through Geyser. It costs €19.99 one-time, lifetime updates.
These are the parts we spent the most time on, and the ones this article warns about:
The honest downsides: it is paid and closed source, the API and every add-on need Premium, Folia support is still experimental, and some modes like Boxing, Spleef and TNT are paid add-ons. If you just want a 1v1 command for friends, a free plugin is enough.
Try it before you build anything
Phoenix Duels Lite is free and never contacts our servers.
Your cart is empty
Looks like the spiders padded through here. Pick a plugin and it will show up here. Continue shopping