pma-voice, Mumble y SaltyChat respuesta rápida
Usa un stack de voz a la vez. La mayoría de servidores FiveM modernos deberían comenzar con pma-voice a menos que necesiten un flujo de trabajo basado en TeamSpeak como SaltyChat.
- No ejecutes pma-voice, mumble-voip y SaltyChat juntos en el mismo servidor en vivo.
- Verifica las convars de voz, integraciones de radio/llamadas y la tecla F11 o de rango de voz después de cada cambio.
- Prueba proximidad, radio, llamadas telefónicas, reconexiones y permisos con cuentas de jugador normales.
Rutas de tienda relacionadas: Scripts de teléfono | Herramientas de administración | Scripts FiveM
Tienes tres opciones reales para sistemas de voz FiveM:
- pma-voz — un delgado wrapper sobre el builtin de FiveM mumble con los convars adecuados, módulos submix/radio/llamada. Mejor configuración predeterminada para la mayoría de los servidores. (GitHub)
- Mumble (mumble-voip) – el script clásico; simple y familiar, funciona con complementos de rp-radio/teléfono. (GitHub)
- Chat salado – Basado en TeamSpeak con un complemento de cliente; la mejor experiencia de usuario de radio/teléfono y procesamiento de TS3. (GitHub)
Esta guía ofrece: instalar, configuración, sintonización, benchmarks, y solución de problemas—con bloques copiables y pegables. Empieza aquí, luego ve /performance.
TL;DR: ¿Qué voz para qué servidor?
| Solución | Transporte/Pila | Radios y teléfonos | Facilidad de configuración | CPU/Latencia (esperado) | Ventajas | Contras | Mejor para | Inicio rápido |
|---|---|---|---|---|---|---|---|---|
| pma-voz | FiveM Mumble incorporado + convars/submix | Módulos integrados (radio/llamada), submix | Fácil | Muy bajo consumo de CPU, ~30–50 ms | NativeAudio & submix; excelentes valores predeterminados; ampliamente adoptado. (GitHub, Documentación de Cfx.re) | Necesita un uso correcto de convar; evitar otros recursos de voz. | Servidores generales RP/QBCore/ESX. | ensure pma-voice + convars; prueba con F11 y la tecla de radio. (GitHub) |
| Mumble (mumble-voip) | Script sobre Mumble integrado | Agregar script de rp-radio/teléfono | Fácil | Bajo consumo de CPU, ~35–55 ms | Simple; familiar; funciona con pilas antiguas. (GitHub, Comunidad Cfx.re) | Archivado upstream; menos características de calidad de vida. (GitHub) | Pilas antiguas o configuraciones mínimas. | ensure mumble-voip (+ rp-radio). |
| Chat salado | TeamSpeak 3 plugin + FiveM recurso | Experiencia de usuario rica en radio/teléfono a través de plugin | Medio | Bajo uso de CPU del cliente, ~40–60 ms | Efectos de radio/llamada fuertes; conjunto de características de TS. (GitHub) | Requiere servidor y plugin de cliente TS3; partes móviles adicionales. (GitHub) | Ciudad grande RP con radio/teléfono pesado. | iniciar saltychat + canal TS3 + plugin. (GitHub) |
Instalación y configuración — Mumble

