Framework
config.lua
'auto' detects frameworks in this order: qbx_core → qb-core → es_extended.
Set it explicitly to skip detection:
Branding
config.lua
html/img/ and point LogoImage at it. If left blank, the selector
displays ServerName and ServerTag as text instead.
config.lua
Primary colour
config.lua
server.cfg
config.lua if both are set.
Slots
config.lua
config_slots.lua. See Slot system below.
Appearance resource
config.lua
First character event (QB / QBX)
config.lua
Config.StartingApartment = false.
Spawn resource
config.lua
Config.NewPlayerNoApartmentStartCoords or the apartment resource - this setting does
not affect them.
- QBX / QBCore
- ESX
client/spawn.lua - it contains
instructions at the top and is the only file you need to change.
Custom spawn handler
config.lua
Config.SpawnResource = 'custom'.
Logout command
config.lua
/logout returns a player to the character select screen. Set false to disable the
command for everyone.
Cinematic intro
config.lua
MP_INTRO_CONCAT cutscene plays (the plane landing) using the player’s own appearance,
then hands off to the spawn script. Only runs when Config.StartingApartment = false.
Starter items
config.lua
ox_inventory or the framework’s native inventory - item names must exist in your item list
or they’re silently skipped.
Music player
config.lua
Starting apartment
config.lua
true, new characters are handed off to your apartment or housing resource on first spawn
instead of dropping at a fixed set of coords. The resource checks which housing script is running
and triggers it automatically.
- QBX / QBCore
- ESX
Supported:
ps-housing, qbx_properties, qbx_apartments, qb-apartments,
bcs_housing, 0r-apartment, okokSpawnSelector, vms_spawnselectorQBX setup for (
qbx_properties (or any qbx apartment script). In qbx_core/config/client.lua,
turn off qbx’s own starter apartment so it doesn’t run alongside awoken:qbx_core/config/client.lua
useExternalCharacters = true should also be set, which disables qbx’s built-in character
management - required for any external multicharacter resource.)Then set Config.StartingApartment = true here. awoken closes the character selector, hands the
new character to your apartment script, and re-shows the ped for clothing customisation. With
both set this way there’s no double apartment/skin screen and the ped is visible in the editor.server/apartments.lua - it
contains instructions at the top.
If none of those are running (or StartingApartment = false), the player spawns at:
config.lua
Delete button
config.lua
false hides the delete button for everyone by default. You can still grant delete access
to specific players or Discord roles in config_slots.lua without exposing it globally.
Custom HUD hook
config.lua
true) or closes (false). Use this to hide or
show your server HUD while the selector is on screen.
Scenarios
Scenarios are the background scenes players cycle through on the selector screen.config.lua
config.lua
Use either
pedScenario or pedAnim, not both. If neither is set the ped stands idle.
Valid weather strings: CLEAR, EXTRASUNNY, CLOUDS, OVERCAST, RAIN, THUNDER, FOGGY, SNOWLIGHT, BLIZZARD
Scene Creator
Settings live in their own file,config_scenecreator.lua. The command is fixed as
/scenecreator - see the Commands page for usage and the helper keybinds.
config_scenecreator.lua
Slot system
Slot counts resolve in this order: per-license override → Discord role →Config.DefaultSlots
Per-license overrides
config_slots.lua
Discord role slots
config_slots.lua
totalSlots wins. The bot needs
Server Members Intent enabled in the Discord Developer Portal - without it role fetches
will silently fail and everyone gets Config.DefaultSlots.
Role data is cached when the player connects. A reconnect is required for slot changes to take effect.
Delete access
Grant delete access to specific players whenConfig.EnableDeleteButton = false:
config_slots.lua
Webhooks
config.lua
'' to disable that webhook.
Debug
config.lua