Skip to Content
TroubleshootingTroubleshooting Checklists

Troubleshooting Checklists

Use these interactive checklists to systematically troubleshoot issues. Your progress is saved locally in your browser.

Server Won’t Boot

If your FiveM server fails to start, work through this checklist in order:

How to verify each item:

  1. License key configured:

    # Check server.cfg grep "sv_licenseKey" /opt/fivem/server.cfg # Should show: set sv_licenseKey "your-key-here" # Verify key at: https://keymaster.fivem.net/
  2. Ports not in use:

    # Find process using port 30120 sudo lsof -i :30120 # If output shows a process, kill it: sudo kill -9 <PID> # Or use: sudo fuser -k 30120/tcp
  3. Database running:

    # Check service status sudo systemctl status mariadb # or sudo systemctl status mysql # Test connection mysql -u root -p -e "SELECT 1;"
  4. Resources exist:

    # List resources in server.cfg grep "^ensure\|^start" /opt/fivem/server.cfg | awk '{print $2}' | while read res; do if [ ! -d "/opt/fivem/resources/$res" ]; then echo "Missing: $res" fi done
  5. Server.cfg syntax:

    # Basic syntax check (look for common errors) # Check for unclosed quotes grep -n '"' /opt/fivem/server.cfg | awk -F'"' 'NF%2==0 {print "Possible unclosed quote at line", NR}'
  6. Disk space:

    df -h /opt/fivem # Ensure at least 5GB free (10GB+ recommended)
  7. Memory:

    free -h # Check "available" column, should be >2GB
  8. Check logs:

    # View last 50 lines of server log tail -n 50 /opt/fivem/logs/server.log # Search for errors grep -i "error\|failed\|exception" /opt/fivem/logs/server.log | tail -20

Players Can’t Join

If players cannot connect to your server, verify these items:

How to verify each item:

  1. Server is running:

    # Check process ps aux | grep FXServer # Should show FXServer process # Check systemd service sudo systemctl status fivem # Should show "active (running)"
  2. Firewall allows port:

    # UFW sudo ufw status | grep 30120 # Should show: 30120/tcp and 30120/udp ALLOW # firewalld sudo firewall-cmd --list-ports | grep 30120 # Should include: 30120/tcp 30120/udp
  3. Port forwarding:

    • Log into your router admin panel
    • Navigate to Port Forwarding/Virtual Server
    • Verify rule exists: External Port 30120 → Internal IP:Port (your-server-ip:30120)
    • Test from external network: nc -zv your-public-ip 30120
  4. Server not full:

    # Check server.cfg grep "sv_maxclients" /opt/fivem/server.cfg # Default is usually 32 or 64 # Check current players via txAdmin or in-game
  5. License key valid:

  6. Network connectivity:

    # From external machine (not your server) nc -zv your-server-ip 30120 # Should return: Connection to your-server-ip 30120 port [tcp/*] succeeded! # Test from server itself nc -zv localhost 30120
  7. Check server logs:

    # Look for connection attempts grep -i "connect\|join\|player" /opt/fivem/logs/server.log | tail -20 # Check for authentication errors grep -i "auth\|license\|key" /opt/fivem/logs/server.log | tail -20

Database Errors

If you’re experiencing database connection or query errors:

How to verify each item:

  1. Database service running:

    # Check service status sudo systemctl status mariadb # or sudo systemctl status mysql # Should show "active (running)" # Start if stopped sudo systemctl start mariadb
  2. Credentials correct:

    # Test connection with credentials mysql -u your_username -p -h localhost # Enter password when prompted # Should connect successfully
  3. Database exists:

    # List all databases mysql -u root -p -e "SHOW DATABASES;" # Check for your FiveM database (usually 'fivem' or framework name) mysql -u root -p -e "SHOW DATABASES LIKE 'fivem';"
  4. Tables created:

    # List tables in database mysql -u root -p fivem -e "SHOW TABLES;" # Should show tables like: users, vehicles, items, etc. # If empty, import SQL files from framework/resources
  5. Firewall database port:

    # For local connections, port 3306 should be accessible from localhost # Test connection mysql -u root -p -h 127.0.0.1 -e "SELECT 1;" # If using remote database, ensure firewall allows: sudo ufw allow from your-app-ip to any port 3306
  6. Connection string:

    # Check resource configs (example for oxmysql) grep -r "mysql://" /opt/fivem/resources/*/config.* # Format should be: mysql://username:password@host:port/database # Example: mysql://fivem:password123@localhost:3306/fivem
  7. Check database logs:

    # MySQL error log location varies by distro # Ubuntu/Debian sudo tail -f /var/log/mysql/error.log # CentOS/RHEL sudo tail -f /var/log/mariadb/mariadb.log # Look for connection errors, authentication failures, or query errors

Resource Errors

If resources fail to start or function incorrectly:

How to verify each item:

  1. Resource exists:

    # List resources ls -la /opt/fivem/resources/ # Check specific resource ls -la /opt/fivem/resources/your-resource-name/ # Should show: fxmanifest.lua, client/, server/, etc.
  2. fxmanifest.lua valid:

    # Basic syntax check (Lua will parse it) lua -e "dofile('/opt/fivem/resources/your-resource-name/fxmanifest.lua')" # Should not produce errors # Check for common issues: # - Missing quotes around strings # - Unclosed brackets # - Invalid fx_version
  3. Dependencies installed:

    # Check fxmanifest.lua for dependencies grep -i "dependency\|depend" /opt/fivem/resources/your-resource-name/fxmanifest.lua # Verify each dependency exists # Example output: dependency 'oxmysql' # Then check: ls -d /opt/fivem/resources/oxmysql
  4. Dependencies started:

    # Check server.cfg order grep -n "ensure\|start" /opt/fivem/server.cfg # Dependencies should appear BEFORE the resource that needs them # Example: # ensure oxmysql # ensure your-resource-name # <- This comes after dependencies
  5. Scripts syntax:

    # For Lua files lua -l /opt/fivem/resources/your-resource-name/client/client.lua # Should not produce syntax errors # For JavaScript files node --check /opt/fivem/resources/your-resource-name/client/client.js # Should return no errors # Check all scripts in resource find /opt/fivem/resources/your-resource-name -name "*.lua" -exec lua -l {} \;
  6. Check resource logs:

    # Server log filtered for this resource grep -i "your-resource-name" /opt/fivem/logs/server.log | tail -20 # Look for: # - "Started resource your-resource-name" # - Error messages specific to this resource # - Missing file errors # - Export/import errors

Still Need Help?

If you’ve completed all relevant checklists and the issue persists:

  1. Gather information:

    • Server logs (last 100 lines)
    • Resource error messages
    • System resource usage (CPU, RAM, disk)
    • Network connectivity test results
  2. Check additional resources:

    • Common Errors - Solutions to specific error messages
    • FiveM Forums  - Community support
    • Framework-specific documentation (QBCore, ESX, etc.)
  3. Provide details when asking for help:

    • What you’ve already checked (from checklists above)
    • Exact error messages from logs
    • Steps to reproduce the issue
    • Server configuration (framework, resources, etc.)
Last updated on