Everything Arcade PVP does, the way it runs on our live server.
ESX · QBCore · QBX · Standalone
PvP arenas your players open from a marker on the map: create a room, pick the mode, the map and the weapon, and fight in a private instance with its own HUD. Built from the arcade that runs every day on a live server with 300+ players.

Team Deathmatch, Free For All and Gun Game. In Gun Game every kill moves you to the next weapon, 24 of them, and the first kill with the last one wins.
The host sets the name, the player limit, the kill goal and an optional password. Everyone else browses the open rooms and joins with a click. In Team Deathmatch the host names the teams and picks their colours, and players choose their side.

From Humane Labs to Stab City and the El Gordo lighthouse. A new map is a polygon, a few spawn points and an image. Leave the area and you respawn with a death on your score.
Every match runs in its own instance. Respawns land away from the enemy, with a few seconds of protection that end the moment you move or aim. Kills are checked by the server: a cheater cannot hand themselves kills on players they never hit.

Countdown, kill feed with headshots, top 5 leaderboard, team score or Gun Game progress, your own K/D. When the match ends, a results screen with every player's kills and deaths.
The inventory stays locked during a match and the arena weapons are never taken away, with ox_inventory, qb, ps and lj. Every arena death is cleared from your medical script, so no death screen and no hospital trip, with qbx_medical, qb-ambulancejob and esx_ambulancejob. A resource restart mid-match brings everyone back to the arcade.

Reward the winners or log every match from one open function. Other scripts read a state bag to switch themselves off while a player is in the arena.