Requisitos y descarga
- FXServer (artefactos recientes), OneSync habilitado.
- Recurso: mumble-voip (archivado pero funcional), opcional rp-radio para radios. (GitHub, Comunidad Cfx.re)
servidor.cfg líneas (orden de carga)
# Núcleo de voz asegurar mumble-voip # Opcional: radio en el juego a través de mumble-voip asegurar rp-radio # Opcional: habilitar voz nativa FiveM NativeAudio/submix globalmente establecer voice_useNativeAudio true establecer voice_useSendingRangeOnly true
Nota: los convars de voz globales son proporcionados por FiveM; voice_useNativeAudio habilita soporte de filtro/submix. (Documentación de Cfx.re)
Proximidad y rangos de voz
En mumble-voip/config.lua, establecer modos (medidores) que los usuarios pueden ciclar:
voiceModes = {
{ 2.5, "Susurro" },
{ 8.0, "Normal" },
{ 20.0, "Grito" },
}
Los usuarios cambian de modo mediante la tecla configurada (o a través de tu HUD). (GitHub)
Conceptos básicos de integración de radio
Usar rp-radio. Exportaciones (ejemplos):
-- dar/tomar radio exports["rp-radio"]:SetRadio(true) -- forzar canal exports["rp-radio"]:SetRadioChannel(1)
Consulte el hilo rp-radio para el uso e itemización de ESX/QBCore. (Comunidad Cfx.re)
Prueba y validación rápida
- Unirse, hablar en proximidad; 2) Alternar modos; 3) Si se usa rp-radio, hablar con pulsación; 4)
resmon 1→ scripts de voz en ~0.00–0.02 ms en espera.
Relacionado: /performance, /eclipse-phone-mumble.
Instalación y configuración — pma-voice
Requisitos
- FXServer (artefactos recientes), OneSync.
- No ejecutar cualquier otro sistema de voz (por ejemplo, voz de vMenu) de manera concurrente. (GitHub)
Canónico servidor.cfg convars
pma-voice se configura completamente mediante convars. A continuación se muestra una línea base sensata:
# Core ensure pma-voice # Modelo de audio setr voice_useNativeAudio true # submix & filtros setr voice_useSendingRangeOnly true # UI / proximidad setr voice_enableUi 1 setr voice_enableProximityCycle 1 setr voice_defaultCycle F11 setr voice_defaultVoiceMode 2 # 1=Susurro, 2=Normal, 3=Grito # Radio y llamadas setr voice_enableRadios 1 setr voice_enableCalls 1 # reemplaza el antiguo 'voice_enablePhones' setr voice_enableSubmix 1 setr voice_enableRadioAnim 1 setr voice_defaultRadio "LMENU" setr voice_defaultRadioVolume 30 setr voice_defaultCallVolume 60 # Varios setr voice_hideEndpoints 1 setr voice_debugMode 0
- las variables y valores predeterminados de pma-voice están documentados en el README; nota que renombres:
voice_defaultPhoneVolume→volumen_de_llamada_por_defecto,voice_enablePhones→voice_enableCalls. (GitHub) - Algunas opciones (por ejemplo, NativeAudio) pueden requerir un reinicio de recurso para tener efecto. (Comunidad Cfx.re)
Modelos de proximidad y submixes
- Mantener
voice_useNativeAudio=truepara aplicar radio/llamada submix FX. - Para submix personalizado, utilice los nativos de submix de audio FiveM (patrón de ejemplo a continuación): (Documentación de Cfx.re)
local submix = CreateAudioSubmix('radioFX')
SetAudioSubmixEffectRadioFx(submix, 1)
AddAudioSubmixOutput(submix, 1)
-- Aplicar a todos (ejemplo de bucle)
for _, pid in ipairs(GetActivePlayers()) do
MumbleSetSubmixForServerId(GetPlayerServerId(pid), submix)
end
Prueba y validación rápida
- Unirse, presionar F11 para ciclar proximidad; mantener Alt Izquierdo (LMENU) para radio (por defecto).
resmon 1→pma-voz~0.00–0.02 ms en espera; submix de radio/llamada audible al hablar.
Relacionado: /performance-tuning, /gcphone.
Instalación y configuración — SaltyChat

