Skip to Content
TroubleshootingChecklists
Open in ChatGPTOpen in Claude

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.lua

The 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.