Oxide StudiosOxide Studios

Troubleshooting

Common issues and solutions for Oxide Banking.

Common issues and solutions for Oxide Banking.


Table of Contents

  1. Installation Issues
  2. Database Issues
  3. UI/NUI Issues
  4. ATM & Card Issues
  5. Loan & Credit Issues
  6. Interest & Scheduler Issues
  7. Performance Issues
  8. Common Error Messages

Installation Issues

Resource not starting

Symptoms:

  • Resource shows as stopped in txAdmin
  • Console shows errors on startup

Solutions:

  1. Check dependencies:

    # Ensure these start BEFORE oxide-banking
    ensure oxmysql
    ensure qb-core
  2. Verify file structure:

    resources/
    └── [folder]/
        └── oxide-banking/
            ├── fxmanifest.lua  # Must exist
            ├── client/
            ├── server/
            └── config/
  3. Check for syntax errors:

    • Open config files in a Lua syntax checker
    • Look for missing commas, brackets, or quotes

qb-banking conflict

Symptoms:

  • Both resources trying to start
  • Duplicate exports error

Solution: Remove or disable qb-banking completely:

# Comment out or remove:
# ensure qb-banking

# Keep only:
ensure oxide-banking

Important: Oxide Banking includes provides { 'qb-banking' } which replaces qb-banking.


Missing dependencies error

Symptoms:

  • Console shows "Resource not found: qb-core"
  • Console shows "Resource not found: oxmysql"

Solution: Ensure correct start order in server.cfg:

ensure oxmysql
ensure qb-core
# ... other resources ...
ensure oxide-banking

Database Issues

SQL script errors

Symptoms:

  • Tables not created
  • "Table already exists" errors
  • "Unknown column" errors

Solutions:

  1. For fresh installs:

    • Run sql/install.sql completely
    • Check for existing bank_ tables from old installations
  2. For migrations:

    • Backup database first
    • Run sql/migrate.sql
    • Migration handles existing tables with IF NOT EXISTS
  3. Manual fix:

    -- Check existing tables
    SHOW TABLES LIKE 'bank_%';
    
    -- If needed, drop and recreate (BACKUP FIRST!)
    -- DROP TABLE IF EXISTS bank_player_accounts;

Connection errors

Symptoms:

  • "oxmysql not ready" errors
  • Database operations failing

Solutions:

  1. Verify oxmysql connection:

    set mysql_connection_string "mysql://user:password@localhost/database?charset=utf8mb4"
  2. Test connection:

    -- In server console
    MySQL.query.await('SELECT 1')
  3. Check oxmysql version:

    • Use latest oxmysql version
    • Ensure it starts before oxide-banking

Missing data after migration

Symptoms:

  • Player balances show $0
  • Transaction history missing

Solutions:

  1. Verify player data table:

    SELECT * FROM players WHERE citizenid = 'YOUR_CITIZENID';
  2. Check bank_accounts table:

    SELECT * FROM bank_accounts;
  3. Re-run migration if needed:

    • Backup first
    • Run migrate.sql again (uses IF NOT EXISTS)

UI/NUI Issues

Banking UI not opening

Symptoms:

  • Player presses E or uses target, nothing happens
  • No errors in console

Solutions:

  1. Check browser console (F8):

    • Look for JavaScript errors
    • Check for failed resource loads
  2. Verify NUI is registered:

    • Check fxmanifest.lua includes ui_page 'html/index.html'
  3. Clear NUI cache:

    # Delete FiveM cache folder
    %localappdata%\FiveM\FiveM.app\data\nui-storage
  4. Check target setup:

    # If using qb-target
    set UseTarget "true"

UI displays but is blank/broken

Symptoms:

  • White screen
  • Missing styles
  • JavaScript errors

Solutions:

  1. Check file paths:

    • Verify all CSS files exist in html/css/
    • Verify all JS files exist in html/js/
  2. Browser console errors (F8):

    • Look for 404 errors (missing files)
    • Look for syntax errors in JavaScript
  3. CSS issues:

    • Check variables.css loads first
    • Verify no syntax errors in CSS files

UI not responsive / stuck

Symptoms:

  • Buttons don't work
  • Can't close UI
  • Inputs don't register

Solutions:

  1. Check for focus issues:

    • Press ESC to try closing
    • Type /e c to clear animations
  2. Resource restart:

    ensure oxide-banking
  3. Check NUI callbacks:

    • Server must be responding to UI requests
    • Check server console for errors

ATM & Card Issues

Can't use ATM

Symptoms:

  • "You need a bank card" error
  • ATM not responding