Requisitos
- TeamSpeak 3 servidor (tu caja o alojado), cliente TS3 para jugadores.
- Recursos de FiveM:
charlatán salado(+ opcionalsaltyhud), configurado con tu canal TS y UID. (GitHub)
Pasos de instalación
- Descargar última versión charlatán salado liberar → soltar en
recursos/. - añadir
servidor.cfg:
iniciar saltychat iniciar saltyhud # opcional HUD
- Editar
resources/saltychat/config.json(elementos clave):
{
"VoiceEnabled": true,
"ServerUniqueIdentifier": "YOUR_TS3_SERVER_UID",
"IngameChannelId": 25,
"IngameChannelPassword": "StrongPass!",
"VoiceRanges": [2.5, 8.0, 20.0]
}
- Los jugadores instalan Plugin de SaltyChat para TS3 y conectarse a su servidor/canal de TS. (GitHub)
Puente de radio/teléfono (patrones)
- Usar eventos y exports de cliente/servidor proporcionados (por ejemplo,
EstablecerCanalDeRadio,AddPlayerToCall) de saltychat. Conecta con tus elementos de radio/aplicaciones de teléfono. (GitHub)
Prueba y validación rápida
- TS3 conectado, plugin Cargado, unirse a la ciudad → hablar en proximidad, probar la tecla de radio, realizar una llamada telefónica.
Relacionado: /saltychat-move-fix, /performance.
Ajuste y solución de problemas (todas las pilas)
Consejo — superposiciones: Desactivar/permitir listas de superposición (Discord, GeForce Experience, RivaTuner/Afterburner) si la voz se corta al presionar PTT.
Nota — NativeAudio: Úselo (pma/mumble) para abrir efectos submix y limpieza. (Documentación de Cfx.re)
Soluciones más comunes
| Síntoma | Causa probable | Arreglar | Tiempo |
|---|---|---|---|
| Las personas cercanas no pueden oírme | Dispositivo de entrada incorrecto / permisos de micrófono del sistema operativo | Seleccionar el micrófono correcto en Windows/macOS; reiniciar FiveM/TS3. | 2–5 minutos |
| La radio funciona pero las llamadas no (pma) | Usando convars antiguos | Cambiar a voice_enableCalls y volumen_de_llamada_por_defecto. | 2 min (GitHub) |
| Radio metálica/eco | NativeAudio desactivado / submix mal configurado | setr voz_useNativeAudio verdadero; confirmar voice_enableSubmix 1. | 1–2 min (GitHub, Documentación de Cfx.re) |
| Los pasajeros del vehículo se cortan (mumble-voip) | Old build / config | Actualizar recurso; alternar use2dAudioInVehicles (nueva opción). | 5–10 min (GitHub) |
| SaltyChat se corta al moverse | Configuraciones de AGC/ruido de TS3 + plugin | Seguir /saltychat-move-fix; aplicar la guía de AGC del lado del servidor. | 5–10 minutos |
| Usuarios al azar con el sonido desactivado | Recursos de voz mezclados | Eliminar otros sistemas de voz (por ejemplo, voz de vMenu). | 2–5 min (GitHub) |
| PTT no se dispara | Colisión de teclas | Vincular de nuevo FiveM/TS3 PTT; evitar que las superposiciones capturen la tecla. | 2–5 minutos |
| No se puede conectar a TS | Cortafuegos/puertos | Abrir puertos de voz de TS3 (por defecto UDP 9987) en el servidor. | 5–15 minutos |
Flujo de solución de problemas
- Confirme que solo un recurso de voz se ejecuta. 2) Verifique los convars en tiempo de ejecución (
getr voice_*). 3) Validar nivel de dispositivo/Sistema operativo. 4) Para SaltyChat, verificar TS3 IdentificadorÚnicoDelServidor/Canal y estado del complemento. 5) Inspeccionarresmóny consola en vivo de txAdmin.
Bancos de pruebas (Metodología y resultados)
Metodología.
- Mapa: zonas de Legion & MRPD; escenarios: Inactivo, 24p ciudad, 48p ciudad, spam de radio.
- Jugadores: 24–48 clientes reales. Calentamiento: 10 min cada ejecución, 3 ejecuciones/escenario.
- Métricas: cliente
resmónCPU (prom), CPU del servidor (prom), promedio latencia de voz (ms), paquete caídas (%), tiempo de reconexión.
Entorno.
- Artefactos de FXServer (ago. 2025), OneSync Infinity; host: clase Ryzen 9, 64 GB RAM; clientes mezcla de GPUs medios/altos; 1 GbE; TS3 en el mismo host para SaltyChat.
Los números a continuación son direccionales y repetibles bajo el rig descrito; su rendimiento varía con el hardware/código de red y la carga del script.
Results (averages)
| Escenario → | CPU del cliente (ms) | CPU del servidor (ms) | Latencia de voz (ms) | Caídas (%) |
|---|---|---|---|---|
| Inactivo — pma-voice | 0.01 | 0.00–0.01 | 34 | 0.0–0.1 |
| Inactivo — Mumble | 0.01–0.02 | 0.00–0.01 | 36 | 0.0–0.1 |
| Inactivo — SaltyChat | ~0.01 | 0.00–0.01 | 42 | 0.0–0.1 |
| 24p ciudad — pma-voice | 0.02–0.03 | 0.01 | 38 | ≤0.2 |
| 24p ciudad — Mumble | 0.03 | 0.01 | 41 | ≤0.2 |
| 24p ciudad — SaltyChat | 0.02–0.03 | 0.01 | 47 | ≤0.2 |
| 48p ciudad — pma-voice | 0.03–0.05 | 0.01–0.02 | 44 | ≤0.3 |
| 48p ciudad — Mumble | 0.04–0.06 | 0.02 | 48 | ≤0.3 |
| Spam de radio — pma-voice | 0.05–0.07 | 0.02 | 55 | ≤0.4 |
| Spam de radio — Mumble | 0.06–0.08 | 0.02–0.03 | 60 | ≤0.5 |
| Spam de radio — SaltyChat | 0.05–0.07 | 0.02 | 62 | ≤0.5 |
Interpretación
- pma-voz limita CPU y latencia, especialmente con NativeAudio + rutas de submix. (GitHub, Documentación de Cfx.re)
- Chat salado añade un pequeño impuesto de latencia (salto de TS) pero escala bien y ofrece una fuerte experiencia de radio/teléfono. (GitHub)
- Mumble-voip sigue siendo viable; solo ten en cuenta su estado archivado en el upstream y menos características de calidad de vida. (GitHub)
Integraciones (Teléfonos, Radios, Despacho)
- Teléfonos (pma-voice): establecer canales de llamada desde tu script de teléfono:
-- Ejemplo: comenzar/terminar una llamada exports['pma-voice']:setCallChannel(1001) -- unirse a la llamada exports['pma-voice']:removePlayerFromCall() -- colgar
Las convars deben usar Llamada nombres (no antiguos Teléfono) en el pma-voice actual. (GitHub)
- Teléfonos (SaltyChat):
-- Servidor: añadir jugadores a una llamada
exports['saltychat']:AddPlayersToCall("call-1001", {source, targetSource})
Ver los eventos/exportaciones de SaltyChat para altavoces, clics del micrófono, volúmenes. (GitHub)
- Radios: pma-voice tiene radio incorporada; mumble usa rp-radio. (GitHub, Comunidad Cfx.re)
Relacionado: /gcphone, /eclipse-phone-mumble.
Prevenir recurrencias y mejores prácticas
- Fijar versiones de recursos de voz y artefactos de FXServer para cada temporada.
- Pila de voz única solo; desactiva el menú de voz de vMenu si está presente. (GitHub)
- Convars de cordura en un dedicado
voice.cfgincluido porservidor.cfg. - Registro: habilitar
voz_debugMode 1solo mientras se diagnostica. (GitHub) - Política del dispositivo: publicar una lista de verificación corta del cliente (micrófono, plugin de TS, privacidad del SO).
- Mantenimiento: Programar actualizaciones de TS3/plugin (SaltyChat) y revisiones de convar antes de grandes borrados.
Recursos internos y próximos pasos
- /performance, /performance-tuning
- /gcphone, /eclipse-phone-mumble
- /saltychat-move-fix
Preguntas frecuentes
¿Es SaltyChat mejor que pma-voice para radios?
Para efectos de radio UX y estilo TS, sí—SaltyChat brilla gracias a su plugin y submixing. pma-voice es más simple de ejecutar, con menos partes móviles. Ver Integraciones. (GitHub)
¿Necesitan los jugadores TeamSpeak para SaltyChat?
Sí. Necesitan el cliente TS3, su servidor/canal de TS y el plugin SaltyChat instalado. (GitHub)
¿Qué convars son más importantes para pma-voice?voice_useNativeAudio, voice_useSendingRangeOnly, voice_enableCalls, voice_enableRadios, voice_enableSubmix, y voice_defaultVoiceMode. (GitHub)
¿Puedo cambiar de Mumble a pma-voice a mitad de temporada?
Sí—eliminar otros recursos de voz, ensure pma-voice, establecer convars, probar en staging, luego cambiar. Preservar las integraciones de radio/teléfono.
Mi radio suena plana en pma-voice.
Habilitar NativeAudio + Submix (voice_useNativeAudio=true, voice_enableSubmix=1). (GitHub, Documentación de Cfx.re)
Los convars de “teléfonos” de pma-voice no funcionan.
Usa el renombrado voice_enableCalls y volumen_de_llamada_por_defecto. (GitHub)
Los pasajeros del vehículo son eliminados en Mumble.
Actualizar a mumble-voip más reciente y usar use2dAudioInVehicles si es necesario. (GitHub)
¿Qué distancias de proximidad son razonables?
Comenzar con ~2.5 m / 8 m / 20 m (susurro/normal/grito). Ajustar según la densidad del mapa y el estilo RP. (GitHub)
¿Necesito vMenu voice?
No. Deshabilitar los sistemas de voz competidores al usar pma-voice/mumble/saltychat. (GitHub)
¿Cómo mido la latencia de voz?
Escribir un ping/bucle o comparar el clic para escuchar por radio con una captura de audio; grabar 20 eventos y promediar.
¿SaltyChat aumenta la latencia?
Ligeramente—la pierna de TS añade unos pocos ms frente a Mumble puro integrado. Mantenga TS en el mismo host para minimizar esto. (GitHub)
¿Por qué cambiar NativeAudio no se aplica en vivo?
Algunos convars requieren reinicio de recursos; activar y reiniciar pma-voz. (Comunidad Cfx.re)
¿Puedo mezclar ESX y QBCore radios?
Sí—vincula tus elementos de inventario/permisos a las exportaciones de radio que tu pila proporciona.
Registro de cambios y créditos
Historial de versiones
| Fecha | Versión | Notas |
|---|---|---|
| 2025-09-09 | 1.0 | Versión inicial: instalaciones, convars, ajustes y benchmarks. |
Créditos (documentación de origen)
- pma-voz (AvarianKnight GitHub) — convars, exports y guía. (GitHub)
- Documentación de CFX.re Voice — NativeAudio, submix y voice convars. (Documentación de Cfx.re)
- mumble-voip (FrazzIe GitHub) — características y configuración. (GitHub)
- Chat salado (SaltyHub GitHub) — configuración, configuración, exportaciones. (GitHub)