Tommy's Radio

A realistic P25 radio system for FiveM with a custom voice server, dispatch panel, and GPS tracking.

v6.0FiveM ScriptEscrow Encrypted

A real radio system, not a voice-chat filter.

Other FiveM radio scripts layer channel routing and a static filter on top of pma-voice. Tommy's Radio runs its own voice server and encodes speech with the same P25 IMBE vocoder used in real Motorola APX and Harris XL-185 handhelds — the characteristic digital-radio sound is the codec, not an effect.

Everything a comms stack needs ships in one resource: conventional and trunked channels, a dispatch panel (web and native desktop), 3D proximity audio, GPS tracking, and a live admin panel that retunes every client without a restart. One port, one config file, no external services.

Radio Layouts

Quick Start

Try the Demo Server

Connect to fivem.timmygstudios.com to try it out. Dispatch panel: https://dispatch.timmygstudios.com/ (code: 141)

Installation Summary

  1. Extract the resource to your server's resources folder
  2. Configure config/config.lua — set serverPort, authToken, adminPassword, dispatchNacId
  3. Open the port in your firewall or hosting panel
  4. Add ensure tRadio to server.cfg
  5. Restart — look for the System Ready banner in the console

Features

The codec real radios use — on its own voice server

WebAssembly build of op25's IMBE encoder — the same codec inside Motorola APX and Harris XL-185 handhelds. The sender encodes once; every listener (in-game, dispatch, 3D bystander) decodes locally. The characteristic digital-radio sound is the codec, not a post-processing effect. Bitrate is ~3.7× smaller than Opus.

Runs on a port you pick, completely separate from FiveM and your existing voice stack. Not layered on pma-voice, not piggybacking on a third-party service. One auth token, one config file, no external dependencies.

Tommy's Radio handheld interface

A dispatch panel that dispatches

Dispatch Panel

Web interface plus a native Windows desktop app with global PTT and auto-updates. Dispatchers transmit to any channel, patch frequencies together, trigger custom alerts with tone picks, and assign callsigns. Same vocoder as the in-game radios — audio is consistent either direction.

Conventional and trunked channels

Conventional is a shared frequency — everyone connected hears everyone else. Trunked auto-assigns units to sub-frequencies by location: four units on the same channel spread across the map don't stomp each other's transmissions, and dispatch still reaches all of them on the control frequency. Patching bridges any two or more channels on the fly — a floating channel list HUD shows who's on with you, callsigns, TX state, dispatcher badges, patch- and trunked-aware.

Frequency Patching

Radio in 3D space

Players near a talker hear their radio at their position — voice, tones, siren loop, helicopter rotor, and gunshots fired during a transmission. The earbuds toggle gates your outgoing broadcast. Walk away from your car and the vehicle takes over as the audio source at extended range.

Tune every knob, live

Admin panel for the analog FX chain (highpass, lowpass, compression, drive, distortion mode, mid-boost), the P25 toggle, signal degradation, bonking behaviour, 3D audio ranges, GPS rate, and default radio layouts per vehicle type. Changes broadcast to every connected client instantly — no restart.

Admin panel — codeplug and channel configuration

Built to be customised

Radio models are HTML/CSS folders in layouts/ — install them through the marketplace or drop one in manually and it appears in the Style picker on next open. Per-vehicle-model dashboard prop placement with a Three.js gizmo editor. Custom tones and per-channel-type tone variants configured live in the admin panel. A complete Lua export surface and HTTP API for anything the UI doesn't cover.

Vehicle radio prop placed in dashboard

Pages

Installation

Step-by-step setup, port configuration, and getting your server running.

Configuration

config.lua reference, zones, channels, codeplugs, access control, and framework integration.

Usage & Customization

Controls, admin panel, dispatch panel, animations, layouts, sounds, and dispatch theming.

API Reference

Lua exports, REST endpoints, Socket.IO events, and the dispatch theme JavaScript API.

Troubleshooting

Common problems and fixes for connection, audio, codeplug access, and P25 quality.

On this page

Need help?

Ask on Discord