Difference between revisions of "FGCom-mumble"

From FlightGear wiki
Jump to: navigation, search
(Forum topic: + Another post)
(Installation and setup)
 
(15 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
FGCom-mumble is an alternative to the already known [[FGCom]] client.
 
FGCom-mumble is an alternative to the already known [[FGCom]] client.
  
FGCom-mumble facilitates the plugin mechanism introduced by Mumble 1.4.0 and just needs a precompiled plugin loaded by a stock Mumble client.
+
FGCom-mumble leverages the plugin mechanism introduced by Mumble 1.4.0 and just needs a precompiled plugin loaded by a stock Mumble client.
 
You can download the latest release from https://github.com/hbeni/fgcom-mumble/releases.
 
You can download the latest release from https://github.com/hbeni/fgcom-mumble/releases.
  
Line 9: Line 9:
 
{{caution|The plugin relies on '''Mumble 1.4.0''' which is not yet released.
 
{{caution|The plugin relies on '''Mumble 1.4.0''' which is not yet released.
  
To test FGCom-mumble, you thus need to self compile mumble and murmur.}}
+
To test FGCom-mumble, you thus need to self compile Mumble and Murmur. I wrote a small guide on how to do that on Debian (Bullseye): https://github.com/hbeni/fgcom-mumble/wiki#compiling-mumble-140-plugin-branch-from-krzmbrzl-on-a-debian-testing-bullseye-system
 +
 
 +
You may also try a binary build of that branch (mumble deps must be installed manually): http://fgcom.hallinger.org/mumble-fgcom-test.tar.gz}}
 
{{note| This is currently in development and has no stable release for productive use yet. Expect lots of bugs! }}
 
{{note| This is currently in development and has no stable release for productive use yet. Expect lots of bugs! }}
  
Line 18: Line 20:
 
|developmentstatus  = Active
 
|developmentstatus  = Active
 
|type                = Radio/Communication
 
|type                = Radio/Communication
|latestrelease      = 0.6.0 (03.10.2020)
+
|latestrelease      = [https://github.com/hbeni/fgcom-mumble/releases see release page]
 
|initialrelease      = 0.1.0-alpha (08.06.2020)
 
|initialrelease      = 0.1.0-alpha (08.06.2020)
 
|writtenin          = C++/Lua/Java/PHP
 
|writtenin          = C++/Lua/Java/PHP
Line 27: Line 29:
  
 
== Servers ==
 
== Servers ==
Currently there is no centralized infrastructure yet. If you want to donate one, please let me know!
+
<!-- Maybe we can switch to mumble://radio-mumble.flightgear.fr/fgcom-mumble some time... -->
<!--
+
* The main FGCom-mumble test server is <code>mumble://fgcom.hallinger.org/fgcom-mumble</code>
<TODO> Once we have infrastructure, list it here.
+
* The status page for that service showing all connected clients is at: http://fgcom.hallinger.org/
* The main FGCom-mumble server is [[mumble://radio-mumble.flightgear.fr/fgcom-mumble|mumble://radio-mumble.flightgear.fr/fgcom-mumble]]
+
* The status-page for that service showing all connected clients is: http://some.cool.host/statuspage/
+
-->
+
  
 
== Project main goals ==
 
== Project main goals ==
Line 38: Line 37:
 
* Provide a realistic radio simulation
 
* Provide a realistic radio simulation
 
* Ease of use for the end user/pilot
 
* Ease of use for the end user/pilot
* Arbitary frequency support
+
* Arbitrary frequency support
 
* ATIS recording and playback
 
* ATIS recording and playback
 
* Radio station broadcast support
 
* Radio station broadcast support
Line 52: Line 51:
 
The latest release can be fetched from [https://github.com/hbeni/fgcom-mumble/releases GitHub].
 
The latest release can be fetched from [https://github.com/hbeni/fgcom-mumble/releases GitHub].
  
The provided [https://github.com/hbeni/fgcom-mumble/blob/master/README.md Readme] has detailed instructions on the needed prerequisites and installation procedures.
+
The provided [https://github.com/hbeni/fgcom-mumble/blob/master/README.md README] has detailed instructions on the needed prerequisites and installation procedures.
  
 
In short:
 
In short:
* Have stock mumble client >= 1.4.0 running, and load the plugin
+
* Have a stock Mumble client >= 1.4.0 running, and load the plugin (mumble settings/plugins page)
 
* Join a channel named `fgcom-mumble`
 
* Join a channel named `fgcom-mumble`
* Install the [https://github.com/hbeni/fgcom-mumble/blob/master/client/fgfs/Protocol/fgcom-mumble.xml fgfs protocol file]
+
* Install the [https://github.com/hbeni/fgcom-mumble/blob/master/client/fgfs/Protocol/fgcom-mumble.xml FlightGear protocol file] (at <code>[[$FG ROOT]]/Protocols/</code>)
* Start FlightGear with the new protocol file active (add to launcher: <code>--generic=socket,out,10,localhost,16661,udp,fgcom-mumble</code>)
+
* Start FlightGear with the new protocol active (add to launcher: <code>--generic=socket,out,10,localhost,16661,udp,fgcom-mumble</code>)
* Start using your planes radio stack (it uses default FGCom buttons, see below)
+
* Start using your plane's radio stack (it uses default FGCom buttons, see below)
  
 
== Usage ==
 
== Usage ==
Line 68: Line 67:
 
If you want to try it out without FlightGear, you can also start the supplied RadioGUI.
 
If you want to try it out without FlightGear, you can also start the supplied RadioGUI.
  
=== How to test your setup ? ===
+
=== How to test your setup? ===
First make sure, mumble is working reliably by talking to other persons. Either disable the plugin for that, or be sure you are outside any radio-activated channel (the ones starting with "fgcom-mumble").
+
First, make sure Mumble is working reliably by talking to other people. Either disable the plugin, or be sure you are outside any radio channel (starting with `fgcom-mumble`).
  
The plugin alters mumbles audio stream, it adds static noise depending on the radio signal quality, which even ma cancel out all voice when not in range.
+
The plugin alters Mumble's audio stream. It adds static noise depending on the radio signal quality, or cancels out all audio when not in range.
  
If the server supports it (in essence there is a bot-manager running and a fgcom-radio-bot listening) you may do a traditional echo test by tuning `910.00` and start to talk. The radio bot will record that and spawn an echo bot at your position, replaying your message.
+
If the server supports it (in essence there is a bot-manager running and a `fgcom-radio-bot` listening) you may do a traditional echo test by tuning `910.00` and start to talk. The radio bot will record that and spawn an echo bot at your position, replaying your message.
  
 
=== Troubleshooting ===
 
=== Troubleshooting ===
For troubleshooting, refer to the projects [https://github.com/hbeni/fgcom-mumble/blob/master/README.md#troubleshooting Readme] as it has further suggestions.
+
For troubleshooting, refer to the projects [https://github.com/hbeni/fgcom-mumble/blob/master/README.md#troubleshooting README] as it has further suggestions.
  
 
=== Compatibility ===
 
=== Compatibility ===
 
FGCom-mumble supports the legacy FGCom UDP protocol and thus should be compatible to clients supporting that. However, it also features some new UDP fields.
 
FGCom-mumble supports the legacy FGCom UDP protocol and thus should be compatible to clients supporting that. However, it also features some new UDP fields.
  
* FlightGear is supported trough a new [https://github.com/hbeni/fgcom-mumble/blob/master/client/fgfs/Protocol/fgcom-mumble.xml XML-Protocol file]. This assumes the default radio implementation and works at least with the c172p and the c182s.
+
* FlightGear is supported through a new [https://github.com/hbeni/fgcom-mumble/blob/master/client/fgfs/Protocol/fgcom-mumble.xml XML protocol file]. This assumes the default radio implementation and works with at least the C172P and the C182S.
 
* [[ATC-pie]] has built in support already.
 
* [[ATC-pie]] has built in support already.
* [[OpenRadar]] currently supports just COM1 ([https://sourceforge.net/p/openradar/tickets/5/ ticket pending]). To use COM2 and more, you need to either start several mumble instances, or use FGCom-mumbles RadioGUI.
+
* [[OpenRadar]] currently supports just COM1 ([https://sourceforge.net/p/openradar/tickets/5/ ticket pending]). To use COM2 and more, you need to either start several mumble instances, or use FGCom-mumble's RadioGUI.
 +
: There is a patched version of OpenRadar with FGCom-mumble and  8.33 channel tuning support available here: https://github.com/hbeni/openradar/releases/
  
 
== RadioGUI ==
 
== RadioGUI ==
The FGCom-RadioGUI is a small Java-11 application that can send the FGCom-mumble UDP messages to the mumble plugin.
+
The FGCom-mumble RadioGUI is a small Java 11 application that can send the FGCom-mumble UDP messages to the Mumble plugin.
  
 
Inside the GUI, you can pick your location from a map and then setup your radio stack.
 
Inside the GUI, you can pick your location from a map and then setup your radio stack.
  
 
== Server side ==
 
== Server side ==
By design, all that is needed is a standard Murmur server (version 1.4.0 or later) and a specially named channel (it has to start with "fgcom-mumble"). This is enough to let the plugin do its work. The entire channel is treated as a single, world wide continuous radio frequency spectrum.
+
By design, all that is needed is a standard Murmur server (version 1.4.0 or later) and a specially named channel (it has to start with `fgcom-mumble`). This is enough to let the plugin do its work. The entire channel is treated as a single, worldwide continuous radio frequency spectrum.
  
 
Additional features are implemented using server side Lua bots (which may run somewhere else):
 
Additional features are implemented using server side Lua bots (which may run somewhere else):
Line 99: Line 99:
 
A status page showing client details is available as a PHP website, that gets its data fed from the fgcom-status-bot.
 
A status page showing client details is available as a PHP website, that gets its data fed from the fgcom-status-bot.
  
Detailed installation and operation documentation is shipped with the releases, but also [https://github.com/hbeni/fgcom-mumble/blob/master/server/Readme.server.md online].
+
Detailed installation and operation documentation is shipped with the releases, but is also [https://github.com/hbeni/fgcom-mumble/blob/master/server/Readme.server.md online].
  
 
== Related content ==
 
== Related content ==
Line 112: Line 112:
 
* [[FlightGear_Newsletter_September_2020]]: Mumble API changes, distributed deployment, configuration trough INI, statistics
 
* [[FlightGear_Newsletter_September_2020]]: Mumble API changes, distributed deployment, configuration trough INI, statistics
 
* [[FlightGear_Newsletter_October_2020]]: More API changes, proper 8.33kHz/25kHz overlap, RadiGUI added
 
* [[FlightGear_Newsletter_October_2020]]: More API changes, proper 8.33kHz/25kHz overlap, RadiGUI added
 +
* [[FlightGear_Newsletter_November_2020]]: Test server announced
  
 
== Screenshots ==
 
== Screenshots ==

Latest revision as of 09:08, 30 November 2020

FGCom-mumble simulates radio communication based on the VoIP software Mumble. It integrates fully with the radio stack of your FlightGear plane, allowing you to communicate with other pilots and airspace controllers during your flight. It simulates a global, continuous radio frequency spectrum.

FGCom-mumble is an alternative to the already known FGCom client.

FGCom-mumble leverages the plugin mechanism introduced by Mumble 1.4.0 and just needs a precompiled plugin loaded by a stock Mumble client. You can download the latest release from https://github.com/hbeni/fgcom-mumble/releases.


Caution  The plugin relies on Mumble 1.4.0 which is not yet released.

To test FGCom-mumble, you thus need to self compile Mumble and Murmur. I wrote a small guide on how to do that on Debian (Bullseye): https://github.com/hbeni/fgcom-mumble/wiki#compiling-mumble-140-plugin-branch-from-krzmbrzl-on-a-debian-testing-bullseye-system

You may also try a binary build of that branch (mumble deps must be installed manually): http://fgcom.hallinger.org/mumble-fgcom-test.tar.gz

Note  This is currently in development and has no stable release for productive use yet. Expect lots of bugs!
FGCom-mumble
FGCom-mumble logo
Developed by Benedikt Hallinger
Initial release 0.1.0-alpha (08.06.2020)
Latest release see release page
Written in C++, Lua, Java, PHP
OS Windows, GNU/Linux
Development status Active
Type Radio/Communication
License GNU General Public License v3
Website

Servers

  • The main FGCom-mumble test server is mumble://fgcom.hallinger.org/fgcom-mumble
  • The status page for that service showing all connected clients is at: http://fgcom.hallinger.org/

Project main goals

  • Provide communication with geographic and channel separation
  • Provide a realistic radio simulation
  • Ease of use for the end user/pilot
  • Arbitrary frequency support
  • ATIS recording and playback
  • Radio station broadcast support
  • Landline/Intercom support
  • RDF detection for clients
  • Ease of server side installation and operation
  • Standalone nature (no dependency on FlightGear)
  • Capability to be integrated into FlightGear, with the option to support third party applications (ATC, but also other flight simulators)
  • Modularity, so individual component implementations can be switched and its easy to add features
  • Good and complete documentation

Installation and setup

The latest release can be fetched from GitHub.

The provided README has detailed instructions on the needed prerequisites and installation procedures.

In short:

  • Have a stock Mumble client >= 1.4.0 running, and load the plugin (mumble settings/plugins page)
  • Join a channel named `fgcom-mumble`
  • Install the FlightGear protocol file (at $FG ROOT/Protocols/)
  • Start FlightGear with the new protocol active (add to launcher: --generic=socket,out,10,localhost,16661,udp,fgcom-mumble)
  • Start using your plane's radio stack (it uses default FGCom buttons, see below)

Usage

FlightGear's FGCom-mumble protocol uses the default FGCom buttons: When you want to talk on COM1 you have to press Space. While transmitting you can not hear other pilots trough the used radio (they are half-duplex). You can also talk on COM2 by pressing Shift+Space.

If you want to try it out without FlightGear, you can also start the supplied RadioGUI.

How to test your setup?

First, make sure Mumble is working reliably by talking to other people. Either disable the plugin, or be sure you are outside any radio channel (starting with `fgcom-mumble`).

The plugin alters Mumble's audio stream. It adds static noise depending on the radio signal quality, or cancels out all audio when not in range.

If the server supports it (in essence there is a bot-manager running and a `fgcom-radio-bot` listening) you may do a traditional echo test by tuning `910.00` and start to talk. The radio bot will record that and spawn an echo bot at your position, replaying your message.

Troubleshooting

For troubleshooting, refer to the projects README as it has further suggestions.

Compatibility

FGCom-mumble supports the legacy FGCom UDP protocol and thus should be compatible to clients supporting that. However, it also features some new UDP fields.

  • FlightGear is supported through a new XML protocol file. This assumes the default radio implementation and works with at least the C172P and the C182S.
  • ATC-pie has built in support already.
  • OpenRadar currently supports just COM1 (ticket pending). To use COM2 and more, you need to either start several mumble instances, or use FGCom-mumble's RadioGUI.
There is a patched version of OpenRadar with FGCom-mumble and 8.33 channel tuning support available here: https://github.com/hbeni/openradar/releases/

RadioGUI

The FGCom-mumble RadioGUI is a small Java 11 application that can send the FGCom-mumble UDP messages to the Mumble plugin.

Inside the GUI, you can pick your location from a map and then setup your radio stack.

Server side

By design, all that is needed is a standard Murmur server (version 1.4.0 or later) and a specially named channel (it has to start with `fgcom-mumble`). This is enough to let the plugin do its work. The entire channel is treated as a single, worldwide continuous radio frequency spectrum.

Additional features are implemented using server side Lua bots (which may run somewhere else):

  • ATIS recording and broadcasting
  • Status page data collection

A status page showing client details is available as a PHP website, that gets its data fed from the fgcom-status-bot.

Detailed installation and operation documentation is shipped with the releases, but is also online.

Related content

Forum topic

FlightGear Newsletter

Screenshots