Troubleshooting
Common issues and solutions for Oxide Banking.
Common issues and solutions for Oxide Banking.
Table of Contents
- Installation Issues
- Database Issues
- UI/NUI Issues
- ATM & Card Issues
- Loan & Credit Issues
- Interest & Scheduler Issues
- Performance Issues
- Common Error Messages
Installation Issues
Resource not starting
Symptoms:
- Resource shows as stopped in txAdmin
- Console shows errors on startup
Solutions:
-
Check dependencies:
# Ensure these start BEFORE oxide-banking ensure oxmysql ensure qb-core -
Verify file structure:
resources/ └── [folder]/ └── oxide-banking/ ├── fxmanifest.lua # Must exist ├── client/ ├── server/ └── config/ -
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:
-
For fresh installs:
- Run
sql/install.sqlcompletely - Check for existing
bank_tables from old installations
- Run
-
For migrations:
- Backup database first
- Run
sql/migrate.sql - Migration handles existing tables with
IF NOT EXISTS
-
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:
-
Verify oxmysql connection:
set mysql_connection_string "mysql://user:password@localhost/database?charset=utf8mb4" -
Test connection:
-- In server console MySQL.query.await('SELECT 1') -
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:
-
Verify player data table:
SELECT * FROM players WHERE citizenid = 'YOUR_CITIZENID'; -
Check bank_accounts table:
SELECT * FROM bank_accounts; -
Re-run migration if needed:
- Backup first
- Run
migrate.sqlagain (usesIF NOT EXISTS)
UI/NUI Issues
Banking UI not opening
Symptoms:
- Player presses E or uses target, nothing happens
- No errors in console
Solutions:
-
Check browser console (F8):
- Look for JavaScript errors
- Check for failed resource loads
-
Verify NUI is registered:
- Check
fxmanifest.luaincludesui_page 'html/index.html'
- Check
-
Clear NUI cache:
# Delete FiveM cache folder %localappdata%\FiveM\FiveM.app\data\nui-storage -
Check target setup:
# If using qb-target set UseTarget "true"
UI displays but is blank/broken
Symptoms:
- White screen
- Missing styles
- JavaScript errors
Solutions:
-
Check file paths:
- Verify all CSS files exist in
html/css/ - Verify all JS files exist in
html/js/
- Verify all CSS files exist in
-
Browser console errors (F8):
- Look for 404 errors (missing files)
- Look for syntax errors in JavaScript
-
CSS issues:
- Check
variables.cssloads first - Verify no syntax errors in CSS files
- Check
UI not responsive / stuck
Symptoms:
- Buttons don't work
- Can't close UI
- Inputs don't register
Solutions:
-
Check for focus issues:
- Press ESC to try closing
- Type
/e cto clear animations
-
Resource restart:
ensure oxide-banking -
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:
-
Check for bank card item:
- Player must have
bank_cardin inventory - Verify item exists in
qb-core/shared/items.lua
- Player must have
-
Verify ATM models:
-- In config.lua Config.ATMModels = { 'prop_atm_01', 'prop_atm_02', 'prop_atm_03', 'prop_fleeca_atm', } -
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:
-
Check PIN format:
- Must be exactly 4 digits
- No letters or special characters
-
Card may be corrupted:
- Order a new card from bank UI
- Cost: $50 for new card
-
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:
-
Check credit score:
- Each loan type has minimum credit requirements
- Use
/recalculatecreditif score seems wrong
-
Check requirements:
Loan Type Min Credit Other Requirements Personal 500 1 day account age Vehicle 580 3 days, $500 income Property 650 7 days, $2000 income Business 680 7 days, job boss Emergency 400 None -
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:
-
Force recalculation:
/recalculatecredit [citizenid] -
Check credit history:
SELECT * FROM bank_credit_history WHERE citizenid = 'YOUR_ID' ORDER BY created_at DESC; -
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:
-
Check scheduler status:
/schedulerstatus -
Verify minimum balance:
- Default: $100 minimum to earn interest
- Check
Config.Interest.minimumBalance
-
Force interest payout:
/forceinterest -
Check qb-weathersync:
- If not installed, system uses real time
- Set
Config.TimeSettings.UseInGameTime = falseif no weathersync
Scheduled tasks not running
Symptoms:
- Loans not processing
- Recurring payments not executing
Solutions:
-
Check if scheduler initialized:
- Look for scheduler startup message in console
-
Force task execution:
/forceloanpayments /forcerecurring /forceinvoices -
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:
-
Check cache settings:
- Resource uses in-memory caching
- May need more server RAM for large player bases
-
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); -
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:
-
Clear browser cache:
- Delete FiveM NUI cache folder
-
Check network:
- Slow server connection affects NUI
-
Reduce history:
- UI loads recent transactions only
Common Error Messages
| Error | Cause | Solution |
|---|---|---|
| "Unable to access banking services" | Server callback failed | Check server console for errors |
| "You need a bank card" | No bank_card item | Order card from bank UI |
| "Daily limit exceeded" | Transaction over daily limit | Wait for reset or upgrade tier |
| "Account frozen" | Account was frozen by admin/player | Contact admin or unfreeze in UI |
| "Insufficient funds" | Not enough money in account | Check balance before transaction |
| "Player not found" | Invalid recipient for transfer | Verify player ID/citizenid |
| "Loan denied" | Doesn't meet requirements | Check credit score and requirements |
| "Card not active" | Card was cancelled or frozen | Order new card or unfreeze |
| "Rate limited" | Too many requests | Wait a few seconds and retry |
Getting Help
If you can't resolve your issue:
-
Gather information:
- Server console errors
- Client console errors (F8)
- Steps to reproduce
- Server configuration details
-
Check documentation:
- Review other docs in this folder
- Check config file comments
-
Contact support:
- Join our Discord: https://discord.gg/dZ6q8FyGhm
- Open a support ticket with details
Oxide Banking by Oxide Studios