How players use Deathmatch, how a match is played from start to end, and how to add your own maps, weapons and showcase.
Opening the Menu#
Follow the Deathmatch Zone blip, stand on the marker and press E. The menu cannot be opened while dead. E is a FiveM key binding, so each player can change it in Settings → Key Bindings → FiveM → Deathmatch Menu.
The Lobby Browser#
The first screen lists every lobby that has not started yet.
Control | What it does |
|---|---|
Search | Type a name and press Enter to filter lobbies. |
Sort by | Name A > Z or Name Z > A. |
Filter → Maps / Weapons | Show only lobbies with a given map or weapon. |
Join | Joins a public lobby. |
Password | A private lobby. A password window opens first. |
Create a room | Opens the lobby creator. |
Creating a Lobby#
Field | Rules |
|---|---|
Name | 4 to 15 characters. Longer names are replaced by |
Password | Optional — leave empty for a public lobby. Use 10 characters or less: a longer one is discarded and the lobby can no longer be joined. |
Rounds | 1 to 10. The number of rounds a team must win to win the match. |
Map | Chosen with the arrows. |
Weapon | Chosen with the arrows. Every player gets this weapon plus a knife. |
Each player can own one lobby at a time. If you already have one, creating another does nothing.
Teams and the Ready Check#
After creating or joining, you are placed in a random team: the Ice team (team 1, blue) or the Fire team (team 2, red). Click a team's banner to switch sides.
Players who join press I am ready. The host is ready automatically.
The host's Start button only works when both teams have at least one player and everyone is ready.
Leave or closing the menu removes you from the lobby. If the host leaves, the lobby closes for everyone.
How a Match Works#
Start
Every player is moved to a private routing bucket — one per lobby — so the match is invisible to the rest of the server. Phone SOS is disabled if you use qs-smartphone-pro.
Showcase
Players see a cinematic lineup of their own team, then the intro animation.
Round start
Everyone is revived, teleported to their team's spawn and given the lobby weapon with 500 rounds and a random tint, plus a knife. The HUD shows the timer, the round and each team's round wins.
Fight
A round ends when every player of one team is dead. The other team scores a round win and a new round starts.
Match end
The first team to reach the host's number of rounds wins. The winners are shown in the showcase; then everyone is revived, their weapons are removed and they return to the entrance.
Rules During a Match#
Rule | Details |
|---|---|
Weapons | Only the lobby weapon is allowed; any other is replaced by it. The weapon wheel is locked with ox_inventory or qs-inventory. |
Damage | Players in a match can only damage other players in a match. |
Play area | A green marker shows the zone. Leaving it shows You are out of the zone and removes 10 health about every 1.5 seconds. |
Blocked keys | F1, F2, F3, F5, F6, F7, F9, K, H and ~ are disabled so other menus cannot be opened. |
Radar | Hidden during rounds. |
Disconnects | The round is re-evaluated. If a team becomes empty, the other team wins. |
Spectator Mode#
When you die you spectate a living teammate. Use the mouse wheel to switch between teammates; the spectated name shows on the HUD.
Round Timer#
Config.Timer (420 seconds by default) is the round timer on the HUD and restarts every round.
When it reaches 0, the match ends for the whole lobby with TIMEOUT and no winner.
Separately, after 7 minutes of a round with both teams alive, everyone is teleported face to face (the map's
eteam1/eteam2positions), sees Time is up!, and 10 seconds later starts losing health until a team is eliminated.
With the default value both happen together and the match ends as a timeout. Above 420, long rounds go through this sudden-death phase first.
Maps#
Key | Name in the menu | Play area |
|---|---|---|
| Bank | 80 × 80 |
| Lifeinvader | 90 × 90 |
| Cargo | 135 × 135 |
| Skyscraper | None (rooftop) |
| Jeweler | 80 × 80 |
| 24/7 Supermarket | 32 × 32 |
| Liquor store | 70 × 70 |
| 1v1 | 70 × 70 |
Adding or Editing Maps#
Config.MapData = {
['bank'] = {
['team1'] = { x = 244.43, y = 202.98, z = 105.21, h = 73.86 }, -- Ice team spawn
['team2'] = { x = 254.34, y = 225.39, z = 106.29, h = 163.04 }, -- Fire team spawn
['eteam1'] = { x = 222.06, y = 210.99, z = 105.55, h = 158.26 }, -- Ice team when time is up
['eteam2'] = { x = 220.76, y = 206.79, z = 105.47, h = 340.43 }, -- Fire team when time is up
['area'] = { -- optional
['Pos'] = { x = 249.33, y = 217.76, z = 100.29 },
['Size'] = { x = 80.0, y = 80.0, z = 10.0 },
},
},
}Field | Description |
|---|---|
| Each team's spawn at the start of every round. |
| Where each team is teleported when a round passes 7 minutes. Place them close to each other. |
| Centre of the play area. The marker is drawn upwards from here, so put it slightly below the floor. |
| Size of the zone. |
To show a new map in the menu:
Add it to the config
Add the map to
Config.MapDatawith a unique key, for exampleairport.Add a picture
Put an image named exactly like the key in
html/images/maps/, for exampleairport.png.List it in the menu
Add an entry to
html/js/config/maps.jsand restart the resource:javascript { name: "Airport", // name shown in the menu img: "airport.png" // must be <key>.png },
The picture's file name without
.pngis what the menu sends as the map key, so it must match the key inConfig.MapData.
Weapons#
The weapon list lives in html/js/config/guns.js. To add one, put its picture in html/images/guns/ and add an entry:
{
name: "Combat Shotgun", // name shown in the menu
img: "combatshotgun.png", // picture in html/images/guns/
weapon: "combatshotgun", // GTA weapon name without WEAPON_
type: "shotgun", // pistol, smg, rifle, shotgun, sniper or lmg
},The server gives WEAPON_ plus the weapon name in upper case, so combatshotgun becomes WEAPON_COMBATSHOTGUN. type picks the small icon in the lobby list.
Pre-Match Showcase#
Before the first round, and to present the winners at the end, the team is shown in front of a camera for 7.5 seconds, followed by the intro animation.
Config.InvisibleSpawnCoords = vec3(1170.10, -1264.40, 20.25)
Config.PedSpawnLocs = {
[1] = vec4(1127.20, -1263.80, 19.60, 44.13),
[2] = vec4(1129.10, -1263.40, 19.65, 44.13),
[3] = vec4(1127.10, -1264.90, 19.60, 44.13),
[4] = vec4(1128.30, -1263.70, 19.75, 44.13),
[5] = vec4(1126.80, -1265.90, 19.60, 44.13),
}
Config.CamPos = vec3(1126.08, -1262.42, 21.0)
Config.Anims = {
{ dict = 'anim@amb@nightclub@peds@', name = 'rcmme_amanda1_stand_loop_cop' },
-- ...
}Option | Description |
|---|---|
| Where the real player waits, invisible and frozen, during the showcase. |
| One position per character in the lineup. Add one entry per player if a team can have more than 5 players. |
| Camera position. |
| Random idle animations for the characters. Add or remove |



