Skip to content

Framework adapter

Draft. Full reference coming. The implementation lives at packages/framework-adapter in the Blixt repo.

Blixt loads exactly one framework adapter per server, selected by the blixt:framework convar. The default auto value detects qbox, then qbcore, then esx, then falls back to standalone.

AdapterWhat it integrates with
qboxqbox-project’s qb-fork. Identifiers via citizenid.
qbcoreqbcore. Identifiers via citizenid.
esxESX legacy + ESX 1.x. Identifiers via identifier.
standaloneNo framework integration. Useful for staging or custom forks.

Each adapter exposes:

  • Player identity: the per-character identifier Blixt uses as a primary key. Switching character produces a fresh phone.
  • Player records: name, job, phone number lookup.
  • Wallet: balance reads (used by apps that opt into showing player cash, e.g. Business payouts). Only the local player’s wallet — Blixt never exposes another player’s wallet to the viewer.
  • Vehicle ownership: ownership lookups for the Garage app.

If you run a fork of qb / esx that breaks the default adapter, the recommended path is one of:

  1. Patch the bridge Lua. Blixt ships dist/game/server/bridge-qb.lua and bridge-esx.lua as escrow-readable so you can adapt the events your fork emits. These files survive the encrypted bundle.
  2. Use standalone and bridge yourself. Set blixt:framework "standalone" and emit Blixt’s documented events from your own resource. Most apps will work; some framework-coupled features (vehicle keys, wallet display) will not.

Source-level adapter changes (a new adapter case under packages/framework-adapter/src/) are out of scope for the released build. If you need a new built-in adapter for a public framework, ask in the Blixt Discord with the framework’s docs and we’ll evaluate.