Arena Setup
How ShyamDuels arenas manage block structures, and how to create regular duel arenas, block-building arenas, and Free For All (FFA) arenas.
How Arenas Work
When you define both diagonal corners of an arena, ShyamDuels prompts FastAsyncWorldEdit (FAWE) to serialize and save a schematic of that designated block region. Once a duel or match concludes, FAWE pastes the schematic back, reverting all blocks to their original pre-match layout. This ensures:
- Arenas restore automatically after every match without manual intervention.
- If you edit the block layout of the physical arena later on, you must re-execute the
corner1andcorner2commands to refresh the schematic layout. - Schematic blueprints are stored under
plugins/ShyamDuels/schematics/<ArenaName>.schem.
Arena World
ShyamDuels creates or loads a dedicated void world for match arenas, configured in config.yml:
arenas:
world: Arenas
On first startup the plugin generates this as an empty void world if it does not exist. Always build template arenas here. Do not run /arena create, place corners, or paste builds in clone worlds such as Arenas1, Arenas2, and so on. Those worlds are auto-generated copies for extra match capacity; the plugin mirrors your Arenas templates into them when arenas.cloning is enabled.
When you run /arena create, the arena record stores whichever world you are standing in. You can register arenas in other custom worlds if cloning is off, but cloning only duplicates the configured base world folder. See When Not to Use Cloning.
Arenas1, Arenas2, …) are read-only copies created from the base Arenas folder on startup. If you build or run /arena create there, those changes are lost on restart, duplicated incorrectly, or conflict with auto-registered clone arenas (names like Arena1_1). Create and edit arenas only in the base Arenas world.
Arena Cloning
Arena cloning multiplies duel capacity without rebuilding every arena at new coordinates. Instead of pasting 30 separate schematics in one world, you build each arena once in the base world and let the plugin copy the entire world.
How It Works
- Set
arenas.cloninginconfig.ymlto the number of extra world copies you want (for example2). - On startup, ShyamDuels copies the on-disk folder of
arenas.world(defaultArenas) into sibling worlds namedArenas1,Arenas2, …ArenasN. - Every registered duel arena that is not already a clone becomes a template. For each clone world, the plugin registers a copy named
TemplateName_1,TemplateName_2, and so on. - Each copy uses the same X/Y/Z coordinates and facing as the template, but in the matching clone world. Kit links, build flags, and gate data are copied too.
- FAWE still resets each copy using the template arena's schematic file: you do not need separate schematics per clone.
Arenas world and set cloning: 2. On startup you get:
- 30 arenas in
Arenas(original templates) - 30 arenas in
Arenas1(names suffixed_1) - 30 arenas in
Arenas2(names suffixed_2)
Configuration
arenas:
world: Arenas
cloning: 2 # 0 = disabled (default)
sanitize-clone-worlds: true # Strips entity/POI data from copied worlds (recommended)
| Option | Description |
|---|---|
arenas.world |
Base void world where templates are built. Clone worlds are named {world}1, {world}2, etc. |
arenas.cloning |
Number of extra world copies. 0 disables cloning entirely. |
arenas.sanitize-clone-worlds |
Removes entity and POI chunk data from copied world folders before load, preventing stale entity errors on clone worlds. |
What Gets Cloned
- Included: duel arenas (corners, spawns, center, linked kits, build flag, door gates).
- Excluded: FFA arenas, disabled arenas, and arenas that are already clones (
TemplateName_N).
Run /arena list to see clone counts. Cloned entries appear with names like Arena1_1 and report under world clones in the list footer.
When Not to Use Cloning
Leave arenas.cloning: 0 and create arenas manually when any of the following apply:
arenas.world folder. If your duel arenas live in multiple worlds: for example Arena1 in Arenas, Arena2 in BuildWorld, and Arena3 in spawn: enabling cloning will still register copies named Arena2_1 inside Arenas1 at Arena2's coordinates. Those coordinates point at void or unrelated terrain, not your real build in BuildWorld. Do not enable cloning when templates are spread across worlds. Instead, register each arena where it was built using normal /arena commands.
- Unique layouts per instance: cloning duplicates the same schematic at the same coordinates. If each arena should look different or sit in a different region, build separate template arenas instead.
- FFA maps: FFA arenas are never cloned. Give each FFA map its own arena entry and schematic.
- Low player count: a handful of templates in one world is often enough; cloning adds disk use (one full world folder per clone).
- Editing clone worlds directly: clone world folders are regenerated from the base world on first copy. Long-term edits should happen in the template world, then remove clone folders and restart (or set
cloning: 0, deleteArenas1… folders, re-enable, restart).
Multi-World Setup Without Cloning
If you intentionally host arenas in different worlds (lobby world, themed build world, etc.):
- Keep
arenas.cloning: 0. - Stand inside the target world when running
/arena create, corner commands, and spawn setup: the arena stores that world name. - Create one arena record per physical map, even if layouts repeat. Matchmaking treats each as an independent slot.
- Use
/arena listand/arena info <name>to verify each arena's world matches where you built it.
Arena Lifecycle Status
| Status State | Functional Meaning |
|---|---|
AVAILABLE |
The arena is idle and waiting to receive queued players. |
IN_USE |
An active duel match is currently ongoing inside the arena. |
REGENERATING |
FAWE is pasting the schematic back to restore the blocks. The state returns to AVAILABLE once the paste finishes. |
UNAVAILABLE |
FAWE failed to restore blocks after multiple attempts. The arena shuts down and administrators are notified. Requires a server reboot. |
DISABLED |
Manually blocked from matchmaking. |
Creating a Standard Duel Arena
- Register the arena record:
/arena create Arena1 - Stand at one corner of the boundary you wish to protect and execute:
/arena corner1 Arena1 - Walk diagonally to the opposite corner (other side, floor/ceiling boundary) and execute:
/arena corner2 Arena1. You should see a confirmation notification if the schematic saved successfully. - Stand at the spawn point for Player 1 facing the arena center and execute:
/arena spawn1 Arena1 - Stand at the spawn point for Player 2 facing the opponent spawn and execute:
/arena spawn2 Arena1 - (Optional) Stand at the arena center and run:
/arena center Arena1. This coordinates spectators and team spawn boundaries. - Link a kit configuration:
/arena addkit Arena1 NoDebuff
Linking Multiple Kits
/arena addkit Arena1 NoDebuff
/arena addkit Arena1 Sword
/arena addkit Arena1 Axe
All three kits will share Arena1. The matchmaking manager grabs any available arena that supports the kit currently requested by the matched players.
Cloning an Arena Build (/arena copypaste)
Use this when you want multiple copies of the same map at different coordinates in the base Arenas world (or another world if cloning is disabled), without rebuilding by hand. This is separate from world cloning in config.yml, which duplicates entire worlds on startup. Do not use /arena copypaste inside Arenas1 or Arenas2; those clone worlds are managed automatically.
- Fully set up the source arena: both corners (so the schematic is saved), spawns, center, and linked kits.
- Fly to where the minimum corner of the new copy should go (the same relative anchor point you used for the source arena's
corner1/corner2selection). - Run:
/arena copypaste <sourceArena> <newName>
The plugin pastes the source schematic, creates a new arena record, and copies these settings (offset to the new location where applicable):
- Kit links: all kits linked via
/arena addkit - Build mode: enabled/disabled state from
/arena build - Arena type: DUEL or FFA from
/arena ffa - Spawn points: spawn1, spawn2, and center
- FFA spawns: all custom points from
/arena addffaspawn - FFA GUI: display name, icon, and kit override from
/arena setdisplaynameand/arena seticon - Door gates: gate regions and eject points (if configured with
/shyamduels gate). See the Gate Setup guide.
A fresh schematic is saved for the new arena so FAWE resets work independently.
/arena copypaste places real blocks in the world. If the paste fails partway through, the command rolls back the new arena entry. To remove a completed copy, use /arena delete <newName> and manually clear any leftover blocks if needed.
Creating an FFA Arena
- Create and set up the arena boundaries, spawns, and kit links identically to a duel arena.
- Toggle FFA mode on:
/arena ffa MyFFA true. This switches the match logic from DUEL to FFA. - (Optional) Add extra random spawn points: stand at each location and run
/arena addffaspawn MyFFA. Repeat for as many spawns as you want. - The FFA timer will automatically begin managing chest restock schedules and map resets.
When no custom FFA spawns are registered, players spawn at spawn1 (via /arena spawn1). Use /arena clearffaspawns <name> to remove all custom spawns and fall back to the default spawn points.
Players join using the /ffa interface. Check the FFA Mode guide for details.
FFA GUI Suffixes and Icons
/arena setdisplayname MyFFA <red>NoDebuff FFA Arena</red>
/arena seticon MyFFA # Sets the GUI picker icon to your held item
Build Mode (Arena and Kit Must Match)
Build mode controls whether players can place and break blocks during a match. It is set separately on the arena and the kit, and both must agree or matchmaking will skip the arena.
true but the kit has build mode false (or the other way around), the arena is ignored and players may see No arenas available for this kit even when free arenas exist. Always set both to the same value:
- Build match:
/arena build <arena> trueand/kit build <kit> true - Non-build match:
/arena build <arena> falseand/kit build <kit> false
Creating a Build Arena
- Set up the arena (corners, spawn locations, kit link) normally.
- Enable arena build mode:
/arena build BuildArena true - Enable kit build mode:
/kit build BridgeKit true - (Optional) Restrict which blocks can be placed: hold each block and run
/kit allowblock BridgeKit
When the kit has no block whitelist, players can place and break any block in a build-enabled arena. When a whitelist exists, only those block types are allowed. All block changes are restored by FAWE when the match finishes.
Creating a Non-Build Arena
- Set up the arena and link the kit as usual.
- Leave build mode off (default):
/arena build Arena1 false - Ensure the kit is also non-build:
/kit build NoDebuff false
Non-build is the default for new arenas and kits. Use /arena info <name> and /kit info <name> to verify build mode before opening queues.
Updating Arenas
If you renovate or change blocks in the arena build later, standing at the same selection corners and executing the corner commands will overwrite the existing schematic:
/arena corner1 Arena1
/arena corner2 Arena1
Manual Regenerations
If a match glitches or leaves blocks behind, force a layout reset manually:
/arena reset Arena1
This triggers a rollback paste, changing the state to REGENERATING and back to AVAILABLE.
Exhaustive Arena Setup Command Reference
Below is a complete command reference table for managing arena environments (requires shyamduels.admin):
| Command | Syntax / Parameters | Functional Behavior |
|---|---|---|
/arena create |
/arena create <name> |
Registers a new empty arena configuration profile in the database. |
/arena delete |
/arena delete <name> |
Deletes the arena configuration, schematics, and unlinks kits. |
/arena corner1 |
/arena corner1 <name> |
Sets the first corner coordinates of the physical arena boundary region. |
/arena corner2 |
/arena corner2 <name> |
Sets the second corner coordinates. Triggers FAWE to save the captured block region to schematic. |
/arena spawn1 |
/arena spawn1 <name> |
Sets the spawn location for Player 1 / Team 1. |
/arena spawn2 |
/arena spawn2 <name> |
Sets the spawn location for Player 2 / Team 2. |
/arena center |
/arena center <name> |
Sets the center coordinate of the arena (for spectator placement and team boundaries). |
/arena teleport |
/arena teleport <name> |
Teleports you to the center of the specified arena. Aliases: tp, gotoworkspace. |
/arena addkit |
/arena addkit <name> <kit> |
Links a kit template to the arena, making it available for matches using that kit. |
/arena removekit |
/arena removekit <name> <kit> |
Unlinks a kit template from the arena. |
/arena copypaste |
/arena copypaste <source> <newName> |
Clones the source arena's schematic and metadata to your current position under a new name. Source must have both corners set. |
/arena build |
/arena build <name> <true/false> |
Enables or disables block placing/breaking during matches. Must match the linked kit's build mode (/kit build). |
/arena ffa |
/arena ffa <name> <true/false> |
Enables or disables Free For All match mechanics inside the arena. |
/arena addffaspawn |
/arena addffaspawn <name> |
Registers your current position as an additional random spawn point for FFA mode. |
/arena clearffaspawns |
/arena clearffaspawns <name> |
Clears all registered additional FFA spawn points, falling back to spawn1 and spawn2. |
/arena disable |
/arena disable <name> |
Disables the arena, blocking matchmaking queues from choosing it. |
/arena enable |
/arena enable <name> |
Enables the arena for active matchmaking queues. |
/arena reset |
/arena reset <name> |
Forces an immediate FAWE schematic rollback and restores blocks. |
/arena list |
/arena list |
Lists all registered arenas, showing their active statuses and linked kits. |
/arena info |
/arena info <name> |
Displays detailed config values, coordinates, and statistics for the arena. |
Matchmaking Arena Claim Checks
When matchmaking pairs two players, it requests an arena using ArenaManager.claimArena("KitName"). The manager selects an arena that:
- Is currently in the
AVAILABLEstate. - Is categorized as a
DUELtype. - Has the requested kit linked.
- Has the same build mode as the kit: both build (
true) or both non-build (false). Checked via/arena buildand/kit build.
If no matching arenas are available, players see No arenas available for this kit and are returned to the lobby. A common cause is a build-mode mismatch: for example an arena with /arena build Arena true linked to a kit still on /kit build Kit false. Fix by setting both to the same value, then verify with /arena list and /kit info.
Configuring multiple arenas for popular kits helps handle high player counts: either by building more templates in the base world, enabling arena cloning, or registering separate arenas in other worlds with cloning turned off.