Arenas
Arenas are the core of ArenaPvP. Each match takes place in an isolated, temporary world created from a prefab (pre-built map).
How Arenas Work
- Templates — In
config.json, you define arena templates. Each template specifies a map (prefab file), game mode, player count, time limit, and available kits. - Queue — When enough players join the queue for a category, the matchmaker triggers a match.
- Instance Creation — A new world is created from the template's prefab file. This world is completely isolated — nothing that happens there affects the main world.
- Match — Players are teleported into the arena, receive their kit, and the battle begins. Arena protections are active: block breaking, item dropping, and other actions are controlled by the template settings.
- Resolution — When the match ends, results are processed (rating changes, win commands, etc.), and players are teleported back to their original position.
- Cleanup — The arena world is destroyed, freeing resources for the next match.
Arena Lifecycle
An arena instance goes through multiple phases:
| Phase | Description |
|---|---|
| Created | World instance is being set up from the prefab |
| Players Joining | Players are being teleported into the arena |
| Match Active | The fight is in progress — timer is running |
| Match Ended | A winner has been determined |
| Cleaning Up | Players are teleported out, world is queued for deletion |
| Destroyed | World is removed from memory |
Prefabs
Prefabs are pre-built arena maps saved as .prefab files. ArenaPvP ships with several example prefabs:
| File | Designed For |
|---|---|
arena_2FFA.prefab | 1v1 FFA |
arena_4T.prefab | 2v2 Team |
arena_4FFA.prefab | 4-player FFA |
arena_4-6FFADM.prefab | 4–6 player FFA Deathmatch |
arena_4-6TDM.prefab | 4–6 player Team Deathmatch |
Prefab files are stored in the Prefabs/ directory under the mod folder. You can add your own prefabs by placing .prefab files there and referencing them in your arena templates.
Spawn Points
Each prefab must include spawn blocks that define where players will be placed when the match starts. The plugin automatically detects these blocks during prefab loading and assigns players to spawn positions.
For team-based modes (T, TDM, TCTO), spawn blocks define positions for each team separately.
Arena Protections
While inside an arena, several protections are active to ensure fair gameplay:
- Block breaking — Controlled by the
AllowBreakBlocktemplate setting (default:false). - Block placing — Controlled by the
AllowBlockPlacetemplate setting (default:true). - Item dropping — Controlled by
AllowDropItems(default:false). - Destructible World — Controlled by
DestructibleWorld(default:false). Prevents the destruction of blocks loaded from prefab. - Friendly fire — Automatically disabled in team-based modes.
- Spectator protections — Spectators cannot interact with the arena world (no breaking, placing, or damaging).
Instance Limits
You can control how many arenas can run simultaneously with the InstancesLimit setting in config.json:
{
"InstancesLimit": 0
}
0= Unlimited (as many arenas as the server can handle).- Any positive number = Maximum concurrent arena instances.
This is useful for controlling server resource usage.
World Naming
Arena worlds are automatically named with the ArenaWorldPrefix setting followed by a unique identifier:
{
"ArenaWorldPrefix": "arena_"
}
Worlds are temporary and cleaned up after each match — they don't persist between server restarts.