Troubleshooting

Common issues and solutions for Tommy's Radio.

Troubleshooting

Connection Issues

Symptom: "Failed to connect to radio server" or health check errors:

[Radio-Server] ERROR Health check failed after 4 attempt(s)
[Radio-Server] WARN HTTP endpoint test failed - connect ECONNREFUSED

Port Testing

  1. Start the radio resource
  2. Go to portchecker.co
  3. Enter your server IP and port
  4. Open = configured correctly | Closed = port is blocked

Web Panel Hosting

Common with Pterodactyl-Based Hosts

Many providers (Gravel Host, RocketNode, VibeGames, etc.) require a support ticket to actually open the port, even after adding it in the panel.

  1. Verify the port is added in your panel's Network/Ports/Allocations section
  2. Confirm you are not using port 30120 (FiveM) or 40120 (txAdmin)
  3. Set both serverPort and serverAddress in config.lua
  4. Restart the entire server from the panel
  5. Test with portchecker.co
  6. If still closed, open a support ticket

VPS / Dedicated Server

Ubuntu/Debian:

sudo ufw allow 7777
sudo ufw reload

CentOS/RHEL:

sudo firewall-cmd --permanent --add-port=7777/tcp
sudo firewall-cmd --reload

Windows Server:

netsh advfirewall firewall add rule name="Radio Voice Server" dir=in action=allow protocol=TCP localport=7777

Checklist

  • fx_version 'bodacious' in fxmanifest.lua
  • Port not in use (not 30120 or 40120)
  • serverPort and serverAddress use the same port
  • Resource starts without errors
  • Tested with portchecker.co while resource is running

Error Reference

ErrorCause
ECONNREFUSEDPort blocked, wrong IP/port, or firewall issue
Invalid URLWrong serverAddress format — try serverAddress = ""
xhr poll errorPort not accessible from the internet

Health Checks Failing Despite Working Panel

Cause: NAT hairpinning — the server tries to connect to its own public IP during startup, which many routers and hosting networks block.

Safe to ignore if ALL of these are true:

  • Dispatch panel loads in your browser
  • portchecker.co shows the port as Open
  • Players can connect in-game
  • Errors are timeout-related only (not ECONNREFUSED)

When NOT to Ignore

If errors mention ECONNREFUSED, EACCES, or EADDRINUSE, or if players cannot connect in-game, the failure is real — investigate using the sections above.


Microphone Issues

  1. Open radio > ST > navigate to microphone setting > select a different device
  2. Check FiveM permissions — ensure you clicked "Allow" for microphone access

Permission Reset

If you denied microphone permission, clear FiveM cache to get the prompt again.


Dispatch Panel

NAC Code Doesn't Work in Desktop App

The desktop app defaults to the demo server. Change the endpoint:

  1. Open app, login with 141 (demo default)
  2. Click the settings cog at top-right
  3. Change Endpoint URL to http://YOUR_IP:YOUR_PORT/
  4. Save — app refreshes
  5. Login with your dispatchNacId

"Where Do I Get the NAC Code?"

You create it in config.lua:

Config = { dispatchNacId = "DISPATCH2024" }

Can't Talk on Dispatch Panel

Browsers block microphone access on HTTP. Use the desktop app or set up HTTPS.


Audio Problems

General

SymptomSolution
No voice at allCheck NAC ID has channel access in allowedNacs
No background effectsEnable playTransmissionEffects in admin panel
Volume too lowAdjust voiceVolume / sfxVolume in admin panel
Unwanted bonk tonesDisable bonking.playBonkTone in admin panel
Players talking over each otherEnable bonking.blockTransmission in admin panel
No radio character at allCheck radioFx.fxEnabled or radioFx.p25Enabled in admin panel

P25 / IMBE Vocoder

SymptomSolution
Robotic/warped at start of transmissionNormal — WASM vocoder warming up, self-resolves after first PTT
Metallic buzz / warblingReduce mic gain in Windows sound settings (input clipping)
Voice sounds muffled with P25Disable radioFx.fxEnabled if both P25 and analog FX are active
First syllable cut offNormal codec behaviour (< 10ms). Adjust pttReleaseDelay if severe
Dispatch hears clean Opus instead of P25Confirm p25Enabled = true and refresh dispatch panel
WASM failed to load (dispatch console)Check resource is running and /radio/imbe_vocoder.wasm is accessible

Analog FX Chain

SymptomSolution
Too muffled / telephone-likeRaise lowpassFrequency (try 4000-5000) or lower compression
Too tinny / harshLower highpassFrequency (try 150-200) or reduce midBoost
Volume pumpingLower compression (try 30-40)
Distorted / cracklingLower inputGain (try 0.8-1.0) or lower distortion

Emergency Features

IssueFix
Can't activate Signal 100NAC ID must match dispatchNacId
Panic not visibleCheck gps.visibleToNacs in channel config
No emergency soundsEnable playTransmissionEffects in admin panel

GPS & Tracking

If GPS blips aren't showing:

  • Check NAC permissions: gps.visibleToNacs in channel config
  • Enable GPS in radio settings (ST menu)
  • Verify the channel has GPS configured

Configuration Issues

IssueFix
Can't connect to channelCheck allowedNacs includes the player's NAC ID
Can't scan channelCheck scanAllowedNacs includes the player's NAC ID
Can't see zoneAdd NAC ID to the zone's nacIds array
Wrong permissionsReview getUserNacId function logic

Syntax Error: <\1>

Two common causes:

  • Corrupted file transfer — Some FTP clients (FileZilla in ASCII mode) or Remote Desktop drag-and-drop can corrupt files. Use WinSCP or set binary transfer mode. Always transfer the .zip and unzip on the server.
  • Outdated server artifact — must be build 4752 or higher

Check Server Version

Type version in your server console.

Update Server

Windows: Download latest recommended artifact from the FiveM build server

Linux:

  1. Download latest artifact from the Linux build server
  2. Stop server, delete cache and alpine folders
  3. Extract: tar -xf fx.tar.xz
  4. Start and verify with version

Missing .fxap File

For Asset Escrow scripts, the .fxap file is hidden (dot-prefixed). Enable "show hidden files" in your FTP client. Ensure .fxap is not excluded by .gitignore in CI/CD pipelines.


Debug Logging

Set Config.logLevel in config.lua:

LevelOutput
0Errors only
1Warnings
2Minimal
3Normal (default)
4Detailed
5Verbose

Levels 4-5 produce extensive output. Use only for active troubleshooting.


Support

Before asking for help:

  1. Check server console for errors
  2. Test on the demo server
  3. Verify port is open with portchecker.co

Forum: FiveM Community Post

When reporting issues, include:

  • Console error messages
  • Relevant config.lua sections
  • Server framework (QBCore, ESX, etc.)

On this page

No Headings

Need help?

Ask on Discord