Ahorra un 20 % con WELCOMEVer ofertas
Voz en FiveM: Mumble / SaltyChat / pma-voice (Configuración, Tu…

Voz en FiveM: Mumble / SaltyChat / pma-voice (Configuración, Tu…

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ónTransporte/PilaRadios y teléfonosFacilidad de configuraciónCPU/Latencia (esperado)VentajasContrasMejor paraInicio rápido
pma-vozFiveM Mumble incorporado + convars/submixMódulos integrados (radio/llamada), submixFácilMuy bajo consumo de CPU, ~30–50 msNativeAudio & 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 integradoAgregar script de rp-radio/teléfonoFácilBajo consumo de CPU, ~35–55 msSimple; 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 saladoTeamSpeak 3 plugin + FiveM recursoExperiencia de usuario rica en radio/teléfono a través de pluginMedioBajo uso de CPU del cliente, ~40–60 msEfectos 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

murmullo FiveM

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

  1. 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_defaultPhoneVolumevolumen_de_llamada_por_defecto, voice_enablePhonesvoice_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=true para 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 1pma-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

SaltyChat FiveM

Requisitos

  • TeamSpeak 3 servidor (tu caja o alojado), cliente TS3 para jugadores.
  • Recursos de FiveM: charlatán salado (+ opcional saltyhud), configurado con tu canal TS y UID. (GitHub)

Pasos de instalación

  1. Descargar última versión charlatán salado liberar → soltar en recursos/.
  2. añadir servidor.cfg:
iniciar saltychat
iniciar saltyhud # opcional HUD
  1. 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]
}
  1. 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íntomaCausa probableArreglarTiempo
Las personas cercanas no pueden oírmeDispositivo de entrada incorrecto / permisos de micrófono del sistema operativoSeleccionar el micrófono correcto en Windows/macOS; reiniciar FiveM/TS3.2–5 minutos
La radio funciona pero las llamadas no (pma)Usando convars antiguosCambiar a voice_enableCalls y volumen_de_llamada_por_defecto.2 min (GitHub)
Radio metálica/ecoNativeAudio desactivado / submix mal configuradosetr 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 / configActualizar recurso; alternar use2dAudioInVehicles (nueva opción).5–10 min (GitHub)
SaltyChat se corta al moverseConfiguraciones de AGC/ruido de TS3 + pluginSeguir /saltychat-move-fix; aplicar la guía de AGC del lado del servidor.5–10 minutos
Usuarios al azar con el sonido desactivadoRecursos de voz mezcladosEliminar otros sistemas de voz (por ejemplo, voz de vMenu).2–5 min (GitHub)
PTT no se disparaColisión de teclasVincular de nuevo FiveM/TS3 PTT; evitar que las superposiciones capturen la tecla.2–5 minutos
No se puede conectar a TSCortafuegos/puertosAbrir puertos de voz de TS3 (por defecto UDP 9987) en el servidor.5–15 minutos

Flujo de solución de problemas

  1. 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) Inspeccionar resmón y 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ón CPU (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-voice0.010.00–0.01340.0–0.1
Inactivo — Mumble0.01–0.020.00–0.01360.0–0.1
Inactivo — SaltyChat~0.010.00–0.01420.0–0.1
24p ciudad — pma-voice0.02–0.030.0138≤0.2
24p ciudad — Mumble0.030.0141≤0.2
24p ciudad — SaltyChat0.02–0.030.0147≤0.2
48p ciudad — pma-voice0.03–0.050.01–0.0244≤0.3
48p ciudad — Mumble0.04–0.060.0248≤0.3
Spam de radio — pma-voice0.05–0.070.0255≤0.4
Spam de radio — Mumble0.06–0.080.02–0.0360≤0.5
Spam de radio — SaltyChat0.05–0.070.0262≤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)

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.cfg incluido por servidor.cfg.
  • Registro: habilitar voz_debugMode 1 solo 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

FechaVersiónNotas
2025-09-091.0Versió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)