Make it yours

Configuration

Framework and inventory, your own overrides, keys, server.cfg settings and dispatch.

Where to make changes

Settings are in the wd_phone/config folder, one file per feature. Each value is commented in its file. Change individual values rather than rewriting whole files, then restart Wolfden Phone on a test server and confirm the result before applying it to your live server.

Most files are shared: players' games can read them. These files are server-only and never reach players, so they are where keys, prices and hidden locations live:

FileHolds
server.luaDevice IDs, PIN hashing and framework hooks
media_server.luaThe media host and its keys
calls_server.luaThe video call relay and its secrets
dispatch.luaDispatch integrations
assist_server.luaAssist AI answers
racing_server.luaRacing anti-cheat and police heat
mobile_shops_server.luaPhone store locations, prices, stock and the black-market dealer

Keys and secrets are best kept in server.cfg instead; see Settings in server.cfg.

The phone screen ships prebuilt in web/dist. You never need Node.js or a rebuild to change settings or text.

Keep your changes in config/local

Instead of editing the shipped files, you can put your changes in your own Lua files in config/local/. They load after every shared config file, in alphabetical order, so a value set there wins over the default. An update replaces the shipped config files but never your config/local/ files.

Write each change as an assignment onto the existing setting:

config/local/my_server.lua
Config.OpenRestrictions.allowWhileCuffed = true
Config.Security.maxAttempts = 3
Config.Apps.bank.preinstalled = true

Files in config/local/ are sent to every player's game. Never put API keys, secrets or anything players should not read there. Changes to the server-only files above go in config/local/server/ instead, which loads on the server only, after all of them:

config/local/server/my_server.lua
Config.MediaUpload.provider = 'self_hosted'
Config.MediaUpload.selfHostedPublicUrl = 'https://img.yourserver.com'
Config.MobileShops.catalogue.nova.price = 1500

The release ships an empty _empty.lua in each folder; leave it there.

Two exceptions: config/client.lua loads after config/local/, so edit it directly. And the list of phone items is built from Config.PhoneModels and Config.DeviceColors as config/devices.lua loads, so change models and colours in that file itself.

config/local/ is also the place for content you add yourself, such as radio streams, songs or a map image; Wolfden Phone ships without any. See Music & speakers.

Framework and inventory

Wolfden Phone runs on Qbox, QBCore or ESX, with ox_inventory on any of them or qb-inventory 2.1 or newer on QBCore. Both are picked automatically when the resource starts, so start your framework and inventory before wd_phone.

config/shared.lua
Config.Framework = {
    name = 'auto',   -- auto, qbox, qbcore or esx
    ...
}

Config.Inventory = 'auto'   -- auto, ox_inventory or qb-inventory
  • auto uses the first started of qbx_core, qb-core and es_extended, and ox_inventory when it is started, otherwise qb-inventory.
  • To force one, change the value above or add setr wd_phone:framework "esx" or setr wd_phone:inventory "qb-inventory" to server.cfg. These two use setr because players' games need to read them too.
  • ESX with ox_inventory needs Config.CustomInventory = 'ox' in your ESX config.
  • ps-inventory and lj-inventory are not supported.

phoneadmin selftest report prints which framework and inventory were selected.

ESX duty. ESX versions without on-duty tracking count every employee as on duty (esxDutyAlwaysOn = true). This matters for police features such as subscriber records and the forensic unlock. For your own rules, set the framework hooks in config/server.lua: isOnDuty, isDowned, hasDriverLicence (for Rides) and getGang (for Shade crew rooms).

Language, time and keys

lua
-- config/shared.lua
Config.Locale = 'en'          -- the language new phones start in
Config.UseRealTime = true     -- false uses GTA game time
Config.DefaultUIScale = 1.0

-- config/client.lua
Config.OpenPhoneKey = 'M'

Edit these lines in their respective files; do not paste all of them into one file. Players who already have a saved FiveM keybind may need to rebind it in their game settings.

KeyDefaultWhere to change it
Open the phoneMConfig.OpenPhoneKey in client.lua
Use the phone / walk with itLeft AltConfig.PhoneCursorToggle in client.lua
Answer / decline a callY / NConfig.CallControls in communication.lua
NovaBuds and Nova Studio noise controlUConfig.NovaPods.noiseControl.key in novapods.lua
Open AssistNot boundConfig.Assist.hotkey.key in assist.lua

Players can rebind all of them under FiveM → Settings → Key Bindings → FiveM.

The phone comes in twenty languages, chosen per phone in Settings → General → Language. All of its text can be reworded without a rebuild. See Languages and wording.

Who can use a phone?

Phones have no owner. Whoever holds a phone can use it, unless its PIN is set. The Nova Account signed in on a phone manages it: Locate, lost mode, remote erase, backups and transfer all go through the account. See Nova Account & recovery.

With several phones in the inventory, the open key shows a menu to choose one. Set Config.PhonePicker.alwaysAsk = false in client.lua to reopen the last phone used instead.

Opening restrictions

Config.OpenRestrictions in shared.lua controls when a phone can be opened:

