Pulse Phone docs

Installation details

1. Quick install

Before you copy anything

Use a server artifact that meets the requirements below, OneSync enabled, and game build 2699 or newer. For a normal roleplay server, have your framework, inventory, oxmysql, voice resource and screenshot-basic working first. Standalone also works without a framework; inventory items are optional there.

Download the resource from your Cfx.re account after claiming the purchase. Use the server key belonging to the account that owns the asset. If Cfx.re reports an entitlement error, fix the account/key association; changing phone settings cannot grant the entitlement.

Step 1 — Put the resource in your server

Extract the package and copy the phone resource folder, containing fxmanifest.lua, into your server's resources directory. Do not rename it and do not put the outer ZIP/package folder in its place.

Stop your previous phone resource before testing Pulse so two phones do not compete for the same key and item. Back up its data if you plan to import it later.

Step 2 — Add your inventory items

Choose your existing inventory; you do not need to replace it.

Your inventory Required action
ox_inventory Open the supplied config/items/ox_inventory.lua. Merge its entries into ox_inventory/data/items.lua, inside the existing table. Do not replace the inventory's whole file. Replace an existing phone entry with Pulse's entry so there is only one. Copy pictures from config/items/images/ into ox_inventory/web/images/. Restart the server after editing.
qb-inventory with QBCore Missing item definitions are registered automatically at startup. Copy config/items/images/ into qb-inventory/html/images/. If your inventory requires permanent shared entries, the supplied config/items/qb-core.lua is ready to merge into qb-core/shared/items.lua.
ESX default inventory Missing items are added automatically. If the console asks for a restart, restart once so ESX reads them. If your database account cannot add them, use config/items/esx.sql.
qs-inventory or another supported inventory Follow the short row for your inventory in Items and inventories. Use its own item list and image folder.
Standalone without an inventory No inventory entries needed. Leave item requirements off.

The start-up check identifies missing entries and prints only the definitions you still need. An inventory that loads item definitions at startup, such as ox_inventory, needs the entries above; Pulse does not overwrite another resource's files.

Step 3 — Check the main configuration

Open config/config.lua. The defaults detect your existing setup:

Lua
Config.Framework = 'auto'

Leave inventory = 'auto' in the existing Config.Providers table. If you run several inventory resources, set that value to the inventory you intend to use, such as 'ox_inventory'. Do not add a second Config.Providers or Config.Item table at the bottom of the file.

In the existing Config.Item table choose how phones work:

Setting What it does
required = false, unique = false Each character has a phone without carrying an item. Useful for your first test.
required = true, unique = false The character needs a phone item to open their own phone. Giving that item away does not transfer their data.
unique = true Each phone item has its own number and data. Passing the item transfers that handset. Requires ox_inventory, qb-inventory, qs-inventory, core_inventory or codem-inventory.
name = 'phone' Inventory item name. Keep this unless you also change the supplied item definition.

Unique phones follow the selected inventory bridge. Leave Config.Item.inventory = 'auto'; this older override is only for existing advanced installations. Config.Providers.inventory takes priority when explicitly set.

Do not change Config.IdentityScope on an existing server. The default, 'character', keeps different characters' phones separate.

Step 4 — Start dependencies before Pulse

Keep your existing database connection and framework settings. Add only missing lines; do not start a second copy of any dependency.

Use this order with the resources already installed on your server:

  1. Database resource and its existing connection settings.
  2. Framework and its required libraries, identity and character resources.
  3. Inventory, using that inventory's configuration for your framework.
  4. One supported voice resource and screenshot-basic.
  5. ensure phone.

Do not install ESX, QBCore or a different inventory just for Pulse. Choose your existing setup in Your framework for its specific start-order example. Qbox is detected as Qbox even when another resource uses its QBCore-compatible exports.

For Pulse administrator access, add add_ace group.admin phone.admin allow. Your administrator account must already belong to group.admin for that permission to apply.

Step 5 — Read the first-start check

Restart the server. Pulse prints a startup report and creates its database tables automatically when the SQL connection is available.

  • FIX / FAIL: a required part cannot work. Follow the corrective line before letting players use it.
  • NOTE / WARN: read which feature is affected; some warnings describe optional features you have not configured.
  • Run phone:health in the server console to repeat the check.
  • Run phone:diag to see the chosen framework/inventory/providers.
  • As an admin, join, open F8 and run phone:setup for the existing guided setup.

Settings saved in the in-game admin setup override the corresponding file settings. If a file change seems ignored, check Settings → Server and reset that saved override before changing more files.

Step 6 — Test as a player

  1. Load a character, press F1, and complete phone setup. If item requirements are enabled, buy a phone from the shop or give the character the configured phone item first.
  2. If you purchased a sealed box, use the box from inventory to unbox it. Switch on the handset and finish setup.
  3. Open Messages, Contacts and Phone. Return Home, open the app switcher and close each app in sequence.
  4. Take a photo and a short video. Open both in Photos, close and reopen the phone, and confirm they remain.
  5. Reconnect and check that the same character still has the same phone. Test calls with a second player using your installed voice resource.

Where to change things

What you want to change File or place
Framework, inventory provider, phone item, shop, models, key binding config/config.lua
Voice provider config/config.lua
App and service/job settings config/apps.lua
Inventory entries and images config/items/
Database connection, resource start order, media host credentials server.cfg (keep private credentials server-side)
Developer integrations developers/ documentation and the existing bridge/ files; normal installation does not require editing these
Player photos/videos using built-in storage media/; preserve this folder when updating

The sections below contain the detailed reference. You do not need to read every feature setting to finish the first installation.