De/FGCom-mumble

From FlightGear wiki
Jump to navigation Jump to search

FGCom-mumble simuliert Funkkommunikation basierend auf der freien VoIP software Mumble. Es integriert sich vollstädnig mit den Funkgeräten deines Flugzeuges in FlightGear und erlaubt dir, mit anderen Piloten und Fluglotsen auf realistische Weise zu kommunizieren. Dafür simuliert es ein lückenloses Radiowellenspektrum.

FGCom-mumble ist eine Alternative zum altbekannten FGCom sowie FGExtend.

FGCom-mumble nutzt den Pluginmechanismus, der in Mumble 1.4.0 verfügbar wurde und benötigt lediglich ein vorkompiliertes Plugin, das von einem ganz normalen Mumble-Programm geladen wird. Das aktuellste Release kannst du hier herunterladen: https://github.com/hbeni/fgcom-mumble/releases.

FGCom-mumble
FGCom-mumble logo
Entwickelt von Benedikt Hallinger
Erste Veröffentlichung 1.0.0 (17.01.2022)
Neueste Version see release page
Programmiersprache C++, Lua, Java, PHP
Betriebssystem Windows, GNU/Linux, MacOS
Entwicklungsstand Active
Art Radio/Communication
Lizenz GNU General Public License v3
Website

Server

  • Der FGCom-mumble test server ist mumble://fgcom.hallinger.org/fgcom-mumble
  • Die Statusseite für diese Instanz, die alle verbundenen Clients anzeigt, ist hier: https://fgcom.hallinger.org/
  • Beim ersten Verbinden auf den Server frägt Mumble, ob du dem Zertifikat vertraust. Die Details sind wie folgt:
Common Name: Murmur Autogenerated Certificate v2
Valid from: Mon. Dec. 7 21:12:40 2020 GMT
Valid to: Sun. Dec. 2 21:12:40 2040 GMT
Serial: 3031
Public Key: 2048 bits RSA
Digest (SHA-1): E6:9A:FA:62:2C:48:4D:73:95:D7:EE:0E:14:0D:5A:C2:AE:14:1C:31
Digest (SHA-256): 50:CE:17:63:FB:FC:40:03:B4:BF:8F:1F:84:35:4C:BA:5D:5C:BE:E4:AD:F9:8C:D8:45:1F:C7:28:EB:CA:3A:C0

Es ist immer eine gute Idee, die Fingerabdrücke zu prüfen, bevor man sich verbindet.

Hauptziele des Projektes

  • Bereitstellen von Kommunikation, die sowohl örtlich als auch kanaltechnisch getrennt ist
  • Realistische Funkkommunikation
  • Einfachheit in der Installation und Benutzung
  • Unterstützung für beliebige Frequenzen
  • ATIS Aufnahme und Wiedergabe
  • Zivile Radiostationen sollen unterstützt werden
  • Festnetz/Intercom Unterstützung
  • RDF-Signale für Clients
  • Einfach auf einem Server zu installieren und zu betreieben
  • Unabhängigkeit von Simulatoren wie z.B. Flightgear
  • Fähigkeit, in FlightGear integriert zu werden, mit der Option, weitere Clients und Applikationen zu unterstützen (ATC, aber auch andere Flugsimulatoren)
  • Modularer Aufbau, damit einzelne Komponenten unterschiedlich implementiert werden können und einfache Erweiterbarkeit besteht
  • Gute und vollständige Dokumentation

Installation and Einrichtung

Die aktuelle Version kann hier heruntergeladen werden: GitHub (nightly build bietet auch eine Debug-Variante an).

Die README bietet detaillierte Angaben zur Installation.

Jemand hat sogar ein Video (engl.) von der Installation gemacht! :) https://www.youtube.com/watch?v=jTRzfVfkgZE and https://www.youtube.com/watch?v=boHsPVTSddk

Zusammengefasst:

  • Du brauchst ein installiertes und eingerichtetes Mumble >= 1.4, und dann lade darin das Plugin (unter mumble Einstellungen/plugins)
  • Auf dem Mumbleserver (Version >= 1.4.0) trittst du einem Channel bei, dessen Name mit `fgcom-mumble` beginnt
  • Im FlightGear-Launcher fügst du im Addon-Tab den `fgfs-addon` Ordner der FGCom-Mumble Veröffentlichung hinzu
  • Starte FlightGear und benutze deine Funkgeräte (du funkst mit den ganz normalen FGCom-Tastenkombinationen; siehe unten)

Benutzung

FlightGear's FGCom-mumble Protokoll benutzt die normalen FGCom-Tastenkombinationen:

  • Um auf COM1 zu funken, drückst du Space. Solange du überträgst, kannst du keine anderen Piloten durch das verwendete Funkgerät hören (diese sind Halbduplexgeräte).
  • COM2 sendet mit Shift+Space.
  • Seit FGCom-mumble 1.2.0:
    • Mit COM3 funkst du über Alt+Space (früher musstest du ein eigenes Keybind definieren),
    • Intercom sendet in full-duplex mit Ctrl+Space

Jedes Funkgerät kann außerdem über die COMBar benutzt werden (öffnen über Menu/Multiplayer/FGCom-mumble).

Um FGCom-mumble ohne FlightGear zu probieren, kannst du auch die im Release mitgelieferte RadioGUI starten.


Deine Installation testen

