Arena builder
The builder lets you create and edit arenas directly in-game, without touching the configuration. Each arena is saved and appears immediately.
Open the builder
In-game, type the command:
/arena_builderAccess is restricted to administrators. On VORP, these are the groups listed in Config.Builder.adminGroups; on RSG, it is the josk_arena.builder ace permission (see Installation). The builder tablet then opens and lists existing arenas.
Create an arena
- In the tablet, choose create a new arena and give it a name.
- Place the arena's points (see the table below). For each point, the tablet hides and you place the element with the mouse in the world.
- Return to the tablet and save. The arena instantly appears on the map with its blip and welcome NPC.
Points to place
| Point | Role |
|---|---|
| Polygon corners | Define the arena zone. You need at least 3. |
| Red / blue corner spawn | Spawn points for the two fighters. |
| Red / blue preview ped | "Showcase" spot where fighters are displayed before the fight. |
| Combat camera | View used during the fight. |
| Spectator camera | View offered to spectators. |
| Bookmaker position | Where the betting NPC appears. |
| Intruder expulsion point | Where players who crash a fight are teleported. |
| Blip / welcome NPC position | Arena entrance: map blip + decorative NPC. |
Placement controls
While placing a point:
| Action | Key / mouse |
|---|---|
| Place a polygon corner | Click (or the displayed key) |
| Remove the last corner | Right click (or the displayed key) |
| Place and orient a point | Hold Space / hold click, then aim with the mouse |
| Validate | Enter |
| Cancel | Escape |
Cameras automatically capture your free-cam pose (position + angle) when you validate — orient the camera the way you want it, then validate.
Per-arena settings
From the tablet, each arena has settings that override the global config when filled in (otherwise they fall back to the defaults):
- Fighters (arena-specific solo / NPC roster)
- Rewards
- Rewards enabled — "Pay out rewards" checkbox. When off, the arena runs without reward payouts ("free" fights). Pairs with "Pay rewards on free access" (see Free access) to control whether modes opened to the public also pay.
- Betting (toggle, min/max bets, rake, allowed modes)
- Manager bet — checkbox "Allow the manager to bet on their own arena". Off by default (a manager influences the outcome, so no double role). Enable only for specific RP scenarios (rigged fights, law-enforcement investigations). The bookmaker NPC then plays a visible piece of theatre whenever the manager places a bet — see betting.md.
- Required job
- Assigned managers — a list of players (selected by their character id) allowed to run this arena on top of the required job. Handy to let a stable NPC manage their ring without granting the job to everyone, or to share control of an arena between several RP players. One of them can be marked arena president: they collect the betting rake (see betting); otherwise the 1st in the list.
- Free access per mode — for each mode (Player vs NPC, NPC vs NPC, Royal Rumble, Duel, Tournament), a "Free access" checkbox. When on, the mode can be started without a manager — any player can launch the fight from the entry NPC. When off (default), only managers can open the mode.
- Free-access rewards — dedicated checkbox. When a mode is in free access, this toggle decides whether the free fights also pay out rewards.
- Bookmaker NPC model
- Blip name and sprite
- Ground check — "Check ground on spawn" checkbox. When on, fighters are snapped to the ground before spawning (fixes arenas with uneven floors). Turn off for YMAP arenas that already define their own floor height.
- YMAP (no navmesh) — dedicated checkbox. Tick it when the arena is a YMAP without navmesh (peds can't navigate normally). The script adapts: NPC vs NPC fights start in melee range at the centre (no walk-to-corners cinematic), and Royal Rumbles stay clustered at the centre with a safety net that pulls the second finalist back if they drift away. Leave unchecked for standard MLO arenas. ⚠️ Ticking this box changes the NPCs' combat behaviour on the arena — details and limits in Combat.
- Arena enabled state
Enable / disable
A disabled arena shows no blip or NPC and refuses entry. Use the tablet's enable toggle to open or close it without deleting it.
Delete an arena
The Delete button opens a confirmation modal that spells out everything that will disappear with the arena: active and finished tournaments, open bets (with their pool), fight history, linked stables… You must retype the exact name of the arena to enable the permanent delete button. A safeguard against distracted clicks.
Cascade effects:
- All tournaments and leagues attached to this arena are removed.
- Open bets are automatically refunded to the players.
- Stables linked to this arena have their link cleared (the stable itself survives — a manager's RP identity does not depend on a specific arena).
- Fight history and related stats are wiped.
Admin troubleshooting
A single server command unblocks a stuck arena without restarting the resource (which would cut every bet and menu in progress, everywhere on the server).
Access requires the admin group (VORP), the admin / god permission (RSG), or the josk_arena.admin ace permission. The command also works from the server console.
See the arena inventory
/arena_resetWithout an argument, the command prints every arena defined on the server:
- First, busy arenas (open bets, fight in progress, menu held) with their detailed state: bets state, pool, fight mode, arbiter (online or not), player holding the menu.
- Then free arenas, with a
[DESACTIVEE]tag if disabled.
Each line shows the id (db1, db2...) and the arena name. Use it to find the target to reset.
Reset one specific arena
/arena_reset <id|name>Force-resets a single arena (other arenas running in parallel are left alone):
- Refunds any open or locked bets (pool returned to the bettors).
- Stops the server-side fight monitor and drops residual NPCs from the ring.
- Releases the zone menu if a player was holding it.
- Tells every client to clear the local "fight active" flag for that arena.
- The combatant player still in the ring (if any) is teleported to the arena's intruder expulsion point and gets a notification.
The argument accepts several formats:
| Form | Example |
|---|---|
| Full id | /arena_reset db1 |
Number only (auto-prefixed with db) | /arena_reset 1 |
| Arena name (case-insensitive, substring) | /arena_reset Saint Denis |
If several arenas share a similar name, the command lists the candidates so you can disambiguate. The action is logged in the server console.
Typical case: the manager who opened a fight crashes mid-Royal-Rumble while NPCs remain in the ring. The server already has fallbacks (bets refunded after 30 s if no players remain, last-player-standing detection if players remain), but
/arena_resetlets an admin unblock the situation instantly without waiting.