Skip to Content

Config

Everything you can change to tailor Nexus Spawn Selector to your server.

All of the configuration lives in the shared/ folder and is escrow-ignored, so you can edit it freely.

FileWhat’s in it
shared/config.luaCore settings, spawn locations, housing integration, UI text
shared/theme.luaUI color theme and glass surface tokens
shared/locales.luaTranslatable UI strings

Core settings

shared/config.lua
Config.Framework = 'auto' -- auto | qb | qbx | esx Config.Locale = 'en' -- Active language from shared/locales.lua Config.UseOnlyLastLocation = false -- When true, only the "Last Location" option shows
KeyTypeDefaultWhat it does
Frameworkstring'auto'Detect automatically or force qb, qbx, or esx.
Localestring'en'Active language key from shared/locales.lua.
UseOnlyLastLocationbooleanfalseWhen true, only the “Last Location” entry is shown. All preset spawn locations are hidden.

Spawn locations

The list of spawn points players can pick from. Add or remove entries to fit your server.

shared/config.lua
Config.SpawnLocations = { { id = 'main_garage', name = 'City Main Garage', subtitle = 'Spawn at the main garage', image = '', icon = '', position = vector3(-284.1161, -894.7496, 31.0806), }, { id = 'police_garage', name = 'Police Garage', subtitle = 'Spawn at the police garage', image = '', icon = '', jobs = { 'police' }, position = vector3(408.1850, -1016.9625, 29.3727), }, }
KeyTypeWhat it does
idstringUnique identifier for this spawn point.
namestringTitle shown in the UI.
subtitlestringDescription shown under the title.
imagestringPreview image URL or local path. Optional.
iconstringSmall badge icon URL or local path. Optional.
positionvector3World coordinates the player spawns at.
jobstableOptional. Restrict this spawn point to specific jobs. See below.

Job gating

You can lock a spawn point to a single job, a list of jobs, or jobs with a minimum grade. Pick whichever form fits.

Any of these jobs can use the spawn:

jobs = { 'police', 'sheriff' }

Job with minimum grade required:

jobs = { police = 0, sheriff = 2 }

Players whose job doesn’t match won’t see the spawn point in their list. Omit the jobs field entirely for a public spawn.

Last location option

A built-in entry that spawns the player at the exact spot they were when they last logged out.

shared/config.lua
Config.LastLocationConfig = { id = 'last_location', name = 'Last Location', subtitle = 'Spawn at your last location', image = '', icon = '', }
KeyTypeWhat it does
idstringStable identifier. Leave as 'last_location' unless you have a reason to change it.
namestringTitle shown in the UI.
subtitlestringDescription shown under the title.
imagestringPreview image URL or local path. Optional.
iconstringSmall badge icon URL or local path. Optional.

Housing integration

If you run a housing or property script, players can spawn at their owned property. Toggle it on and point it at the right resource.

shared/config.lua
Config.UseHousing = { enable = false, icon = '', image = '', subtitle = 'Spawn at your property', Housing_script = 'qbx_properties', }
KeyTypeWhat it does
enablebooleanMaster switch for the property option.
iconstringBadge icon URL or local path. Optional.
imagestringPreview image URL or local path. Optional.
subtitlestringDescription shown under the title.
Housing_scriptstringWhich housing resource to integrate with.

Supported Housing_script values:

  • qbx_properties
  • qb-apartments
  • qs-housing
  • 0r-apartments
  • ps-housing

The property option only appears when the player actually owns a property in the chosen script. Players without one won’t see the entry.

UI text

Surface labels for the selector screen.

shared/config.lua
Config.UI = { showImage = true, title = 'Spawn Locations', subtitle = 'Choose your spawn location', spawnLabel = 'Spawn Now', }
KeyTypeDefaultWhat it does
showImagebooleantrueShow or hide preview images on each spawn entry.
titlestring'Spawn Locations'Heading at the top of the menu.
subtitlestring'Choose your spawn location'Sub-heading under the title.
spawnLabelstring'Spawn Now'Text on the confirm button.

Theme colors

UI colors live in a separate file. Hex values for solid colors, rgba() for the glass surfaces.

shared/theme.lua
Theme = { textPrimary = '#FFFFFF', textMuted = '#AFAFAF', accent = '#2389FD', accentDark = '#042A71', glassBgTop = 'rgba(255, 255, 255, 0)', glassBgBottom = 'rgba(255, 255, 255, 0.15)', glassBorder = 'rgba(255, 255, 255, 0.2)', glassBorderSubtle = 'rgba(255, 255, 255, 0.1)', glassBorderHover = 'rgba(255, 255, 255, 0.3)', glassBorderFocus = 'rgba(255, 255, 255, 0.4)', glassShadow = 'rgba(0, 0, 0, 0.25)', vignetteColor = '#0E0E0E', badgeFill = '#010101', badgeIcon = '#FAFAFA', }
KeyWhat it controls
textPrimaryDefault text color.
textMutedSecondary text (subtitles, helper labels).
accentPrimary brand color (focus, selected state, spawn button).
accentDarkDeeper accent for shadows and gradients.
glassBgTop / glassBgBottomTop and bottom of the glass card background gradient.
glassBorder*Glass panel border in the various interaction states.
glassShadowDrop shadow behind glass panels.
vignetteColorThe dark vignette around the screen edges.
badgeFill / badgeIconBackground and icon color of the small badges.

Languages and translations

All UI strings are in shared/locales.lua under language tables. The default is Locales.en.

To add another language:

  1. Open shared/locales.lua and copy the Locales['en'] = { ... } block.
  2. Rename it (for example Locales['de']) and translate the values.
  3. In shared/config.lua, set Config.Locale = 'de'.

Need help?

Stuck on a setting or want a feature exposed? Hop into our Discord .

Last updated on