Installation
- Download the latest release from your Cfx Portal and extract the archive into your server's
resourcesdirectory. You should have a folder calledamzn_smartphoneinside yourresourcesdirectory. - Import
phone.sqlinto your database. - Add
ensure amzn_smartphoneto yourserver.cfgafter your framework, inventory, and voice resources. - Configure
config.luaandconfig_s.lua(see Configuration). - Add a
phoneitem to your inventory framework (or changeConfig.PhoneItem.Itemto match your existing item name). - Restart your server and open the phone in-game by giving yourself the
phoneitem and using the default key (M) or by using the phone item.
Example `ox_inventory` phone item
If you are using ox_inventory, you must add a phone item to your data/items.lua file.
Here is a minimal example you can copy-paste:
['phone'] = {
label = 'Phone',
weight = 200,
stack = false,
close = true,
description = 'Smartphone'
},- Make sure
Config.PhoneItem.Item = 'phone'in your phone config (or change the name here to match what you use). - Restart your server after editing
items.lua. - Optionally, customize fields such as
weight,label, ordescriptionas needed.
Requirements
- Up to date FiveM server artifact recommended: 25770 or newer
- MariaDB database (via oxmysql)
- OneSync enabled
- ox_lib
- oxmysql
- pma-voice (voice calls)
- FiveManage account and API key (camera, gallery, voicemails, Tweeder/Hagglr photo uploads)
Supported frameworks
919PHONE auto-detects your framework on startup:
| Framework | Detection |
|---|---|
| QBX | qbx_core |
| QBCore | qb-core |
| ESX | es_extended |
| Standalone | fallback when none of the above are running |
Supported inventories
| Inventory | Detection |
|---|---|
| ox_inventory | ox_inventory |
| qs-inventory | qs-inventory |
| origen_inventory | origen_inventory |
| codem-inventory | codem-inventory |
| tgiann-inventory | tgiann-inventory |
| ps-inventory | ps-inventory |
| Framework default | falls back to QB / ESX inventory when no dedicated inventory is detected |
Example server.cfg
ensure ox_lib
ensure oxmysql
ensure pma-voice
# framework + inventory resources
ensure qbx_core
ensure ox_inventory
ensure amzn_smartphoneFiveManage setup
Photos, camera uploads, and image attachments in Tweeder/Hagglr require FiveManage:
- Create a project at fivemanage.com and copy your API key.
- Open
config_s.luaand setConfig.FiveManage.ApiKeyto your key. - Never commit or share this key -
config_s.luais server-only and does not get sent to clients.
Verifying the install
On server start you should see a console line similar to:
[amzn_smartphone] Framework: qbx | Inventory: ox
Phone item registeredOpen the phone in-game. A new character receives a unique phone number automatically on first open.
Editable files
The following paths are not escrowed and are intended for server-side customization:
| Path | Purpose |
|---|---|
modules_editable/bridge/ |
Framework, inventory, money, and integration hooks |
modules_editable/phone_item/ |
Usable phone item registration |
config.lua |
Shared configuration |
config_s.lua |
Server-only secrets (FiveManage API key) |
locale.json |
All in-game UI strings |
All other Lua in modules/ is escrow-protected.