Install
This guide walks through a fresh Blixt install on a FiveM server.
Blixt is distributed as separate resources so you can install only what you need.
| Resource | Folder name | Status | Pricing | Notes |
|---|---|---|---|---|
| Blixt Phone | blixt | Available | $49 USD, one-time | Required core resource |
| Blixt Map Tiles | blixt-map-tiles | Available | Free | Required for the Maps app to render. Static tile assets served to the in-phone Maps surface via cfx-nui-blixt-map-tiles/.... Without it the Maps area is blank. |
| Blixt Tablet | blixt-tablet | Available | Free | Depends on blixt |
| Blixt Library | blixt-lib | Available | Included with Bank | Required helper resource bundled inside the Blixt Bank package. |
| Blixt Bank | blixt-bank | Available | See Tebex | Standalone Bank Office and ATM resource. Blixt Phone is optional for handset, Gov ID, notifications, and Business integration. |
| Blixt Business | blixt-business | COMING SOON | — | Depends on blixt |
| Blixt Racing | blixt-racing | COMING SOON | — | Standalone resource with Blixt integration |
For the phone suite, install the phone first, then map tiles. Tablet and
Business depend on blixt; Racing can integrate with it when Blixt device
surfaces are enabled.
Blixt Bank can be installed independently. Start blixt-lib before
blixt-bank. If Blixt Phone is installed, start blixt before or with Bank so
the handset app, Tablet app, Gov ID, notifications, phone-number payments, and
Bank Staff integration can register.
Blixt Phone is a complete phone resource. It is not an LB Phone plugin. For a production server, use one full phone resource for the same player phone experience.
1. Prerequisites
Section titled “1. Prerequisites”- FXServer on a current recommended build.
- A supported framework: qbox, qbcore, esx, or
standalone. - MariaDB or MySQL 8+ reachable from the FXServer host.
oxmysqlloaded before Blixt.screenshot-basicfor camera and photo capture.pma-voicefor in-game calls and mute behaviour.
Blixt Bank requires oxmysql and blixt-lib. Racing preview/release builds
are expected to require oxmysql. Business and Tablet depend on the core
blixt resource.
2. Download and extract
Section titled “2. Download and extract”Available resources are downloaded from Tebex. Coming soon resources are listed here so you can plan the folder names and install order, but they are not public purchases until release.
Extract resources into your FXServer resources tree:
resources/+-- [blixt]/ +-- blixt/ # phone, available, $49 +-- blixt-map-tiles/ # map tiles, available, free - required for Maps app +-- blixt-tablet/ # tablet, available, free +-- blixt-lib/ # helper bundled with bank +-- blixt-bank/ # bank, standalone +-- blixt-business/ # business, coming soon +-- blixt-racing/ # racing, coming soonThe inner folder names matter. Do not rename blixt, blixt-map-tiles,
blixt-tablet, blixt-lib, blixt-bank, blixt-business, or
blixt-racing.
3. server.cfg
Section titled “3. server.cfg”Set the database, framework, and Blixt convars before starting Blixt resources.
# Database, used by oxmysql and Blixtset mysql_connection_string "mysql://user:password@127.0.0.1:3306/blixt"
# Framework selectionset blixt:framework "auto" # auto | qbox | qbcore | esx | standalone
# Anonymous boot ping. See /privacyset blixt:telemetry "true"
# Required dependenciesensure oxmysqlensure screenshot-basicensure pma-voice
# Blixt coreensure blixt
# Map tiles — required for the Maps app to render.# Skip this and the Maps surface will show a blank canvas.ensure blixt-map-tiles
# Optional available companionensure blixt-tabletOrder matters: oxmysql must start before blixt; blixt-map-tiles can
start before or after blixt (no script dependency, just static assets);
and blixt must start before blixt-tablet.
For Blixt Bank, start the bundled helper before the Bank resource:
ensure oxmysqlensure blixt-libensure blixt-bankIf you also run Blixt Phone, start blixt before or with blixt-bank; Bank
will still run without it, but handset, Tablet, Gov ID, notification,
phone-number, and Bank Staff features need the phone host.
4. Coming soon resources
Section titled “4. Coming soon resources”Business and Racing are not public purchases yet. These notes are for release/preview builds only.
# Only add released or preview resources you intentionally trust.set blixt:trusted_resources "blixt-business,blixt-racing"
ensure blixt-businessensure blixt-racingblixt:trusted_resources is a comma-separated allowlist for resources that can
call privileged Blixt server exports. Do not add random resources to this list.
Business is expected to depend on blixt. Racing is expected to be a standalone
blixt-racing resource with oxmysql, and to use Blixt integration when
blixt is installed and the resource is trusted.
5. Database
Section titled “5. Database”Blixt does not alter your database automatically. Schema changes ship as
SQL files under resources/[blixt]/blixt/sql/, and you apply them by hand.
Fresh install
Section titled “Fresh install”Apply sql/install.sql once to an empty database:
mysql -u<user> -p<password> <database> < resources/[blixt]/blixt/sql/install.sqlThis creates every Blixt table and seeds the blixt_migrations bookkeeping
table so the schema-version check on boot passes. On startup you should see:
[@blixt/database] Connected to database[@blixt/database] Schema up to date (...)If the schema does not match what the bundled server expects, blixt refuses
to start and logs which upgrade-*.sql to apply.
Upgrading
Section titled “Upgrading”Each release ships an upgrade-vX-to-vY.sql file alongside install.sql.
Apply the deltas between your current version and the target, in order:
mysql -u<user> -p<password> <database> < resources/[blixt]/blixt/sql/upgrade-1.0.4-to-1.1.0.sqlThe upgrade files are idempotent-safe to re-run if you’re unsure where you stopped. See Upgrading for the full flow.
Permissions
Section titled “Permissions”For applying install.sql / upgrade files the user needs CREATE, ALTER,
DROP, INDEX, plus the normal SELECT, INSERT, UPDATE, DELETE. After
the schema is in place, Blixt at runtime only needs SELECT, INSERT,
UPDATE, DELETE.
Auto-migrate (dev only)
Section titled “Auto-migrate (dev only)”For local development you can let Blixt run knex migrations on boot:
set blixt:auto_migrate "true"This is off by default and should stay off in production. Server owners should apply SQL files by hand so schema changes are auditable, reversible, and survive backups cleanly.
6. Configure Blixt
Section titled “6. Configure Blixt”Blixt ships with blixt/config.json. The defaults boot a working phone; edit
the file when you want server-specific branding or app behaviour.
Common fields:
phone.branding.deviceNameandtablet.branding.deviceName.phone.disabledAppsandtablet.disabledApps.phone.wallpapers.phone.featuredAppsandtablet.featuredApps.tablet.toggleKey.
See Configuration for the full config reference.
Back up config.json before extracting a new release zip. See
Upgrading for the update flow.
7. Camera, gallery, and voice memo storage
Section titled “7. Camera, gallery, and voice memo storage”The camera uses screenshot-basic. Photos and voice memos then use the storage
backend you configure.
Image storage supports:
- Cloudflare R2
- Generic S3-compatible storage
- Fivemanage
- Discord webhook
Voice memo storage supports:
- Cloudflare R2
- Generic S3-compatible storage
- Fivemanage
See Convars for every storage convar.
8. Smoke test
Section titled “8. Smoke test”Start the server. In console you should see:
[@blixt/database] Connected to database[@blixt/database] Ran N migrations: [ ... ][blixt] Loaded config.json[blixt] Framework: <auto|qbox|qbcore|esx|standalone>Join the server and run /phone or press the configured phone key. For the
tablet, run /tablet or bind it under FiveM Settings > Key Bindings > Blixt >
Toggle Tablet.
If the phone never opens, re-read the FXServer console for an error from
blixt, oxmysql, screenshot-basic, or your framework. See
Troubleshooting.