Arena Templates
Arena templates define the maps, rules, and settings for each type of match. They are configured in the Arenas array inside config.json.
Template Properties
| Key | Type | Default | Description |
|---|---|---|---|
Name | string | — | Unique name for this template (e.g. "1vs1-STANDARD") |
Prefab | string | — | Prefab filename in the Prefabs/ folder (e.g. "arena_2FFA.prefab") |
MaxPlayers | integer | 2 | Maximum number of players in the match |
Type | string | "FFA" | Game mode type code (see below) |
TimeLimit | integer | 180 | Match time limit in seconds |
Goal | integer | 0 | Kill/capture goal for deathmatch/TCTO modes (0 = not applicable) |
Presets | string[] | [] | Names of inventory presets available in this arena |
AllowDropItems | boolean | false | Allow players to drop items |
AllowBlockPlace | boolean | true | Allow players to place blocks |
AllowBreakBlock | boolean | false | Allow players to break blocks |
DestructibleWorld | boolean | false | Allow prefab blocks to be destroyed |
CommandsOnWinners | string[] | [] | Commands executed on each winner after the match |
CommandsOnDefeated | string[] | [] | Commands executed on each loser after the match |
Type Codes
| Code | Game Mode |
|---|---|
FFA | Free For All — last player standing |
T | Team — last team standing |
FFADM | FFA Deathmatch — first to kill goal |
TDM | Team Deathmatch — team kill race |
TCTO | Team Capture the Orb — capture objectives |
Category Calculation
The category code is automatically calculated as {MaxPlayers}-{Type}. For example, a template with MaxPlayers: 4 and Type: "TDM" has category code 4-TDM.
Multiple templates can share the same category — the matchmaker will randomly pick one when creating a match.
Winner/Loser Commands
The CommandsOnWinners and CommandsOnDefeated arrays allow you to run commands after each match. Two placeholders are available:
| Placeholder | Replaced With |
|---|---|
%player% | The player's display name |
%uuid% | The player's UUID |
Example:
{
"CommandsOnWinners": [
"give %player% Gold_Coin 10",
"msg %player% Congratulations on your victory!"
],
"CommandsOnDefeated": [
"give %player% Gold_Coin 2"
]
}
Default Templates
ArenaPvP ships with these default templates:
{
"Arenas": [
{
"Name": "1vs1-STANDARD",
"Prefab": "arena_2FFA.prefab",
"MaxPlayers": 2,
"Type": "FFA",
"TimeLimit": 180,
"Goal": 0,
"Presets": ["default-kit", "warrior-kit", "archer-kit"],
"AllowDropItems": false,
"AllowBlockPlace": true,
"AllowBreakBlock": false,
"DestructibleWorld": false,
"CommandsOnWinners": [],
"CommandsOnDefeated": []
},
{
"Name": "2v2-STANDARD",
"Prefab": "arena_4T.prefab",
"MaxPlayers": 4,
"Type": "T",
"TimeLimit": 180,
"Presets": ["default-kit", "warrior-kit", "archer-kit"]
},
{
"Name": "FFA-STANDARD",
"Prefab": "arena_4-6FFA.prefab",
"MaxPlayers": 4,
"Type": "FFA",
"TimeLimit": 180,
"Presets": ["default-kit", "warrior-kit", "archer-kit"]
},
{
"Name": "FFADM-STANDARD",
"Prefab": "arena_4-6FFADM.prefab",
"MaxPlayers": 4,
"Type": "FFADM",
"TimeLimit": 300,
"Goal": 10,
"Presets": ["default-kit", "warrior-kit", "archer-kit"]
},
{
"Name": "TDM-STANDARD",
"Prefab": "arena_4-6TDM.prefab",
"MaxPlayers": 4,
"Type": "TDM",
"TimeLimit": 300,
"Goal": 15,
"Presets": ["default-kit", "warrior-kit", "archer-kit"]
},
{
"Name": "TCTO-STANDARD",
"Prefab": "arena_4-6TCTO.prefab",
"MaxPlayers": 4,
"Type": "TCTO",
"TimeLimit": 300,
"Goal": 3,
"Presets": ["default-kit", "warrior-kit", "archer-kit"]
}
]
}
Adding a Custom Template
To add your own arena, create a prefab map for it and add a new entry:
{
"Name": "my-arena-5v5",
"Prefab": "my_custom_map.prefab",
"MaxPlayers": 10,
"Type": "TDM",
"TimeLimit": 600,
"Goal": 30,
"Presets": ["warrior-kit", "archer-kit"],
"AllowDropItems": false,
"AllowBlockPlace": false,
"AllowBreakBlock": false,
"DestructibleWorld": false,
"CommandsOnWinners": ["give %player% Trophy 1"],
"CommandsOnDefeated": []
}
After editing config.json, run /arena reload to load the new template without restarting the server.