lua
Config.OpenRestrictions = {
    allowWhileDead = false,
    allowWhileCuffed = false,
    allowWhileSwimming = true,
}

Config.Security in the same file sets PIN lengths (4 or 6 digits), how many wrong PINs are allowed (5) and the lockout that follows (60 seconds).

Settings in server.cfg

These settings go in server.cfg above ensure wd_phone. A value there replaces the one in the config file.

SettingWhat it doesGuide
setr wd_phone:framework "auto"Force a frameworkAbove
setr wd_phone:inventory "auto"Force an inventoryAbove
set wd_phone:secret "..."Your own item-signing secret (optional)Admin tools
set wd_phone:bank "auto"The banking system Nova Wallet usesWallet & payments
set wd_phone:economy "bank"How carrier, shop and repair charges are paidWallet & payments
set wd_phone:dispatch "auto"The dispatch resource alerts go toCalls & messages
set FIVEMANAGE_MEDIA_API_KEY "..."The Fivemanage key for photos and videosCamera & media hosting
set NOVA_TURN_SECRET "..."The coturn secret for video callsVideo calls
set wd_phone:assist_key "..."The API key for Assist AI answers (off by default)Everyday & social apps

For secrets and keys, always use set, never setr: setr sends the value to every player.

Dispatch integrations

Emergency calls and Services requests can also go to your police and EMS dispatch resource. Wolfden Phone detects ps-dispatch, cd_dispatch, cd_dispatch3d, qs-dispatch, rcore_dispatch, core_dispatch and lb-tablet by itself. Its settings are in the server-only config/dispatch.lua, and set wd_phone:dispatch in server.cfg chooses the resource. Emergency calls and dispatch lists every setting and what an alert contains. Other dispatch resources can connect through an export; see Exports & integrations.

Feature settings

What you want to changeFileGuide
Phone models, colours and accent coloursdevices.lua, themes.luaPhones & inventory
Phone in the hand and screen glowclient.luaPhones & inventory
Phone stores and the black-market dealermobile_shops.lua, mobile_shops_server.luaPhones & inventory
Wolfden Phone Secure: Burn Phone, Burn PIN, forensic unlock, number swap and roomssecure.luaWolfden Phone Secure
Apps, dock and widgetsapps.luaApps & appearance
Themes and wallpapersthemes.luaApps & appearance
Languagesplatform.luaApps & appearance
Face Unlock (Config.FaceId)face_id.luaNova Account & recovery
SIMs, carriers, plans and mobile datasims.lua, carriers.lua, plans.luaSIMs & carriers
Carrier shop locations and pricesshops.luaSIMs & carriers
Signal, cell towers and emergency numberssignal.lua, towers.luaSIMs & carriers
Police subscriber records and data center terminalsrecords.luaSubscriber records
Calls, group calls, messages, NovaDrop and Wolfden Phone Secure retentioncommunication.luaCalls & messages
Payphonespayphones.luaCalls & messages
Radioradio.luaCalls & messages
Video call relaycalls_server.luaVideo calls
Dispatch integrationsdispatch.luaCalls & messages
Camera, media host and gallerymedia.lua, media_server.lua, gallery.luaCamera & media hosting
Music and Bluetooth speakersmusic.lua, speakers.luaMusic & speakers
Batteries, chargers and repair shopscharging.luaBatteries & accessories
NovaBuds and Nova Studio (Config.NovaPods)novapods.luaBatteries & accessories
Wi-Fi routers, public Wi-Fi and Personal Hotspotwifi.luaBatteries & accessories
Flashlightflashlight.luaApps & appearance
Wallet, bank and chargesbanking.luaWallet & payments
Echo, Snapgram and Embersocial.lua, snapgram.lua, ember.luaEveryday & social apps
Calendar, Notes, Mail and Mapsproductivity.lua, mail.lua, maps.luaEveryday & social apps
News, Arcade and Assistnews.lua, arcade.lua, assist.lua, assist_server.luaEveryday & social apps
Jobs, services and businessesservices.lua, commerce.luaEveryday & social apps
Clips, Clips Live and the creator economyclips.lua, creators.luaClips
Shadeshade.luaShade
Racingracing.lua, racing_server.luaRacing
Rides, Bites, Garage and Homesrides.lua, bites.lua, garage.lua, homes.luaCity apps
Nova Accounts and app loginsaccounts.luaNova Account & recovery
Backups, Locate and admin toolsplatform.luaAdmin tools

All file names in the table are relative to wd_phone/config/.

Keep your settings during updates

An update replaces the shipped config files and language files. What you keep in config/local/, config/local/server/ and the two language overrides/ folders stays yours: back those folders up before every update.

If you edited shipped config files directly, merge your values into the new files instead of copying your old files over them. New releases may add settings that new features need. See Updating Wolfden Phone.

Available

Wolfden Phone

$89.99

or $19.99 a month, first 30 days free

Was this page helpful?
Made with care, by Wolfden.
© 2026 Wolfden StudiosBuilt for the stories you create.