For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration

Public runtime configuration is split between three files:

File
Scope

shared/config.lua

Framework selection, phone behavior, applications, database mappings, connectivity, camera, services, and feature limits.

shared/server_config.lua

Server-only API credentials. Never expose this file to the client.

bridge/config.lua

Framework and external-resource mappings.

Restart src-phone after changing Lua configuration.

Core phone settings

Setting
Default
Purpose

Config.Core

qb

Framework bridge: qb, qbox, esx, vrp, or standalone.

Config.PhoneOpenKey

F1

Default FiveM key mapping. Players may have an existing local override.

Config.PhonePrefix

555-

Prefix used when assigning phone numbers.

Config.PhoneNumberLength

4

Random digits appended after the prefix.

Config.MailDomain

@sourcedevpro

Domain appended to generated mail addresses.

Config.DefaultWallpaper

URL

Default wallpaper for a new profile.

Config.DefaultBrightness

80

Initial brightness percentage.

Config.WeatherUnit

C

C or F.

Config.WeatherLocation

Los Santos

Home weather widget label.

Changing phone-number rules affects newly generated numbers. Existing values in src_phone_data are not rewritten automatically.

Application availability

Config.Apps is the server-wide allowlist for built-in applications:

Setting an application to false removes it from the home screen and App Store. This does not delete its database data. Re-enabling the application restores access to existing records.

Do not add a custom application ID to this table. External applications register through the registerApp export.

Database mappings

Config.Database maps phone queries to your schema. The bundled install.sql already matches the defaults.

Only change these values when integrating an existing custom schema:

  • Config.Database.PhoneData

  • Config.Database.Contacts

  • Config.Database.Mail

  • Config.Database.Messages

Column mappings must be changed consistently. For example, changing only the contacts table name while leaving incompatible column names will allow the query to run but return invalid records.

Garage and valet

Config.Garage.Valet controls whether the phone can deliver a stored vehicle:

Setting
Purpose

Enabled

Enables the valet action.

Price

Amount charged before spawn.

Account

Framework money account, normally bank.

SpawnRadius

Search radius for a valid spawn position.

DriveSpeed

Valet driving speed.

DriverPedModel

Ped model used by the valet.

Timeout

Delivery timeout in milliseconds.

BlacklistedModels

Vehicles that cannot be delivered.

BlacklistedZones

Zone flags used to prevent delivery.

The SQL table and state mappings are configured separately under BridgeConfig.Garage.SQL.

Phone prop

Config.PhoneProp controls the model attached to the player:

The model must be streamed and available before testing offsets. Adjust one axis at a time and restart the resource after changing the model.

Wi-Fi routers

Config.Router controls placeable routers and metered Wi-Fi:

  • Enabled: enables placement and router UI.

  • InternetUsageEnabled: enables quota enforcement.

  • Command: placement command, default setrouter.

  • RequiredItem, ItemAmount, ConsumeItem: inventory cost.

  • PropModel, FallbackPropModels: placement object selection.

  • Range: usable Wi-Fi radius.

  • Network-name, password, and admin-password length rules.

  • Login attempt and lockout limits.

  • Initial data quota and purchasable packages.

  • Per-action and active-stream usage costs.

UsageCostsMb.music and active-stream accounting can consume quota quickly. Test the configured values with the server's expected session length before release.

Cellular data

Config.Cellular provides a player-owned fallback connection when Wi-Fi is unavailable:

  • Initial plan name, quota, and validity.

  • Money account used for purchases.

  • Available packages.

  • Per-action and streaming usage costs.

  • Usage tick, flush, and rate-limit values.

When both systems are enabled, the web layer attempts authorized Wi-Fi first and cellular data second.

Feature-specific sections

Section
Controls

Config.CryptoWallet

Tokens, fallback prices, bank account, refresh interval, and fees.

Config.Camera.Selfie

Selfie camera offset, rotation, and FOV limits.

Config.News

Jobs allowed to publish and valid categories.

Config.YellowPages

Listing categories.

Config.Services

Service IDs, jobs, labels, icons, and colors.

Config.VoiceMemos

Duration, item count, and payload-size limits.

Bridge configuration

Garage

Select the external garage, key, and fuel resources and verify the SQL mapping. FuelSystem = 'auto' uses bridge detection; use an explicit integration when detection is ambiguous.

Calls

The default is:

Other listed bridge targets require a compatible implementation in the call bridge. A name in the config is not sufficient if the target resource API differs from the bridge code.

Services

BridgeConfig.Services maps character and job columns for ESX, QB/QBox, and vRP service-directory lookups.

Configuration change checklist

  1. Confirm the value type and accepted range.

  2. Check whether the setting belongs in shared config, server-only config, or bridge config.

  3. Back up the changed file.

  4. Restart src-phone.

  5. Check server and client consoles.

  6. Test with a new character and an existing character.

  7. Test the affected feature with two players when it involves calls, messages, or sharing.

Last updated