Frameworks (ESX / QBCore / qbox)
No configuration. When a log entry or upload carries playerSource,
the spawnbase resource detects the running framework and attaches the
player’s framework identity to _playerIdentifiers, on a best-effort
basis:
| Framework | Detected via | Identity attached |
|---|---|---|
| ESX | es_extended started |
identifier, character name, job |
| QBCore | qb-core started |
citizenid, character name, job |
| qbox | qbx_core started |
citizenid, character name, job |
| none | — | plain game identifiers only (license, discord, steam, fivem) |
No framework — or a failed lookup — changes nothing else, and
standalone servers work unchanged. Disable identifier attachment
entirely with appendPlayerIdentifiers: false in
config.json.
Lua bridge (fm.lua)
Section titled “Lua bridge (fm.lua)”For Lua resources that build metadata themselves, a bridge ships in
sdk/integrations/frameworks/fm.lua (written for this SDK; it detects
the framework the same way):
local fm = require "fm" -- wherever you placed fm.lua
print(fm.kind()) -- "esx" | "qbcore" | "qbox" | "standalone"
local who = fm.who(1) -- { citizenid|identifier, name, job } or {}
-- Log with the player folded into metadata for you:fm.log("economy", "info", "Purchase", 1, { action = "buy" })