DuelPlugin
Lightweight Queue-Based 1v1 Duels for Paper 26.2 Language notice: In-game messages are currently written in Chinese and are not configurable. The SpigotMC resource page, documentation and support channel are English-only. Chinese-language support is not provided on SpigotMC.
About DuelPlugin
DuelPlugin is a small queue-based duel plugin for Paper servers. Players join a shared queue with one command. When two online players are available, the plugin sends them to two preconfigured EssentialsX warps and starts a timed one-on-one duel. The plugin remembers each participant's pre-queue location in memory and returns the players after a recognized duel death or timeout.
Compatibility
- Server software: Paper 26.2 only
- Java: 25 or newer
- Required dependency: EssentialsX, loaded under the plugin name Essentials
- Required setup: EssentialsX warps named a and b
- Build target: Paper API 26.2.build.56-alpha
- Server testing: The existing plugin was reported working on Paper 26.2; release 1.0.4 was build-verified but was not retested on a live server after the API metadata update
- Spigot server compatibility has not been tested and is not claimed
Free Resource
DuelPlugin should be published as a free resource with a price of $0. It is a compact, single-purpose, MIT-licensed plugin with no premium service, marketplace, economy, payment, or commercial-only feature. Publishing it for free matches its current scope and makes the required source and limitations easy to review.
Main Features
- Simple global matchmaking queue using /dt
- Queue cancellation using /dt q
- Automatic pairing when two online players are waiting
- Automatic EssentialsX teleport to warp a and warp b
- Original player locations retained in memory for return teleportation
- Five-minute matchmaking timeout
- Ten-minute duel timeout with a draw message
- Duel completion when a participating player dies
- Only one duel can run server-wide at a time
- No database, external storage, economy, wagers, rewards, or inventory transactions
Queue and Duel Safety Scope
DuelPlugin prevents a player from joining the queue more than once and blocks new matchmaking while another duel is active. Queue entries and return locations use player UUIDs or Bukkit player references in server memory. Matchmaking and duel timeout tasks are scheduled on the server thread. This plugin does not provide arena protection, inventory isolation, kit management, command blocking, spectator controls, combat tagging, or world-border enforcement. Server owners must provide any required arena safety rules with other plugins or server configuration.
Data and Transaction Scope
DuelPlugin does not create a configuration file or persistent player-data file. Queue state, duel state, and return locations are memory-only and are cleared by a server restart or plugin reload. No economy provider is used, and the plugin performs no payments, bets, item transfers, purchases, or other transactions. There is therefore no plugin data file that requires backup.
Dependencies
- EssentialsX is required. The plugin declares depend: [Essentials] and will not load without it.
- Create an EssentialsX warp named a for the first participant.
- Create an EssentialsX warp named b for the second participant.
- The plugin dispatches warp a PLAYER and warp b PLAYER from the console.
Links
Important Notes
- DuelPlugin is designed for Paper 26.2, not Spigot server software.
- In-game command feedback and duel messages are hard-coded in Chinese.
- There are no permissions, aliases, administrator commands, or configuration options in version 1.0.4.
- Only one duel may run across the entire server at a time.
- /dt q cancels a waiting queue entry; it does not surrender an active duel.
- Missing or incorrectly named EssentialsX warps are not detected before a duel starts.
- Player disconnects during an active duel do not have a dedicated cleanup handler.
- If a participant dies without the other duel participant being recognized as the killer, the surviving participant may remain marked as active until a restart or plugin reload.
- Review the full documentation and known limits before installing on a production server.