Voice Chat
FiveM ships with a built-in proximity voice system and also supports Mumble as an alternative transport. This guide covers both options, basic proximity/radio configuration, and common connection problems.
Native Voice Chat
Modern FiveM builds use a native, WebRTC-based voice chat system. It runs inside the FiveM client itself — no external voice server is required, and it’s enabled by default on current server artifacts.
# server.cfg
setr voice_useNativeAudio trueHow it works:
- Voice is transmitted peer-to-peer/relayed over WebRTC, established automatically when players connect.
- Players control mic input and talker distance (normal, whisper, shout) from their FiveM client’s in-game settings.
- No separate voice server, ports, or accounts to manage — it works out of the box for basic proximity chat.
Native voice covers proximity chat well, but it does not provide radio channels, phone call audio, or other advanced voice routing on its own. Those are typically layered on top by a scripted voice resource (see below).
Mumble (Legacy / Alternative)
Before native voice matured, FiveM servers relied on Mumble , an open-source low-latency VoIP application, as the voice transport. Some servers still run Mumble because:
- It gives finer control over audio quality, range, and codec behavior.
- It’s the transport most voice frameworks were originally built against, so some custom voice resources (e.g.
pma-voice,saltychat) still use it under the hood for extra features like radio simulation, phone call audio, and positional 3D audio effects. - A dedicated Mumble server can handle larger concurrent voice loads more predictably than relying purely on native voice.
To point your FiveM server at a Mumble server, set the mumble_url convar:
# server.cfg
set mumble_url "mumble.yourdomain.com"Clients connecting to your FiveM server automatically pick up this setting and connect their embedded Mumble client to the specified server — players don’t need a separate Mumble installation.
Running your own Mumble server requires standing up murmur (the Mumble server daemon) separately from your FXServer process, with its own port (default 64738, TCP/UDP) opened in your firewall.
Radio Channels and Proximity Tiers
Vanilla native voice only provides proximity chat with adjustable talker distance — it does not include radio channels out of the box. Radio functionality (channel-based long-range voice, typically bound to an in-game radio item or keybind) is implemented by a voice framework resource layered on top of native voice or Mumble, most commonly:
- pma-voice — proximity voice framework with built-in radio channel support, phone integration, and animation-aware effects (e.g. muffled audio underwater or through walls).
- saltychat — similar feature set, built around Mumble’s positional audio and plugin support.
Most frameworks (QBCore, ESX, Qbox) integrate with one of these resources rather than reinventing voice logic, so pick a voice resource compatible with your framework and follow its own server.cfg and permission setup instructions.
Common Connection Issues
| Symptom | Likely Cause | Fix |
|---|---|---|
| Players can’t hear anyone | Native voice not permitted | Check the player hasn’t denied mic permission in their OS or FiveM’s in-app permission prompt |
| Some players silent, others fine | UDP/WebRTC traffic blocked | Check client-side firewall/NAT isn’t blocking outbound WebRTC; this is a client-side issue, not a server port to open |
| Voice works locally, fails for remote players | Mumble server unreachable | Verify mumble_url resolves and port 64738 (TCP/UDP) is open on the Mumble host’s firewall |
| No sound despite mic showing as active | Browser/OS mic permission not granted to FiveM | Have the player check their OS privacy settings and grant microphone access to the FiveM client |
| Radio channels don’t work but proximity does | Voice framework resource not running or misconfigured | Confirm the voice resource (pma-voice, saltychat, etc.) is ensured and its config matches your framework’s item/keybind setup |
| Voice cuts out intermittently | Client-side network instability | Usually a client connection issue — ask the player to test on a wired connection before assuming a server-side problem |
For general port and firewall setup, see Networking.