ox_core Framework Overview
ox_core is the framework from Overextended ,
the team behind ox_lib, ox_inventory, ox_target and oxmysql. It is built
around OneSync, statebags and server-side entities from the ground up rather than
retrofitted onto them.
Current state
| Core resource | ox_core |
| Repository | overextended/ox_core |
| License | LGPL-3.0 |
| Stars | 167 (2026-09-16) |
| Latest release | v1.5.14 (2026-05-29) |
| Last push | 2026-08-17 |
| Database | MariaDB 11.4 or newer |
| Language | Lua and TypeScript (npm package published) |
| Documentation | overextended.dev/docs/ox_core |
What ox_core is — and is not
ox_core is not a server in a box. It ships no jobs, no phone, no HUD, no shops and no garages. Installing it gives you characters, groups, accounts, vehicles and licences — and nothing to do with them until you write it.
That is the point. QBCore and ESX give you a playable server you then customise; ox_core gives you a correct foundation you then build on. Choosing it without a developer who wants to write gameplay is the most common way to regret it.
A different data model
ox_core does not simply rename QBCore’s concepts. It models them differently:
- User and character are separate. A
userIdis the person; acharIdis one of their characters. Most frameworks conflate the two. - Groups replace jobs. A group has grades, an optional account and a permission set, and covers what other frameworks split between jobs, gangs and societies.
- Accounts are first-class objects with owners, roles, invoices, deposits and withdrawals — not a number on the player.
- Licences are entities, not a boolean in metadata.
- Vehicles persist server-side with a VIN and plate, owned by a character or a group.
The Overextended stack
| Resource | Stars | Role |
|---|---|---|
| ox_inventory | 565 | Slot-based inventory with metadata |
| ox_lib | 417 | UI, callbacks, caching, zones, utilities |
| oxmysql | 361 | Database driver |
| ox_doorlock | 183 | Door locking |
| ox_target | 174 | Third-eye interaction |
| ox_fuel | 85 | Fuel |
| ox_mdt | 56 | Police MDT |
| ox_banking | 49 | Banking for ox_core |
These are used far beyond ox_core itself — Qbox and ND Core both depend on them, and a large share of QBCore and ESX community scripts do too.
TypeScript support
ox_core publishes @overextended/ox_core on npm with full type definitions. For JavaScript and TypeScript resources this gives you real IntelliSense against the framework API, which no other FiveM framework offers.
The trade-off is a build step: bun for the core, and a bundler for your own
TypeScript resources.
Who it is for
Teams with at least one developer who wants to write their own systems, servers that need high player counts, and anyone building something that does not look like standard city RP.
Not for: first servers, teams buying most of their gameplay from Tebex, or anyone who needs to launch in a month.
Next steps
- Install ox_core
- ox_core structure
- ox_lib — start here even if you pick another framework