Installation Guide
Step-by-step setup for oxide-banking with ox_lib, oxmysql, and o-link.
Step-by-step setup for oxide-banking.
Prerequisites
Required resources
| Resource | Purpose |
|---|---|
ox_lib | Commands, callbacks, locale, and utility helpers |
oxmysql | Database driver |
o-link | Framework abstraction used by banking |
o-link expectations
oxide-banking expects your o-link setup to provide:
- character identifier and name lookup
- online/offline money operations
- job lookup
- inventory access for bank cards
- target integration for banks and ATMs
- notification delivery
Installation Steps
1. Place the resource
Place oxide-banking inside your server's resources folder.
2. Add startup order
Start dependencies before banking:
ensure ox_lib
ensure oxmysql
ensure o-link
ensure oxide-banking
3. Install the SQL schema
Run sql/install.sql against your database.
The install creates the banking tables used by accounts, statements, cards, loans, credit, security, scheduler state, recurring payments, and business reporting.
4. Review configuration
Adjust the live config files:
config/config.luaconfig/accounts.luaconfig/loans.luaconfig/interest.luaconfig/fees.lua
See Configuration for the current reference.
5. Verify the packaged UI
The manifest points to web/dist/index.html:
ui_page 'web/dist/index.html'
If you are only installing the resource, no UI build step is required. Rebuild the UI only when editing web/src.
Verification
- Start the server and confirm
ox_lib,oxmysql,o-link, andoxide-bankingload without dependency errors. - Join the server and confirm bank blips appear if
Config.Blips.enabled = true. - Walk to a configured bank and confirm bank interaction works.
- Walk to an ATM, confirm ATM interaction works, and verify card validation opens the ATM flow.
- Open the banking UI and verify account data loads without callback or locale errors.
Notes
Target vs proximity
Config.UseTarget = true uses o-link.target for bank and ATM interactions.
Config.UseTarget = false falls back to proximity prompts and keypress handling.
Framework Support
oxide-banking works on QBCore, QBX, and ESX through o-link with no framework-specific setup.
The manifest declares provides { 'qb-banking' } so older QB-era resources that reference qb-banking continue to work automatically. No action is needed for this — it is handled transparently.
Locales
Locale files live in locales/*.json and are loaded through lib.locale(). No extra manifest wiring is needed when adding another JSON locale file.