F.A.Q
Setup
All frameworks supported by ml_bridge: QBCore, Qbox, ESX and Standalone, with any inventory ml_bridge supports.
Set Config.Interaction = 'textui' in shared/config.lua. When set to nil, ml_bridge auto-detects the available target system.
Set Config.DuiRenderDistance = false in shared/config.lua.
Set Config.Locale in shared/config.lua:
1Config.Locale = 'en'The language files are in locales/.
Stations
Persistent stations (persistent = true) are saved to the database and survive server restarts. Temporary stations (persistent = false) are removed when the server restarts.
Use Config.FixedStations to define permanent world stations. These cannot be picked up or destroyed by players.
Set spawnProp = false in the fixed station definition and configure a zone instead:
1{
2 id = 'my_campfire',
3 stationType = 'campfire',
4 coords = vec3(100.0, 200.0, 30.0),
5 heading = 0.0,
6 spawnProp = false,
7 zoneType = 'sphere',
8 zoneRadius = 2.0,
9}The station breaks and cannot be used until repaired. Repair items are defined per station type in RepairItems. When picking up a broken station, the item preserves its durability via the furnacelife metadata field.
Each player can place up to Config.MaxStationsPerPlayer stations. Fixed stations do not count toward this limit. The count is based on the player's identifier, not the server source.
Recipes
Each recipe has a carbonize_time in seconds. After crafting completes, a timer starts. If the player does not collect the finished item before this timer expires, the item is destroyed (carbonized).
Add multiple entries to the station's cook_categories array:
1cook_categories = { 'food', 'medical', 'default' },Add a new entry to Config.Recipes with a unique key. The category must match one of the categories in a station's cook_categories:
1['my_recipe'] = {
2 category = 'food',
3 tier = 1,
4 cook_time = 30,
5 carbonize_time = 120,
6 ingredients = {
7 { name = 'item_a', count = 2 },
8 },
9 results = {
10 { name = 'item_b', count = 1 },
11 }
12},XP / Progression
Set Config.XP.Enabled = false. All tier restrictions are bypassed (every recipe becomes craftable regardless of level) and the Progression tab is automatically hidden in the UI.
'internal'to use the built-in XP with no extra resource'ml_skills'if you already have the ml_skills resource and want the crafting tree synced with player skills'custom'to wire your own backend via the handlers inopen/server.lua
Change Config.XP.Provider to 'internal', 'ml_skills' or 'custom'. 'internal' and 'ml_skills' have their own block in Config.XP. 'custom' uses functions in open/server.lua.
Two bonus types, both configurable per tier in Config.XP.Tiers:
speed: reduces cook time by a percentage (e.g.,0.12= 12% faster)antiCarbonize: extends carbonization time by a percentage (e.g.,0.20= 20% more time to collect)
Both can be toggled globally in Config.XP.Bonuses.
Updates
- Download the latest version from CFX Portal
- Backup
shared/config.lua,server/config_server.lua, andopen/folder - Replace all files except your backed-up configs
- Compare your config with the new defaults for any added keys
- Restart the resource
Database tables are migrated automatically, missing columns are added on startup.