FiveM Troubleshooting Checklists
Start with the first meaningful error in the active FXServer or txAdmin Live Console. Paths vary with your hosting provider and txAdmin profile; the /opt/fivem paths below are examples, not universal locations.
Server fails to start
Check port owners on Linux:
sudo ss -lntup | grep -E ':30120|:40120'If a port is in use, inspect the process and service before stopping it. Don’t blindly use kill -9 or fuser -k, which can terminate an unrelated service.
Check the active license key: Open Cfx.re Portal → Server Registration Keys . Verify the key exists and is configured in the active txAdmin profile. A manual server can instead use sv_licenseKey in its loaded server.cfg. An exported FIVEM_LICENSE_KEY variable alone does not configure FXServer. See License Key Setup.
Check resources and disk: Compare the actual ensure directives against the directories in your server data folder, not your artifact binaries folder. On Linux, df -h and free -h show capacity. Fixed “at least 2 GB free RAM” rules are not universal for every resource set.
Players cannot join
On the Linux game host, check listening sockets:
sudo ss -lntup | grep ':30120'On a remote network, a TCP probe such as nc -zv YOUR_SERVER_IP 30120 helps test only TCP. It does not prove UDP, server-list visibility, resource downloads or successful joining. The acceptance test is a real client joining and spawning.
The default txAdmin port 40120 is administrative; keep it private. See Server Networking and txAdmin Security.
Database errors (framework servers only)
A local MariaDB check, if you have a database administrator account:
sudo systemctl status mariadb
mariadb --user=YOUR_DB_USER --password --host=127.0.0.1 YOUR_DB_NAME -e "SELECT 1"The SQL client prompts for a password. If your database runs in a container or on another host, use the correct service and address. The current oxmysql connection-string format and the recipe’s actual requirements take precedence over an example password/hostname. Never insert plaintext production passwords into shared logs or issue reports.
Resource fails to start
For a syntax-only check of a standalone Lua file, if Lua is installed on your workstation:
luac -p path/to/script.luaThe old command lua -l path/to/script.lua is not a syntax-check command: -l loads a module by name. A FiveM fxmanifest.lua also runs in an environment with special manifest functions and may not execute meaningfully as a standalone Lua file. Check its structure in the actual FXServer log.
When you need more help
Share the exact first error, tested artifact/platform (Legacy or Enhanced), affected framework/resource version and a minimal reproduction. Redact registration keys, SQL passwords, tokens, player identifiers and other secrets. Avoid posting whole txData folders or production server.cfg files without redaction.