Skip to content

Lumo Battle Royale ​

Solo, duo and squad battle royale with bots, a shrinking zone and airdrops.

Version 1.1.1 · Frameworks QBCore · Qbox · ESX · standalone

Installation · Config files · Exports & events · Changelog

Solo, Duo and Squad battle royale for FiveM: an aircraft drop, a shrinking circle, ground loot, airdrops, vehicles and up to 99 AI bots that fill every lobby. It runs on QBCore, Qbox, ESX or no framework at all, and the only hard dependency is oxmysql.

Version 1.1.0 · Install · Configuration · Gameplay · Developer API · FAQ & troubleshooting · Changelog


Features ​

  • Three modes: Solo, Duo and Squad, with parties that stay together and bot teammates for empty seats.
  • Up to 100 per match: real players plus server-simulated bots. Every match runs in its own routing bucket, so the city never sees it, and several matches can run at once.
  • Five base-game maps: Cayo Perico, Grand Senora, Paleto Bay, Port of Los Santos and Fort Zancudo. No downloads. Adding a map takes a centre, a radius and a few named places.
  • Walk-up hub: a military camp with a big live status screen and desktop terminals. The lobby opens on the monitor itself and you click it with the mouse. No command needed, though you can add one.
  • Real match flow: a warm-up with practice targets, the aircraft (free look, F to jump, auto-opening chute), 6 circle phases, airdrops with flares, a knocked state with revives, then results, XP and cash.
  • Loot and gear: 20+ weapons, attachments that fit every gun that takes them, vests with durability, helmets, armour plates, heals, boosts, backpacks with carry limits, and throwables.
  • Smart bots: they land with nothing and loot, react before firing, take cover, push, hear gunfire, rotate into the next circle and work as teams. Bot teammates follow in formation, shoot what you aim at and revive you.
  • Visual sound: enemy gunfire, footsteps and engines show on the minimap, the pause map and the compass, so you can hear a fight coming even with the game sound low. Silenced weapons and crouching keep you quiet.
  • Fight-readable HUD: a compass with gunfire and footstep ticks, a crosshair, damage arcs, aim tags, teammate markers, loot beams, a kill feed, a squad list, a speedometer, pings and enemy marks.
  • Spectate: an orbit camera with your team first, then players, then bots (the deadliest first), and it follows the killer.
  • Stats: career stats and a leaderboard, created automatically in your database.
  • Safe for the city: the city inventory is never touched, there is no framework death inside a match, and ammo, weapons and health go back to what they were afterwards.
  • Admin panel: test matches, launching queues, ending matches, match size, moving the hub, spawning bots, skipping zones, god mode and more.
  • Configurable item pictures: taken from your inventory automatically, from this resource's own folder, or from any link (https/CDN or nui://), with per-item overrides.

Requirements ​

Requiredoxmysql
Framework (optional)qb-core, qbx_core or es_extended, detected automatically. Without one: standalone
Game buildany build. Cayo Perico needs sv_enforceGameBuild 2189 or newer
OneSyncrequired (it is the default on current FXServer)
Optionalox_target / qb-target, ox_lib, pma-voice (team radio), ox_inventory / qb-inventory / others (item pictures), weather sync scripts

Quick install ​

  1. Put lumo-battleroyale in your resources folder.
  2. Add ensure lumo-battleroyale to server.cfg after oxmysql and your framework.
  3. Restart the server. The stats table creates itself and the console prints [lumo-battleroyale] framework: <name>.
  4. Give yourself admin (see Install › Admin access) and walk to the Lumo Royale parachute blip at Fort Zancudo, or run /brtest to drop straight into a match against bots.

The full step-by-step guide for each framework is in Installation.

How a match runs ​

  1. Lobby: walk up to the hub (a parachute blip, gold and flashing while a queue counts down). Its big screen shows live queues, matches and the top five. At a terminal the camera moves onto the monitor and the lobby appears on it. Click to pick a mode, vote on a map and ready up. Right click, Esc or Backspace steps away. A party leader invites by server ID.
  2. Countdown: it starts once minPlayers humans are queued and shortens when the lobby is full. Bots fill up to Config.Lobby.matchSize.
  3. Warm-up: everyone spawns at the map's staging area with a pistol, next to practice targets. Deaths don't count.
  4. Aircraft: the plane flies a random line across the map. Look around with the mouse, zoom with the wheel and press F to jump. The parachute opens automatically near the ground.
  5. Circle: 6 phases, each showing the next circle and then closing on it. Damage outside the circle rises each phase. Late circles prefer named places, which keeps finals on land.
  6. Airdrops: from phase 2, a crate falls inside the next circle with a flare and high-tier loot.
  7. Down, not out (Duo/Squad): at 0 HP you're knocked and bleed out over 30 s. Teammates hold E to revive.
  8. Results: placement, kills, damage, time survived, XP and cash. Eliminated players can spectate or go back to the city, fully healed.

Keys ​

All keys can be rebound in Settings › Key Bindings › FiveM.

KeyActionKeyAction
FJump from the aircraft7 / 8Bandage / First aid or Med kit
EPick up · hold to revive9 / 0Energy drink / Painkillers
TABLoadout (drop / use)GInsert an armour plate
1–5 · wheelWeapon slots / cycleZPing a spot for your team
← / →Previous / next spectate targetMiddle clickMark a spot · double click = enemy spotted
BackspaceReturn to the city (when out)

Commands ​

CommandWhoWhat it does
/brleaveeveryoneleave the queue or the match
/bradminadminthe admin panel (also a tab in the lobby)
/brtest [mode] [map]admindrop straight into a match against bots, e.g. /brtest squad paleto
/brstart [mode]admin / consoleskip the countdown
/brstop [matchId]admin / consoleend a match (all matches without an id)
/brbots <n>admin / consolehumans + bots per match (1–100)

Command names can be changed in Config.Lobby. Config.Lobby.command = 'br' adds a command that opens the lobby anywhere.

Item pictures ​

Pictures are taken from your inventory's image folder automatically (lumo-inventory, ox_inventory, qb/ps/lj/qs-inventory, core_inventory, codem-inventory). You can also point them at this resource's own html/images/ folder or at any link:

lua
Config.Images = {
    base = 'https://cdn.example.com/items/',      -- or 'auto', 'local', 'nui://…/', false
    items = { helmet1 = 'https://cdn.example.com/br/helmet.png' },   -- per-item overrides
}

Anything missing shows a coloured lettered tile, so nothing ever looks broken. Details are in docs/CONFIG.md › Item pictures.

What each framework gets ​

QBCoreQboxESXStandalone
Cash rewards✔✔✔(XP and stats only)
Item rewards✔✔ (ox_inventory)✔—
Stats identifiercitizenidcitizenididentifierRockstar licence
Admin checkQBCore permission + ACEgroup.* ACEESX group + ACEACE
City inventory locked in a match✔✔✔—
City weapons and ammo restored after✔✔✔—
No framework death in a match✔✔✔✔
NotificationsQBCoreQboxESXox_lib or GTA feed

Vehicle keys (qb-vehiclekeys, qbx_vehiclekeys, wasabi_carlock), pma-voice team radio and weather sync (qb-weathersync, cd_easytime) are handled automatically when those resources run.

Licence and credits ​

See LICENSE.txt. UI fonts: Barlow Semi Condensed and Oxanium, SIL Open Font License 1.1 (licenses/fonts/). Made by Lumo · https://lumo-server.tebex.io/