How to install a QBox server: recipe, stack and first errors
Install QBox on FiveM with the txAdmin recipe: the qbx_core, ox_lib, ox_inventory, oxmysql and ox_target stack, how it differs from QBCore, and the common first errors.
You want a QBox server and you want to know what is in the stack, how to install it and how it differs from QBCore. This guide gives you the recipe route, the pieces that make up QBox, the differences to watch, and the first errors that people hit.
Install with the txAdmin recipe
QBox is made to be installed with a txAdmin recipe. In txAdmin's setup, choose the QBox template in the popular recipes (or paste the recipe URL from the QBox project's documentation). The steps are the same as in txAdmin setup and recipes: license key, database credentials, then review server.cfg and start.
Always take the recipe from the QBox project itself. Its list of resources changes as the project grows, and the recipe stays current.
The QBox stack
QBox is a set of resources built around Overextended's libraries. The base pieces:
| Resource | Role |
|---|---|
oxmysql |
Database access |
ox_lib |
Library: callbacks, notifications, menus, zones, UI |
qbx_core |
The framework: players, jobs, gangs, characters |
ox_inventory |
Inventory, items, stashes and shops |
ox_target |
Third eye interaction |
On top of these, the recipe adds the qbx_ resources for jobs, vehicles, housing and so on, plus standalone resources such as voice.
A manual server.cfg looks like this:
set mysql_connection_string "mysql://user:password@localhost/qbox?charset=utf8mb4"
ensure oxmysql
ensure ox_lib
ensure qbx_core
ensure ox_inventory
ensure ox_target
ensure [qbx]
ensure [standalone]The recipe writes the exact list for the version it installs, so treat this as the shape, not the content. Order matters: see server.cfg ensure order.
What differs from QBCore
- Core name. The framework is
qbx_core. There is noqb-corefolder, and you must not keep one next to it. - Inventory. QBox uses ox_inventory. Items are defined for ox_inventory, not in the qb shared items file. See ox_inventory add items.
- Libraries instead of helpers. Callbacks, notifications, context menus and progress bars come from ox_lib. See callbacks on ESX, QBCore and ox_lib and notifications and progress bars.
- Targeting. ox_target is the target resource: ox_target add zone. The differences with the QBCore target are in qb-target vs ox-target.
- Exports. QBox has its own exports, for example on the server:
local player = exports.qbx_core:GetPlayer(source)
if player then
print(player.PlayerData.citizenid)
endThe QBCore way exports['qb-core']:GetCoreObject() still answers through the compatibility layer, which is why many QBCore scripts work. For a full conversion, see convert a QBCore script to QBox.
First checks
Start the server and read the console before you join:
- oxmysql connects.
- ox_lib and qbx_core start with no errors.
- ox_inventory starts. It has its own checks at startup and reports problems clearly, so read what it prints.
- You can join, create a character and spawn.
- Your inventory opens with the key the recipe configured.
For admin rights, QBox uses ACE principals in server.cfg, the same way as other frameworks. See ACE permissions.
Common first errors
A QBCore script cannot find the core. If the compatibility layer is not active, or qbx_core failed to start, you get:
No such export GetCoreObject in resource qb-coreCheck that qbx_core started without errors, and that no stale qb-core folder exists. See QBCore nil: the GetCoreObject fix.
ox_lib not loaded. A script that calls lib before ox_lib starts fails. Put ensure ox_lib near the top and add @ox_lib/init.lua to the script's manifest. See ox_lib init.lua not found.
Database errors. Wrong connection string, or the database was not created. See oxmysql connection error.
Two inventories. Running qb-inventory alongside ox_inventory causes duplicated and broken items. Keep only ox_inventory.
Resource not starting. Could not find dependency tells you what is missing.
Checklist
| Symptom | Fix |
|---|---|
No such export GetCoreObject in resource qb-core |
Start qbx_core first, remove any old qb-core folder |
Script says lib is nil |
ensure ox_lib earlier and load @ox_lib/init.lua in the manifest |
| Items missing or doubled | Use only ox_inventory and define items for it |
| Cannot connect to database | Check mysql_connection_string and that the database exists |
| QBCore script misbehaves | Check whether it relies on qb-inventory or other qb internals |
| Not admin | Add your identifier with add_principal and restart |
Quick answers
Is QBox compatible with QBCore scripts?
Mostly. qbx_core keeps a compatibility layer, so exports['qb-core']:GetCoreObject() still works and many QBCore scripts run unchanged. Scripts that depend on qb-inventory or other qb internals may need changes.
Do I need ox_inventory on QBox?
Yes, the QBox stack is built around ox_inventory, with ox_lib and ox_target. Do not run qb-inventory next to it.
Can I install QBox without txAdmin?
Yes, but the txAdmin recipe is the supported route because it downloads the matching resources and writes server.cfg. A manual install follows the same order but needs more checking.
Scripts that skip this problem
Item Creator V2Create usable items with animations, props, effects and more β without writing code.View script β
Shop CreatorBuild a shop in under a minute β owners, employees, vaults and robberies included.View script β
Mic PhoneA foldable phone that unfolds into a tablet and carries onto a player's real phone.View script β