Arenas
File: config/frontier/arenas.conf
Arenas define the physical locations where ranked battles take place. Each arena has spawn positions for both players and an optional spectator position. They’re typically created with the in-game builder wizard rather than by editing the config directly.
Quick Example
Section titled “Quick Example”arenas { main_arena { name = "Main Arena" world = "minecraft:overworld" player1 { x = 100.5 y = 65.0 z = 200.5 yaw = 90.0 pitch = 0.0 } player2 { x = 110.5 y = 65.0 z = 200.5 yaw = -90.0 pitch = 0.0 } spectator { x = 105.5 y = 70.0 z = 190.0 yaw = 0.0 pitch = 0.0 } allowedLadders = [] rankedOnly = false }}Arena Fields
Section titled “Arena Fields”| Field | Type | Default | Description |
|---|---|---|---|
name | String | "" | Display name of the arena. |
world | String | "minecraft:overworld" | World/dimension identifier. |
player1 | ArenaPosition | — | Spawn position for player 1. |
player2 | ArenaPosition | — | Spawn position for player 2. |
spectator | ArenaPosition? | null | Spectator viewing position. null = spectating disabled for this arena. |
allowedLadders | List<String> | [] | Ladder IDs this arena is restricted to. Empty = available for all ladders. |
rankedOnly | Boolean | false | If true, reserved for ranked matches only (not challenges). |
Position Fields
Section titled “Position Fields”Each position has coordinates and rotation:
| Field | Type | Default | Description |
|---|---|---|---|
x | Double | 0.0 | X coordinate. |
y | Double | 64.0 | Y coordinate. |
z | Double | 0.0 | Z coordinate. |
yaw | Float | 0.0 | Horizontal rotation (0=South, 90=West, 180=North, 270=East). |
pitch | Float | 0.0 | Vertical rotation (-90=up, 0=forward, 90=down). |
Arena Builder Wizard
Section titled “Arena Builder Wizard”The recommended way to create arenas. Stand where you want each position and run the commands:
/ranked admin arena create <id> Start the builder/ranked admin arena setpos1 Set player 1 spawn (your current position)/ranked admin arena setpos2 Set player 2 spawn (your current position)/ranked admin arena setspectator Set spectator position (optional)/ranked admin arena done Save the arena/ranked admin arena cancel Cancel without savingThe wizard captures your exact position and rotation when you run each setpos command. Here’s what a wizard-created arena looks like in the config (note the precise coordinates):
arenas { arena { allowedLadders = null name = arena player1 { pitch = 14.700052261352539 x = -6.811391257086479 y = 102.0 yaw = 50.550048828125 z = 9.911388137087249 } player2 { pitch = 21.000015258789062 x = -16.75364013668292 y = 102.0 yaw = -140.69924926757812 z = 20.95906201458352 } world = "minecraft:overworld" }}Arena Management
Section titled “Arena Management”/ranked admin arena list List all arenas with status/ranked admin arena delete <id> Delete an arenaArena Selection Algorithm
Section titled “Arena Selection Algorithm”When a match is found, Frontier picks an arena using a first-available strategy:
- Iterates through arenas in config order.
- Skips arenas currently occupied by another match.
- Skips
rankedOnlyarenas for unranked matches (challenges). - Skips arenas with
allowedLaddersrestrictions that don’t include the current ladder. - Returns the first available arena.
If no arenas are available, players are placed in a waiting queue and notified. When an arena is freed, the next pending match is assigned to it.
Arena Restrictions
Section titled “Arena Restrictions”Ladder-Specific Arenas
Section titled “Ladder-Specific Arenas”Restrict an arena to specific ladders with allowedLadders:
arenas { vgc_stadium { name = "VGC Stadium" world = "minecraft:overworld" player1 { x = 200.5, y = 65.0, z = 300.5, yaw = 90.0, pitch = 0.0 } player2 { x = 210.5, y = 65.0, z = 300.5, yaw = -90.0, pitch = 0.0 } allowedLadders = ["vgc", "doubles"] }}This arena is only used for VGC and Doubles matches. All other ladders skip it.
Ranked-Only Arenas
Section titled “Ranked-Only Arenas”Reserve arenas for ranked queue matches only — challenges won’t use them:
arenas { championship_arena { name = "Championship Arena" world = "minecraft:overworld" player1 { x = 0.5, y = 100.0, z = 0.5, yaw = 180.0, pitch = 0.0 } player2 { x = 20.5, y = 100.0, z = 0.5, yaw = 0.0, pitch = 0.0 } rankedOnly = true }}Post-Match Teleportation
Section titled “Post-Match Teleportation”After a match ends, players are teleported back to their original location (before they were moved to the arena). This is controlled in config.conf:
arenaReturnToOrigin = truefallbackSpawn { world = "minecraft:overworld" x = 0.0 y = 64.0 z = 0.0}If the original location is unavailable (e.g., the chunk unloaded or the world changed), players go to the fallback spawn. Set arenaReturnToOrigin = false to always send players to the fallback instead.