0 Before you start: qbx_core vs qb-core

"QBCore" in 2026 means one of two things, and it's worth knowing which you're installing:

  • qbx_core (Qbox) — the actively-maintained community fork built on the ox stack (ox_lib, ox_inventory, ox_target). This is what most new servers and modern scripts target. Recommended for fresh installs.
  • qb-core (legacy) — the original QBCore framework. Still works and has a massive script library, but development moved to Qbox. Pick this only if a paid script you need is qb-core-only.

The steps below are nearly identical either way; where they differ, we note it. If you're starting clean and have no reason to pick legacy, go qbx_core.

Not sure which framework to commit to at all? Read FiveM Frameworks Explained first — it compares QBCore, ESX, vRP, and standalone before you lock in.

1 Prerequisites

You'll need four things before touching QBCore:

WhatWhy
A FiveM server (artifacts)The base server build. On Solace this is pre-installed — your server boots straight to a FiveM console.
A MySQL / MariaDB databaseQBCore stores characters, money, jobs, and inventory in SQL. No database = no QBCore.
A license key (cfx.re)Free from keymaster.fivem.net. Goes in your server.cfg as sv_licenseKey.
SFTP / file accessTo upload resources and edit configs. See our SFTP guide.

2 Step-by-step install

1

Set up the database

Create an empty database (e.g. qbcore) in your panel's database manager and note the host, username, password, and DB name. You'll wire these into the connection string later. Tools like HeidiSQL, DBeaver, or phpMyAdmin make importing the schema easy.

2

Download the framework + dependencies

Grab the latest releases from GitHub. For Qbox you want, at minimum:

  • oxmysql — the database layer
  • ox_lib — shared library every modern script depends on
  • ox_inventory — inventory system
  • ox_target — interaction targeting
  • qbx_core — the framework itself

For legacy, you want oxmysql + qb-core and the qb-* resource bundle (qb-multicharacter, qb-spawn, qb-inventory, etc.).

Always download release builds, not the raw "Code → Download ZIP." The main branch is often mid-development and won't boot cleanly. Use the tagged releases.
3

Upload to resources

Unzip and upload each resource into your server's resources folder. Strip GitHub's -main / version suffix from folder names (oxmysql-2.x.xoxmysql) — the names must match what your ensure lines reference. A common convention is to group them under a [qbx] and [standalone] bracket folder, but flat works too for a first install.

4

Import the SQL

Each framework ships a .sql schema (and oxmysql-based resources like ox_inventory have their own). Import them into the database you made in step 1 using phpMyAdmin or HeidiSQL. Skip this and the server will boot but throw "table doesn't exist" errors the moment someone joins.

5

Write your server.cfg

This is where most first-timers trip. See the full example below.

3 A working server.cfg

Here's a minimal-but-complete Qbox config. Order matters: database first, then libraries, then the framework, then everything else.

## ─── Connection ───
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
sv_maxclients 48
sv_hostname "My QBCore Server"

## ─── Database (oxmysql) ───
set mysql_connection_string "mysql://user:password@localhost/qbcore?charset=utf8mb4"

## ─── OneSync (REQUIRED) ───
set onesync on
set onesync_population true

## ─── License ───
sv_licenseKey "YOUR_KEY_FROM_KEYMASTER"

## ─── Load order ───
ensure oxmysql
ensure ox_lib
ensure ox_inventory
ensure ox_target
ensure qbx_core

## ─── your other resources below ───
# ensure your-job-script
# ensure your-hud
The #1 mistake: forgetting set onesync on. QBCore/Qbox require OneSync. Without it the server starts, then dies the instant a script tries modern player iteration — usually with a vague crash on first join.

4 First boot & common errors

"No such export oxmysql / ox_lib"

A resource loaded before its dependency. Re-check your ensure order: oxmysql and ox_lib must come before anything that uses them. This is the most common load-order error.

"[MySQL] Can't connect" / ECONNREFUSED

Your mysql_connection_string is wrong, or the DB host/port isn't reachable. Double-check the host (on shared panels it's often not localhost), the username, and that the database name actually exists.

"Table 'players' doesn't exist"

You skipped the SQL import (step 4) or imported into the wrong database. Import the schema into the same DB your connection string points at.

Server starts but kicks players instantly

Almost always OneSync being off, or a missing dependency for qbx_core (ox_lib / ox_inventory not ensured). Read the console output top-to-bottom — the first red error is the real one; the rest are usually knock-on effects.

Read errors in order. FiveM consoles spam cascading errors. The first failure is the cause; everything after it is collateral. Fix the top one, restart, repeat.

5 Adding scripts on top

Once the core boots clean, add resources one at a time — not ten at once. Drop the resource in, add its ensure line below the core, import any SQL it needs, restart, and confirm it loads before adding the next. When something breaks, you'll know exactly which script did it. For Qbox, prefer scripts advertised as "qbx"/"ox-compatible"; for legacy, look for "qb-core" support.

Skip the server.cfg headaches.

Our FiveM server.cfg generator has QBCore and ESX presets built in — pick your framework, get the full ensure list and OneSync settings in one click.

Open server.cfg generator

6 Quick recap

  1. Create an empty database.
  2. Download release builds of oxmysql, ox_lib, ox_inventory, ox_target, qbx_core.
  3. Upload them to resources with clean folder names.
  4. Import every .sql file into your database.
  5. Set the connection string, turn OneSync on, add your license key, and ensure in dependency order.
  6. Boot, read the first error, fix, repeat. Then add scripts one at a time.

Need a server to run this on?

Solace runs FiveM on high-clock dedicated CPUs with NVMe storage, DDoS protection, and pre-installed txAdmin. Live in 60 seconds.

View FiveM hosting