1 What is a "framework," anyway?
A FiveM framework is a base layer of resources that handle the boring-but-essential stuff every roleplay server needs: characters, money, jobs, inventories, deaths, jails, vehicles, garages, basic permissions. Without a framework, you're writing all of that yourself.
Think of it like Express vs raw Node, or Rails vs raw Ruby. Standalone is "I'll do it myself." A framework is "I'll start with the wheel pre-invented."
Frameworks are not the game mode itself — they're scaffolding. You still pick (or write) jobs, scripts, MLOs, and UIs on top of them.
2 The four main options
QBCore
Modern, actively maintained, huge community library.
- Well-documented Lua API
- Most paid + free scripts target it
- Built-in metadata system
- Phone, banking, jobs included
ESX (Legacy)
The OG. Massive existing ecosystem, slightly older patterns.
- Tons of legacy scripts
- Simpler, more linear API
- Best if you're already on ESX
vRP
Server-side first. Heavier, slower to learn, very moddable.
- Lua + LuaJIT bindings
- Smaller resource catalog
- Common on EU/RU servers
Standalone
Roll your own. Maximum control, maximum work.
- No framework deps
- Use ox_lib + ox_inventory
- Need a real developer
3 Side-by-side comparison
| QBCore | ESX Legacy | vRP | Standalone | |
|---|---|---|---|---|
| Active development | Yes | Slow but alive | Forks active | You |
| Free script availability | Huge | Huge (older) | Smaller | None — DIY |
| Paid script availability | Most marketplaces | Most marketplaces | Limited | Whatever you write |
| Learning curve | Medium | Easy | Steep | Requires JS/Lua skills |
| Built-in phone | qb-phone (yes) | Add-on (gksphone, etc.) | No | No |
| Built-in banking / job system | Yes | Yes | Partial | No |
| OneSync required | Yes | Yes (Legacy) | Recommended | Recommended |
| DB engine | oxmysql / MySQL | oxmysql / MySQL | oxmysql or ghmattimysql | Whatever you want |
| Best for | New RP servers | Existing ESX servers | Server-heavy custom RP | Devs with a vision |
4 When to pick what
Pick QBCore if…
- You're starting a brand-new server in 2026.
- You want the largest pool of compatible free + paid scripts.
- You plan to use modern UIs (phone, HUD, banking) without coding them.
- You want active community support — Discords, GitHub, docs.
Pick ESX Legacy if…
- You inherited an existing ESX server and porting would be a nightmare.
- Your team already knows the ESX API.
- You like the slightly more procedural, less-event-soup pattern.
- You're using a specific paid script that's ESX-only.
Pick vRP if…
- You're targeting an EU/Russian RP scene where vRP is dominant.
- You want server-side-heavy logic for anti-cheat reasons.
- You're comfortable building most of your own resources.
Pick standalone if…
- You have a developer on the project — not just a server admin.
- Your concept doesn't fit the RP-server mould (drift, racing, sandbox).
- You want full control over performance, security, and feel.
- You're using
ox_coreas a near-framework starting point.
5 How frameworks affect your server.cfg
Each framework expects certain core resources to be loaded in a specific order. Here's what each adds to your ensure list:
QBCore essentials
ensure oxmysql ensure qb-core ensure qb-multicharacter ensure qb-spawn ensure qb-apartments ensure qb-clothing ensure qb-input ensure qb-inventory # or ox_inventory ensure qb-target # or ox_target ensure qb-menu ensure qb-hud ensure qb-phone ensure qb-banking ensure qb-policejob ensure qb-ambulancejob
ESX Legacy essentials
ensure oxmysql ensure es_extended ensure esx_menu_default ensure esx_menu_dialog ensure esx_menu_list ensure skinchanger ensure esx_skin ensure esx_status ensure esx_basicneeds ensure esx_society ensure esx_addonaccount ensure esx_billing ensure esx_addoninventory ensure esx_jobs ensure esx_license ensure esx_identity
Standalone essentials (ox-flavored)
ensure oxmysql ensure ox_lib ensure ox_inventory ensure ox_target ensure ox_doorlock # ... your custom resources here ...
Skip the typing.
Our FiveM server.cfg generator has framework presets built in — pick QBCore or ESX, get the full ensure list in one click.
6 Common mistakes
Mixing framework patterns
Don't try to run QBCore and ESX side-by-side. Their identifier systems, money handlers, and player metadata schemas don't agree. Pick one and commit.
Forgetting OneSync
QBCore and ESX Legacy both require OneSync (set onesync on in your cfg). If you skip this, your server will start but die the moment a script tries to use modern player iteration.
Loading order
Framework cores must load before scripts that depend on them. Always:
- Database layer (
oxmysql) - Framework core (
qb-core/es_extended) - Libraries (
ox_lib,qb-input) - Inventory (
qb-inventory/ox_inventory) - Game scripts (jobs, phones, HUD)
Not using oxmysql
The old mysql-async resource is unmaintained. oxmysql is faster, async-correct, and what every modern script targets.
7 Switching frameworks later
Short answer: it's painful. Long answer: characters, jobs, inventories, and money are all stored differently across frameworks. There's no clean migration tool — you'll either accept a wipe or write a custom converter for your DB. Pick carefully now to avoid this later.
8 Where to go next
Once you've picked a framework, the typical setup order is:
- Spin up a server (Solace can do this in 60 seconds).
- Generate a clean server.cfg with the framework preset.
- Drop the framework's resources into
resources/[framework]/. - Import the framework's SQL schema via your panel's database manager.
- Start the server, fix the inevitable missing-convar errors, and iterate.
Need a server to host this on?
Solace runs FiveM on overclocked Ryzen 7950X3D hardware with NVMe storage and DDoS protection. Pre-installed txAdmin. From $8/mo.