pma-voice, Mumble und SaltyChat Schnellantwort
Verwende einen Sprachstack zur gleichen Zeit. Die meisten modernen FiveM-Server sollten mit pma-voice beginnen, es sei denn, sie benötigen einen auf TeamSpeak basierenden SaltyChat-Workflow.
- Führe pma-voice, mumble-voip und SaltyChat nicht gleichzeitig auf demselben Live-Server aus.
- Überprüfe Sprach-Consolenbefehle, Radio-/Anruf-Integrationen und den F11- oder Sprachbereich-Taste nach jeder Änderung.
- Teste Nähe, Funk, Telefonate, Wiedervereinigungen und Berechtigungen mit normalen Spielerkonten.
Verwandte Shop-Routen: Telefonskripte | Admin-Tools | FiveM-Skripte
Du hast drei echte Optionen für FiveM-Sprachsysteme:
- pma-Stimme – eine dünne Hülle über FiveMs eingebautem murmeln mit den richtigen Convars, Submix-/Radio-/Call-Modulen. Beste Standardeinstellung für die meisten Server. (GitHub)
- Mumble (Mumble-VoIP) – das klassische Skript; einfach und vertraut, funktioniert mit RP-Radio/Telefon-Add-ons. (GitHub)
- Abonnieren – TeamSpeak-basiert mit einem Client-Plugin; stärkste Radio-/Telefon-UX und TS3-Verarbeitung. (GitHub)
Dieser Leitfaden bietet: installieren, Konfiguration, Tuning, Benchmarks, Und Fehlerbehebung—mit kopierbaren Blöcken. Starte hier, dann sieh /Leistung.
TL;DR: Welche Stimme für welchen Server?
| Lösung | Transportieren/Stapel | Radios & Telefone | Einfache Einrichtung | CPU/Latenz (erwartet) | Pro | Nachteile | Am besten für | Schnellstart |
|---|---|---|---|---|---|---|---|---|
| pma-Stimme | FiveM integriertes Mumble + Convars/Submix | Eingebaute Module (Radio/Ruf), Submix | Einfach | Sehr niedrige CPU, ~30–50 ms | NativeAudio & Submix; tolle Standardeinstellungen; weit verbreitet. (GitHub, Cfx.re-Dokumente) | Benötigt korrekte Convar-Nutzung; andere Sprachressourcen vermeiden. | Allgemeine RP/QBCore/ESX-Server. | pma-voice sicherstellen + Konvertierungen; Test mit F11 und Radiotaste. (GitHub) |
| Mumble (Mumble-VoIP) | Skript über integriertes Mumble | RP-Radio/Telefon-Skript hinzufügen | Einfach | Niedrige CPU, ~35–55 ms | Einfach; vertraut; funktioniert mit alten Stapeln. (GitHub, Cfx.re Gemeinschaft) | Upstream archiviert; weniger QoL-Funktionen. (GitHub) | Legacy-Stacks oder minimale Setups. | ensure mumble-voip (+ RP-Radio). |
| Abonnieren | TeamSpeak 3 Plugin + FiveM-Ressource | Umfangreiche Radio-/Telefon-UX über Plugin | Medium | Niedrige Client-CPU, ~40–60 ms | Starke Radio-/Anrufeffekte; TS-Funktionsumfang. (GitHub) | Erfordert TS3-Server- und Client-Plugin; zusätzliche bewegliche Teile. (GitHub) | Großstadt-RPG mit starkem Radio/Telefon. | Saltychat starten + TS3-Kanal + Plugin. (GitHub) |
Installation und Einrichtung – Mumble

