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:

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.

Never build in Arenas1, Arenas2, or other clone worlds
Clone worlds (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

  1. Set arenas.cloning in config.yml to the number of extra world copies you want (for example 2).
  2. On startup, ShyamDuels copies the on-disk folder of arenas.world (default Arenas) into sibling worlds named Arenas1, Arenas2, … ArenasN.
  3. 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.
  4. 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.
  5. FAWE still resets each copy using the template arena's schematic file: you do not need separate schematics per clone.
Example
You build 30 duel arenas in the 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)
Total: 90 concurrent duel slots at identical layouts.

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

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 in different worlds
Cloning copies only the configured 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.

Multi-World Setup Without Cloning

If you intentionally host arenas in different worlds (lobby world, themed build world, etc.):

  1. Keep arenas.cloning: 0.
  2. Stand inside the target world when running /arena create, corner commands, and spawn setup: the arena stores that world name.
  3. Create one arena record per physical map, even if layouts repeat. Matchmaking treats each as an independent slot.
  4. Use /arena list and /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

  1. Register the arena record: /arena create Arena1
  2. Stand at one corner of the boundary you wish to protect and execute: /arena corner1 Arena1
  3. 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.
  4. Stand at the spawn point for Player 1 facing the arena center and execute: /arena spawn1 Arena1
  5. Stand at the spawn point for Player 2 facing the opponent spawn and execute: /arena spawn2 Arena1
  6. (Optional) Stand at the arena center and run: /arena center Arena1. This coordinates spectators and team spawn boundaries.
  7. Link a kit configuration: /arena addkit Arena1 NoDebuff
Boundary Selection Warning
Always select boundary corners that encompass the entire arena, including potential build limits. Blocks modified outside the selection region will not be restored when the match concludes.

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.

  1. Fully set up the source arena: both corners (so the schematic is saved), spawns, center, and linked kits.
  2. 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 / corner2 selection).
  3. 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):

A fresh schematic is saved for the new arena so FAWE resets work independently.

Cannot be undone
/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

  1. Create and set up the arena boundaries, spawns, and kit links identically to a duel arena.
  2. Toggle FFA mode on: /arena ffa MyFFA true. This switches the match logic from DUEL to FFA.
  3. (Optional) Add extra random spawn points: stand at each location and run /arena addffaspawn MyFFA. Repeat for as many spawns as you want.
  4. 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.

Arena and kit build mode must match
Matchmaking only pairs a kit with arenas that have the same build setting. If the arena has build mode 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> true and /kit build <kit> true
  • Non-build match: /arena build <arena> false and /kit build <kit> false

Creating a Build Arena

  1. Set up the arena (corners, spawn locations, kit link) normally.
  2. Enable arena build mode: /arena build BuildArena true
  3. Enable kit build mode: /kit build BridgeKit true
  4. (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

  1. Set up the arena and link the kit as usual.
  2. Leave build mode off (default): /arena build Arena1 false
  3. 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:

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.