Solutions:

  1. Check for bank card item:

    • Player must have bank_card in inventory
    • Verify item exists in qb-core/shared/items.lua
  2. Verify ATM models:

    -- In config.lua
    Config.ATMModels = {
        'prop_atm_01',
        'prop_atm_02',
        'prop_atm_03',
        'prop_fleeca_atm',
    }
  3. Check target/proximity:

    • If using target: verify qb-target is working
    • If using proximity: get closer to ATM

Invalid PIN errors

Symptoms:

  • Correct PIN rejected
  • "Invalid PIN" on every attempt

Solutions:

  1. Check PIN format:

    • Must be exactly 4 digits
    • No letters or special characters
  2. Card may be corrupted:

    • Order a new card from bank UI
    • Cost: $50 for new card
  3. Database check:

    SELECT card_number, card_pin FROM bank_cards WHERE citizenid = 'YOUR_ID';

Card locked out

Symptoms:

  • "Account locked" after PIN attempts
  • Can't access ATM

Solution: Wait for lockout to expire (default: 5 minutes) or contact admin to reset.


Loan & Credit Issues

Loan application denied

Symptoms:

  • "Loan denied" with no clear reason
  • Can't apply for any loans

Solutions:

  1. Check credit score:

    • Each loan type has minimum credit requirements
    • Use /recalculatecredit if score seems wrong
  2. Check requirements:

    Loan TypeMin CreditOther Requirements
    Personal5001 day account age
    Vehicle5803 days, $500 income
    Property6507 days, $2000 income
    Business6807 days, job boss
    Emergency400None
  3. Max loans reached:

    • Default maximum: 3 active loans
    • Pay off existing loans first

Credit score not updating

Symptoms:

  • Score stays the same after payments
  • No credit history entries

Solutions:

  1. Force recalculation:

    /recalculatecredit [citizenid]
  2. Check credit history:

    SELECT * FROM bank_credit_history WHERE citizenid = 'YOUR_ID' ORDER BY created_at DESC;
  3. Verify loan payments recorded:

    SELECT * FROM bank_loan_payments WHERE citizenid = 'YOUR_ID';

Interest & Scheduler Issues

Interest not paying out

Symptoms:

  • Players not receiving interest
  • Interest log empty

Solutions:

  1. Check scheduler status:

    /schedulerstatus
  2. Verify minimum balance:

    • Default: $100 minimum to earn interest
    • Check Config.Interest.minimumBalance
  3. Force interest payout:

    /forceinterest
  4. Check qb-weathersync:

    • If not installed, system uses real time
    • Set Config.TimeSettings.UseInGameTime = false if no weathersync

Scheduled tasks not running

Symptoms:

  • Loans not processing
  • Recurring payments not executing

Solutions:

  1. Check if scheduler initialized:

    • Look for scheduler startup message in console
  2. Force task execution:

    /forceloanpayments
    /forcerecurring
    /forceinvoices
  3. Verify database state:

    SELECT * FROM bank_scheduler_state;

Performance Issues

High server resource usage

Symptoms:

  • Server lag when many players online
  • High CPU usage from banking

Solutions:

  1. Check cache settings:

    • Resource uses in-memory caching
    • May need more server RAM for large player bases
  2. Database optimization:

    -- Add indexes if missing
    CREATE INDEX IF NOT EXISTS idx_citizenid ON bank_statements (citizenid);
    CREATE INDEX IF NOT EXISTS idx_date ON bank_statements (date);
  3. Reduce statement history:

    • Statements limited to last 100 per player by default

Slow UI loading

Symptoms:

  • Banking UI takes long to open
  • Transaction history loads slowly

Solutions:

  1. Clear browser cache:

    • Delete FiveM NUI cache folder
  2. Check network:

    • Slow server connection affects NUI
  3. Reduce history:

    • UI loads recent transactions only

Common Error Messages

ErrorCauseSolution
"Unable to access banking services"Server callback failedCheck server console for errors
"You need a bank card"No bank_card itemOrder card from bank UI
"Daily limit exceeded"Transaction over daily limitWait for reset or upgrade tier
"Account frozen"Account was frozen by admin/playerContact admin or unfreeze in UI
"Insufficient funds"Not enough money in accountCheck balance before transaction
"Player not found"Invalid recipient for transferVerify player ID/citizenid
"Loan denied"Doesn't meet requirementsCheck credit score and requirements
"Card not active"Card was cancelled or frozenOrder new card or unfreeze
"Rate limited"Too many requestsWait a few seconds and retry

Getting Help

If you can't resolve your issue:

  1. Gather information:

    • Server console errors
    • Client console errors (F8)
    • Steps to reproduce
    • Server configuration details
  2. Check documentation:

    • Review other docs in this folder
    • Check config file comments
  3. Contact support:


Oxide Banking by Oxide Studios