Voraussetzungen & Download
- FXServer (neueste Artefakte), OneSync aktiviert.
- Ressource: murmeln-voip (archiviert, aber funktionsfähig), optional RP-Radio für Radios. (GitHub, Cfx.re Gemeinschaft)
server.cfg Zeilen (Ladereihenfolge)
# Sprachkern stellt Mumble-VoIP sicher # Optional: In-Game-Radio über Mumble-VoIP stellt RP-Radio sicher # Optional: FiveM-Stimme NativeAudio/Submix global aktivieren setr voice_useNativeAudio true setr voice_useSendingRangeOnly true
Notiz: die globalen Sprachkonvertierungen werden von FiveM bereitgestellt; voice_useNativeAudio aktiviert Filter-/Submix-Unterstützung. (Cfx.re-Dokumente)
Näherungs- und Sprachbereiche
In mumble-voip/config.lua, Modi (Meter) festlegen, die Benutzer radeln können:
voiceModes = {
{ 2.5, "Flüstern" },
{ 8.0, "Normal" },
{ 20.0, "Schreien" },
}
Benutzer wechseln die Modi über die konfigurierte Taste (oder über Ihr HUD). (GitHub)
Grundlagen der Funkintegration
Verwenden RP-RadioExporte (Beispiele):
-- Radio geben/nehmen exports["rp-radio"]:SetRadio(true) -- Kanal erzwingen exports["rp-radio"]:SetRadioChannel(1)
Siehe rp-radio-Thread für die Verwendung von ESX/QBCore & Itemisierung. (Cfx.re Gemeinschaft)
Schnelltest und Validierung
- Beitreten, in der Nähe sprechen; 2) Modi umschalten; 3) Bei Verwendung von RP-Radio Push-to-Talk; 4)
Antwort 1→ Sprachskripte bei ~0,00–0,02 ms im Leerlauf.
Verwandt: /Leistung, /eclipse-phone-mumble.
Installation & Einrichtung — pma-voice
Anforderungen
- FXServer (neueste Artefakte), OneSync.
- Nicht Führe ein anderes Sprachsystem (z. B. vMenu voice) gleichzeitig aus. (GitHub)
Kanonisch server.cfg Konvars
pma-voice wird vollständig über convars konfiguriert. Unten ist eine sinnvolle Basis:
# Kern ensure pma-voice # Audio-Modell setr voice_useNativeAudio true # Submix & Filter setr voice_useSendingRangeOnly true # UI / Nähe setr voice_enableUi 1 setr voice_enableProximityCycle 1 setr voice_defaultCycle F11 setr voice_defaultVoiceMode 2 # 1=Flüstern, 2=Normal, 3=Schreien # Radio & Anrufe setr voice_enableRadios 1 setr voice_enableCalls 1 # ersetzt altes 'voice_enablePhones' setr voice_enableSubmix 1 setr voice_enableRadioAnim 1 setr voice_defaultRadio "LMENU" setr voice_defaultRadioVolume 30 setr voice_defaultCallVolume 60 # Sonstiges setr voice_hideEndpoints 1 setr voice_debugMode 0
- pma-voice-Konvars & Standardwerte sind in der README dokumentiert; beachte die benennt um:
voice_defaultPhoneVolume→voice_defaultAnruflautstärke,voice_enableTelefone→voice_enableCalls. (GitHub) - Einige Optionen (z. B. NativeAudio) erfordern möglicherweise eine Ressourcenneustart wirksam werden. (Cfx.re Gemeinschaft)
Näherungsmodelle und Submixe
- Halten
voice_useNativeAudio=trueFunk/Ruf anwenden Submix FX. - Für benutzerdefinierte Submixe, verwende FiveM Audio Submix Natives (Beispielmuster unten): (Cfx.re-Dokumente)
local submix = CreateAudioSubmix('radioFX')
SetAudioSubmixEffectRadioFx(submix, 1)
AddAudioSubmixOutput(submix, 1)
-- Auf alle anwenden (Beispielschleife)
for _, pid in ipairs(GetActivePlayers()) do
MumbleSetSubmixForServerId(GetPlayerServerId(pid), submix)
end
Schnelltest und Validierung
- Beitreten, drücken F11 Näherungsrad fahren; halten Linke Alt-Taste (LMENU) für Radio (Standard).
Antwort 1→pma-Stimme~0,00–0,02 ms im Leerlauf; Radio-/Anruf-Submix beim Sprechen hörbar.
Verwandt: /Leistungsoptimierung, /gcphone.
Installation und Einrichtung – SaltyChat

