Skip to main content

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

KeyTypeDefaultDescription
NamestringUnique name for this template (e.g. "1vs1-STANDARD")
PrefabstringPrefab filename in the Prefabs/ folder (e.g. "arena_2FFA.prefab")
MaxPlayersinteger2Maximum number of players in the match
Typestring"FFA"Game mode type code (see below)
TimeLimitinteger180Match time limit in seconds
Goalinteger0Kill/capture goal for deathmatch/TCTO modes (0 = not applicable)
Presetsstring[][]Names of inventory presets available in this arena
AllowDropItemsbooleanfalseAllow players to drop items
AllowBlockPlacebooleantrueAllow players to place blocks
AllowBreakBlockbooleanfalseAllow players to break blocks
DestructibleWorldbooleanfalseAllow prefab blocks to be destroyed
CommandsOnWinnersstring[][]Commands executed on each winner after the match
CommandsOnDefeatedstring[][]Commands executed on each loser after the match

Type Codes

CodeGame Mode
FFAFree For All — last player standing
TTeam — last team standing
FFADMFFA Deathmatch — first to kill goal
TDMTeam Deathmatch — team kill race
TCTOTeam 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:

PlaceholderReplaced 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.