Als erstes solltest du sicherstellen, dass mumble an Sich gut funktioniert und du gut zu verstehen bist sowie andere gut verstehst. Dazu deaktivierst du am Besten das Plugin oder du sprichst mit anderen auf einem Channel, der nicht mit `fgcom-mumble`beginnt.

Das Plugin verändert Mumbles eingehende Audiopakete. Es fügt statisches Rauschen hinzu, das von der simulierten Funksignalstärke abhängt oder hebt den stream sogar auf, wenn der Funksender außerhalb der Reichweite liegt. Ausgehende Audiopakete werden nicht verändert.

Falls der Server es unterstützt, kannst du auch einen traditionellen Echo-Test machen (dazu muss am Server ein `fgcom-recorder-bot` laufen). Funke auf der Frequenz `910.00` MHz und der Recorderbot wird mit der Aufzeichnung beginnen (er schreibt das in den mumble-chat) und nach Abschluss einen bot an deiner Position erzeugen, der das aufgenommene auf der Frequenz wiedergibt. So kannst du dich selbst hören, wie andere dich hören würden.


Fehlerbehebung

Schau bitte in die README des Projekts. Diese hat detaillierte Informationen hierzu.

Solange es nichts grundlegendes mit der Installation zu tun hat, hilft oft auch einfach ein Neustart von Mumble (das Plugin initialisiert sich selbständig frisch).

Kompatibilität

FGCom-mumble unterstützt grundsätzlich das alte FGCom-UDP-Protokoll und sollte somit kompatibel mit allen clients sein, die dieses verwenden (z.B. ältere ATCpie oder OpenRadar Versionen). Allerdings gibt es auch ein paar Erweiterungen, die mit dem alten Protokoll nicht zur Verfügung stehen.

  • FlightGear wird durch ein FlightGear addon unterstützt. Dieses erwartet die Standard-Funkgerätimplementierung (und funktioniert getestet zumindest mit der C172p und der C182S).
  • ATC-pie hat eine integrierte Unterstützung (prüfe, ob "FGCom-mumble" anstelle von nur "FGCom" in den Einstellungen aktiviert ist).
  • OpenRadar Unterstützt im Moment nur COM1 (Ticket dazu ist offen). Für COM2 und weitere musst du entweder separate Mumble-Instanzen öffnen oder FGCom-mumble's RadioGUI zum Funken benutzen.
Es gibt eine gepatchte Version von OpenRadar mit integriertem FGCom-mumble sowie 8.33 Channelmodus; verfügbar hier: http://fgcom.hallinger.org/OpenRadar_fgcom-mumble.jar

Bekannte Inkompatibilitäten

  • Das FlightGear UFO belegt Space selbst, sodass du nicht Funken kannst. Als workaround kannst du die COMBar benutzen, die mit dem FGFS Addon mitkommt.

RadioGUI

Die RadioGUI ist eine kleine Java8 Applikation, die einen FGCom-mumble client implementiert und Funkgeräte bereitstellt. Sie sendet die notwendigen UDP Nachrichten an das Mumble plugin.

In der GUI kannst du deinen Standort über eine Karte auswählen und dann deine Funkgeräte einstellen und testen. Damit kannst du auch komplett mit allen Funktionen am simulierten Funknetz teilnehmen, ohne FlightGear zu starten.

Serverseite

Konzeptionell benötigst du als Minimum einfach einen Standard Mumbleserver (Version 1.4.0 oder höher), auf dem ein Channel eingerichtet wird, der mit `fgcom-mumble` beginnt. Das ist bereits genug, damit das Plugin Clientseitig den Rest erledigen kann. Der komplette Channel wird als einzelnes, weltumspannendes, kontinuierliches Radiowellenspektrum behandelt.

Weitere Funktionen werden über Lua-Bots implementiert (die auch auf einer anderen Maschine laufen können):

  • ATIS Aufzeichnung udn Wiedergabe
  • Radioprogramm Wiedergabe (OGG Wiedergabe auf einer beliebigen Funkfrequenz), z.B. nutzbar für eigene NDBs mit Morsecode (Custom NDB beacons)
  • Statusseite Datensammlung

Eine Statusseite fürs WWW ist als PHP-Seite implementiert, die die notwendigen Daten über den `fgcom-status-bot` bereitgestellt bekommt.

Detaillierte Installations- und Betriebsdokumentation ist in den Veröffentlichungen enthalten, aber auch online im Projekt zugänglich.

Wie funktiooniert das alles? (technische Information)

Die technischen Details sind in den verschiedenen Readme-Dateien im Projekt dargelegt (zum Start empfielt sich Readme.architecture.md).

Zusammengefasst treten alle Teilnehmer einem einzigen Mumble-Channel bei und laden das fgcom-mumble Plugin. Das Plugin tauscht alle notwendigen Daten zwischen den Nutzern aus (Funkgeräte, Frequenzen, Standort, etc.) und basierend auf diesen Informationen werden die eingehenden Audioströme der anderen Nutzer entweder abgespielt oder stummgeschaltet. Für mehr Realismus werden abgespielte Audioströme mit Statischem Rauschen und weiteren Effekten unterlegt. Aufgrund der Stummschaltefunktion abhängig von der Funkreichweite besteht eine unmittelbare Separierung nach Funkkanal und Standort, was allen Nutzern erlaubt, in ein und demselben Mumblekanal zu sein.

Weiterführender Inhalt

Forum topic

FlightGear Newsletter

Screenshots