ConquestDuels v5.4.0 — smarter recoveries, cleaner endings, zero-dupe rejoin
What is it?
ConquestDuels is a modern duel framework for Paper/Spigot 1.21+. It handles matchmaking, arena flow, spectator logic, wager payouts, and safe returns, with optional WorldGuard + Vault integration.
Highlights in v5.4.0
- Rejoin Recovery: If a player quits mid-duel, they are restored on join to their pre-duel state and teleported out of the arena. Inventory dupe blocked.
- Boundary-Win Flight Fix: When a duel ends because an opponent leaves the arena bounds, the surviving player is returned with flight forcibly disabled (unless bypass perm).
- Unified End Teleport: Winners, losers, and spectators are teleported together first, then states are restored. No more mixed outcomes.
- Session Persistence: Sessions are not unregistered if any quitter still needs recovery. Arena cleanup proceeds, session stays resident until all quitters rejoin and are restored.
- Safer Spectator Handling: Eliminated players become duel spectators in-place; outsiders are ejected from arenas.
- WorldGuard-Aware PvP: Duel damage and potions cleanly override protected regions while respecting your policy.
- Economy Payout Guard: Wagers are paid after confirming economy is unlocked, with retries and logging.
Why servers use ConquestDuels
- Battle-tested duel lifecycle: lobby → teleport-in → freeze/start → combat → unified finish → safe return.
- Crash/quit resilience: no stranded players, no stuck states, no dupes.
- Lightweight but explicit about edge cases (bounds, intruders, spectators, deathless “eliminate to spectate”).
- Configurable announce + clean arena regeneration hooks.
Core Features
- Team vs Team and 1v1 flow
- Spectators and intruder ejection
- Deathless elimination → SPECTATOR mode
- Arena region awareness, entity purge, optional block snapshot/regen hooks
- Optional wagers with Vault
- Optional WorldGuard overrides for duel PvP and potions
New in v5.4.0 (Technical Notes)
- On PlayerJoinEvent, if the player left mid-duel, plugin wipes duel items, teleports to pre-duel location, then restores the saved DuelPlayerState.
- Session remains registered if anyone quit early; arena can still be cleaned and freed.
- End-of-game path teleports everyone first, then restores states, then forces flight off except for admins with bypass.
- Boundary elimination triggers an immediate end; surviving winners do not regain flight inadvertently.
Commands (typical)
- /duel challenge <player>
- /duel accept
- /duel deny
- /duel spectate <arena>
- /duel leave
- /duel cancel (admin)
Permissions (examples)
- conquestduels.user.* — player commands
- conquestduels.admin.* — administration, force actions, bypass flight restore
Dependencies
- Paper/Spigot 1.21+
- Vault (optional, for wagers/payouts)
- WorldGuard (optional, for region-aware duel overrides)
Upgrade Guide (4.x/5.x → 5.4.0)
- Update the jar.
- If you customized duel end logic or teleport timings, review the new “teleport-all-then-restore” behavior.
- If you rely on admin flight, grant the bypass permission to staff.
Configuration Tips
- Set your duel spawn and arena regions clearly.
- Keep wager amounts reasonable; the payout guard will delay until economy unlock.
- Enable announcements if you want public win/loss messages.
Support
Bug reports with logs and steps to reproduce are appreciated. Include your server version, plugin version, and any custom config snippets related to duels.