Anforderungen
- TeamSpeak 3 Server (dein Rechner oder gehostet), TS3-Client für Spieler.
- FiveM-Ressourcen:
Abonnieren(+ optionalsaltyhud), konfiguriert mit deinem TS-Kanal & UID. (GitHub)
Installationsschritte
- Lade die neueste Version herunter Abonnieren loslassen → hineinfallen lassen
Ressourcen/. - Hinzufügen zu
server.cfg:
start saltychat start saltyhud # optional HUD
- Bearbeiten
Ressourcen/saltychat/config.json(Schlüsselelemente):
{
"VoiceEnabled": true,
"ServerUniqueIdentifier": "YOUR_TS3_SERVER_UID",
"IngameChannelId": 25,
"IngameChannelPassword": "StrongPass!",
"VoiceRanges": [2.5, 8.0, 20.0]
}
- Spieler installieren SaltyChat TS3-Plugin und verbinde dich mit deinem TS-Server/Kanal. (GitHub)
Funk-/Telefonbrücken (Muster)
- Verwende die bereitgestellten Client/Server-Events & Exporte (z. B.,
Radiokanal einstellen,AddPlayerToCall) von saltychat. Binde es an deine Radio-Elemente/Telefon-Apps. (GitHub)
Schnelltest und Validierung
- TS3 angeschlossen, Plugin Geladen, Stadt beitreten → in der Nähe sprechen, Funktaste testen, telefonieren.
Verwandt: /saltychat-move-fix, /Leistung.
Tuning und Fehlerbehebung (alle Stapel)
Tipp – Overlays: Deaktivieren/Zulassen von Overlays (Discord, GeForce Experience, RivaTuner/Afterburner), wenn die Stimme beim Drücken von PTT abbricht.
Hinweis – NativeAudio: Benutze es (pma/mumble), um Submix & sauberere Effekte zu öffnen. (Cfx.re-Dokumente)
Die häufigsten Fehlerbehebungen
| Symptom | Wahrscheinliche Ursache | Fix | Zeit |
|---|---|---|---|
| Leute in der Nähe können mich nicht hören | Falsche Eingabegeräte-/Betriebssystem-Mikrofonberechtigungen | Wähle das richtige Mikrofon in Windows/macOS aus; starte FiveM/TS3 neu. | 2–5 Minuten |
| Radio funktioniert, Anrufe jedoch nicht (pma) | Alte Convars verwenden | Wechseln zu voice_enableCalls Und voice_defaultAnruflautstärke. | 2 Minuten (GitHub) |
| Metallisches/halliges Radio | NativeAudio aus / Submix-Fehlkonfiguration | setr voice_useNativeAudio true; bestätigen voice_enableSubmix 1. | 1–2 Minuten (GitHub, Cfx.re-Dokumente) |
| Fahrzeugpassagiere werden unterbrochen (Mumble-VoIP) | Altes Build/Konfiguration | Ressource aktualisieren; umschalten use2dAudioInVehicles (neue Option). | 5–10 Minuten (GitHub) |
| SaltyChat-Clips beim Bewegen | TS3 AGC/Rauscheinstellungen + Plugin | Folgen /saltychat-move-fix; wende serverseitige AGC-Richtlinien an. | 5–10 Minuten |
| Zufällige Benutzer bleiben stummgeschaltet | Gemischte Sprachressourcen | Entferne andere Sprachsysteme (z. B. vMenu voice). | 2–5 Min. (GitHub) |
| PTT wird nicht ausgelöst | Tastenkombinationskollision | FiveM/TS3 PTT neu binden; vermeide, dass Overlays den Schlüssel erfassen. | 2–5 Minuten |
| Verbindung zu TS kann nicht hergestellt werden | Firewall/Ports | Öffne TS3-Sprachports (Standard-UDP 9987) auf dem Server. | 5–15 Minuten |
Ablauf der Fehlerbehebung
- Stelle sicher, dass nur eine Sprachressource läuft. 2) Überprüfe die Konfigurationsvariablen zur Laufzeit (
getr voice_*). 3) Geräte-/Betriebssystemebene validieren. 4) Für SaltyChat TS3 überprüfen ServerUniqueIdentifier/Channel und Plugin-Status. 5) Überprüfenresmonund txAdmin-Live-Konsole.
Benchmarks (Methodik & Ergebnisse)
Methodik.
- Karte: Legion- und MRPD-Zonen; Szenarien: Leerlauf, 24p Stadt, 48p Stadt, Radio-Spam.
- Spieler: 24–48 echte Kunden. Sich warm laufen: 10 Minuten pro Lauf, 3 Läufe/Szenario.
- Metriken: Kunde
resmonCPU (Durchschnitt), Server-CPU (Durchschnitt), Durchschn Sprachlatenz (ms), Paket Tropfen (%), Zeit für erneute Verbindung.
Umfeld.
- FXServer-Artefakte (Aug. 2025), OneSync Infinity; Host: Ryzen 9-Klasse, 64 GB RAM; Clients-Mix aus mittleren/hohen GPUs; 1 GbE; TS3 auf demselben Host für SaltyChat.
Die Zahlen unten sind richtungweisend und wiederholbar unter der beschriebenen Ausrüstung; deine Ergebnisse variieren mit Hardware/Netcode & Skriptlast.
Ergebnisse (Durchschnittswerte)
| Szenario → | Client-CPU (ms) | Server-CPU (ms) | Sprachlatenz (ms) | Tropfen (%) |
|---|---|---|---|---|
| Leerlauf – pma-voice | 0.01 | 0,00–0,01 | 34 | 0,0–0,1 |
| Leerlauf – Murmeln | 0,01–0,02 | 0,00–0,01 | 36 | 0,0–0,1 |
| Leerlauf – SaltyChat | ~0.01 | 0,00–0,01 | 42 | 0,0–0,1 |
| 24p Stadt — pma-voice | 0,02–0,03 | 0.01 | 38 | ≤0,2 |
| 24p Stadt — Mumble | 0.03 | 0.01 | 41 | ≤0,2 |
| 24p Stadt — SaltyChat | 0,02–0,03 | 0.01 | 47 | ≤0,2 |
| 48p Stadt — pma-voice | 0,03–0,05 | 0,01–0,02 | 44 | ≤0,3 |
| 48p Stadt — Mumble | 0,04–0,06 | 0.02 | 48 | ≤0,3 |
| Radio-Spam – pma-voice | 0,05–0,07 | 0.02 | 55 | ≤0,4 |
| Radio-Spam – Mumble | 0,06–0,08 | 0,02–0,03 | 60 | ≤0,5 |
| Radio-Spam – SaltyChat | 0,05–0,07 | 0.02 | 62 | ≤0,5 |
Interpretation
- pma-Stimme führt zu CPU- und Latenzproblemen, insbesondere bei NativeAudio + Submix-Pfaden. (GitHub, Cfx.re-Dokumente)
- Abonnieren fügt eine kleine Latenzsteuer (TS-Hop) hinzu, ist aber gut skalierbar und liefert eine starke Radio-/Telefon-UX. (GitHub)
- Mumble-VoIP bleibt brauchbar; beachte einfach seinen archivierten Zustand upstream und weniger QoL-Funktionen. (GitHub)
Integrationen (Telefone, Funkgeräte, Dispatch)
- Telefone (pma-voice): setze Rufkanäle von deinem Telefonskript:
-- Beispiel: Anruf beginnen/beenden exports['pma-voice']:setCallChannel(1001) -- Anruf beitreten exports['pma-voice']:removePlayerFromCall() -- auflegen
Convars muss die Anruf Namen (nicht alt Telefon) in aktueller PMA-Stimme. (GitHub)
- Telefone (SaltyChat):
-- Server: Spieler zu einem Anruf hinzufügen exports['saltychat']:AddPlayersToCall("call-1001", {source, targetSource})
Siehe Saltychat-Exporte/Ereignisse für Lautsprecher, Mikrofonklicks, Lautstärken. (GitHub)
- Radios: pma-voice hat ein eingebautes Radio; Mumble verwendet RP-Radio. (GitHub, Cfx.re Gemeinschaft)
Verwandt: /gcphone, /eclipse-phone-mumble.
Wiederholung verhindern und bewährte Vorgehensweisen
- Pin-Versionen von Sprachressourcen und FXServer-Artefakten für jede Staffel.
- Einzelner Stimmenstapel nur; vMenu-Stimme deaktivieren, falls vorhanden. (GitHub)
- Sanity-Konvertierungen in einem dedizierten
voice.cfgenthalten durchserver.cfg. - Protokollierung: aktivieren
voice_debugMode 1nur während der Diagnose. (GitHub) - Geräterichtlinie: veröffentliche eine kurze Client-Checkliste (Mikrofon, TS-Plugin, OS-Datenschutz).
- Wartung: TS3/Plugin-Updates (SaltyChat) und Convar-Überprüfungen vor großen Wipes planen.
Interne Ressourcen und nächste Schritte
- /Leistung, /Leistungsoptimierung
- /gcphone, /eclipse-phone-mumble
- /saltychat-move-fix
Häufig gestellte Fragen
Ist SaltyChat besser als pma-voice für Radios?
Für Radio-UX und TS-Effekte, ja – SaltyChat glänzt dank seines Plugins und Submixing. pma-voice ist einfacher zu bedienen, mit weniger beweglichen Teilen. Siehe Integrationen. (GitHub)
Brauchen Spieler TeamSpeak für SaltyChat?
Ja. Sie benötigen den TS3-Client, deinen TS-Server/Kanal und das SaltyChat-Plugin. (GitHub)
Welche Konvertierungen sind für pma-voice am wichtigsten?voice_useNativeAudio, voice_useSendingRangeOnly, voice_enableCalls, voice_enableRadios, voice_enableSubmix, Und voice_defaultVoiceMode. (GitHub)
Kann ich mitten in der Saison von Mumble zu pma-voice wechseln?
Ja – andere Sprachressourcen entfernen, pma-voice sicherstellen, Convars festlegen, auf der Bühne testen, dann wechseln. Radio-/Telefonintegrationen beibehalten.
Mein Radio klingt bei PMA-Stimme flach.
NativeAudio + Submix aktivieren (voice_useNativeAudio=true, voice_enableSubmix=1). (GitHub, Cfx.re-Dokumente)
pma-voice „Telefon“-Konvertierungen funktionieren nicht.
Benutze die umbenannte voice_enableCalls Und voice_defaultAnruflautstärke. (GitHub)
Fahrzeugpassagiere werden bei Mumble ausgeschaltet.
Aktualisiere auf die neueste mumble-voip-Version und verwende use2dAudioInVehicles falls erforderlich. (GitHub)
Welche Näherungsabstände sind sinnvoll?
Beginne mit ~2,5 m / 8 m / 20 m (Flüstern/normal/Schreien). Passe die Dichte der Karte und den RP-Stil an.GitHub)
Benötige ich die vMenu-Stimme?
Nein. Deaktiviere konkurrierende Sprachsysteme, wenn du pma-voice/mumble/saltychat verwendest. (GitHub)
Wie messe ich die Sprachlatenz?
Skripte einen Ping/Loopback oder vergleiche Klick-zu-Hören über Radio mit einer Audioaufnahme; nimm 20 Ereignisse auf und berechne den Durchschnitt.
Erhöht SaltyChat die Latenz?
Etwas—the TS-Bein fügt ein paar ms gegenüber reinem eingebauten Mumble hinzu. Halte TS auf demselben Host, um dies zu minimieren. (GitHub)
Warum wird die Änderung von NativeAudio nicht live übernommen?
Einige Konvertierungen erfordern einen Neustart der Ressource. Umschalten und Neustarten pma-Stimme. (Cfx.re Gemeinschaft)
Kann ich mischen ESX und QBCore Radios?
Ja—binde deine Inventarartikel/Berechtigungen an die Radio-Exporte, die dein Stack bereitstellt.
Änderungsprotokoll & Danksagungen
Versionsverlauf
| Datum | Version | Hinweise |
|---|---|---|
| 2025-09-09 | 1.0 | Erstveröffentlichung: Installationen, Konvertierungen, Optimierungen und Benchmarks. |
Credits (Upstream-Dokumente)
- pma-Stimme (AvarianKnight GitHub) – Konvertierungen, Exporte und Anleitungen. (GitHub)
- CFX.re Voice-Dokumente — NativeAudio, Submix und Sprachkonvertierungen. (Cfx.re-Dokumente)
- murmeln-voip (FrazzIe GitHub) – Funktionen und Konfiguration. (GitHub)
- Abonnieren (SaltyHub GitHub) – Setup, Konfiguration, Exporte. (GitHub)