Skip to content

Installation — lumo-spawn ​

Pick your framework and follow only that section, then run the test checklist.

Back up first: your database and the spawn resource you are replacing.


QBCore ​

  1. Copy lumo-spawn into resources/.
  2. Stop qb-spawn (move it out of [qb], see Disabling a resource). Do not run both: this resource declares provide 'qb-spawn'.
  3. server.cfg:
    cfg
    ensure oxmysql
    ensure qb-core
    ensure lumo-spawn
    ensure [qb]                 # includes qb-multicharacter / qb-apartments
    lumo-spawn must start before the character script.
  4. Restart. Console: [lumo-spawn] ready — framework: qb.

Qbox (qbx_core) ​

  1. Copy lumo-spawn into resources/.
  2. Move the real qbx_spawn out of [qbx] (see Disabling a resource).
  3. Choose:
    • With lumo-multicharacter (useExternalCharacters = true): nothing else.
    • Keeping Qbox's own character selection: also copy [compat]/qbx_spawn (next to lumo-spawn in the download) into your resources folder. It is an empty marker: qbx_core only hands over to a resource named qbx_spawn. Its README explains why. Not needed? Leave [compat] out.
  4. server.cfg:
    cfg
    ensure ox_lib
    ensure [qbx]
    ensure qbx_spawn            # only the marker, only if you kept Qbox's selection
    ensure lumo-spawn
  5. Restart. Console: [lumo-spawn] ready — framework: qbx. If it says qb, set Framework = 'qbx' in bridge/config.lua.

qbx_properties apartments are offered in the houses list when you own one.

ESX (es_extended) ​

  1. Copy lumo-spawn into resources/.
  2. server.cfg:
    cfg
    ensure oxmysql
    ensure es_extended
    ensure lumo-spawn
    ensure lumo-multicharacter  # or a character script that fires qb-spawn:client:setupSpawns
  3. Restart. Console: [lumo-spawn] ready — framework: esx.

Stock esx_multicharacter does not open a spawn selector; pair this with lumo-multicharacter (or any script that fires the stock qb-spawn events).

  • Properties: owned esx_property properties show in the map and spawn you at the front door. Both the ESX Legacy version (properties.json) and the older table version (owned_properties) work. Characters with no property see only public spawns and their last location.
  • Apartments: ESX has no apartment system, so that tab stays hidden.
  • After the spawn, the saved skin is applied and ESX's spawn events fire (esx:onPlayerSpawn, playerSpawned, esx:restoreLoadout), like esx_multicharacter does.
  • Supported: ESX Legacy 1.6 and newer, including the current release.

Standalone (no framework) ​

  1. Copy lumo-spawn into resources/.
  2. server.cfg:
    cfg
    ensure oxmysql
    ensure ox_lib               # optional
    ensure lumo-spawn
    ensure lumo-multicharacter  # optional
    
    add_principal identifier.license:YOUR_LICENSE group.admin   # /spawneditor
  3. Restart. Console: [lumo-spawn] ready — framework: standalone.

Without lumo-multicharacter the map opens as soon as the player joins (Config.Standalone.OpenOnJoin), and their last location is remembered per Rockstar licence. With it, the map opens after a character is picked and the last location is per character. See Standalone.

Disabling a resource inside a category ​

ensure [qb] / ensure [qbx] start everything in that folder, so deleting a line does nothing. Move the old resource to a category nothing ensures:

resources/
  [qbx]/
  [disabled]/          <- create this
    qbx_spawn/         <- move it here

Database ​

spawn_locations is created automatically and filled from QB.Spawns on first start (sql/install.sql if you prefer importing by hand). After that, the database wins over the config: edit with /spawneditor.

Coming from a build that used qb_spawn_locations: run sql/migrate-qb_spawn_locations.sql once. It renames the table and keeps every saved point.

Moving from the lumo-bridge edition ​

  1. Replace the whole lumo-spawn folder (do not merge).
  2. Move any changes you made in lumo-bridge/config.lua into lumo-spawn/bridge/config.lua.
  3. lumo-bridge is no longer needed by this script. Keep it only if other Lumo resources still list it.
  4. The Qbox marker now ships as [compat]/qbx_spawn, next to lumo-spawn.
  5. No database changes.

Test checklist ​

  • [ ] After picking a character, the spawn map opens and responds to the mouse
  • [ ] Every configured location spawns you in the right place
  • [ ] Reconnect: "Last location" puts you where you logged off
  • [ ] Owned house / apartment spawn, if you run a housing script
  • [ ] /spawneditor works for an admin and is refused for a normal player
  • [ ] Editor changes survive a restart