Installation¶
This page gets mi_core running on a fresh or existing server.
🚫 Run one framework, never two
mi_core replaces qbx_core. Do not run the real
qbx_corenext to it. Two frameworks both try to own the player, the same events, and the same exports, and they will clash. On an mi_core server the only framework you ensure ismi_core.
Requirements¶
| Dependency | Version | Notes |
|---|---|---|
| FiveM server | recent artifact | OneSync Infinity must be on |
| oxmysql | latest | database access |
| ox_lib | latest stock | no custom edits needed |
| ox_inventory | latest | setr inventory:framework qbx |
mi_core checks these at boot and stops the server with a clear message if something is missing, so you are never left guessing.
Step 1: drop in the resources¶
Place these in your resources folder:
mi_core, the framework.ox_lib, stock from the official releases.ox_inventory, your inventory.
That is the whole framework. There is no second core resource to add.
Step 2: import the database¶
Import sql/mi_core.sql once. It creates the tables mi_core owns: users, players, and player_groups.
If you use HeidiSQL or phpMyAdmin, open the file and run it against your schema.
Step 3: set the convars¶
Add these to server.cfg before you ensure the resources:
setr inventory:framework qbx
set onesync on
set mysql_connection_string "mysql://user:pass@localhost/your_database?charset=utf8mb4"
Step 4: order the ensures¶
Load order matters. oxmysql and ox_lib come first, then mi_core, then everything else.
ensure oxmysql
ensure ox_lib
ensure ox_inventory
ensure mi_core
# your jobs, shops, and everything else after this line
Notice there is no ensure qbx_core. On an mi_core server you do not run qbx_core at all.
Step 5: start and check¶
Start the server. A healthy boot prints one line:
If the server quits during boot, read the message it printed. It names the exact dependency or convar that is wrong.
Running resources built for qbx_core¶
They work as they are. mi_core answers the exports.qbx_core calls itself, so a resource written for qbx_core needs no changes and no extra resource. The one exception is a resource that loads a file with @qbx_core/... in its manifest. Point that single line at @mi_core/... instead, since files load by resource name. See Compatibility.
For your own resources, call exports.mi_core directly.
What you get¶
Once mi_core is running you have:
- The full player object with money, jobs, gangs, and metadata.
- Exports on
mi_corefor every framework function.
Next, tune the Configuration, or skip ahead and write your first resource.