FGCom-mumble: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(FGCom-mumble project site initial draft)
 
mNo edit summary
(44 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''FGCom-mumble''' simulates radio communication based on the VoIP software [https://www.mumble.info/ 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 (or prebuilt binarys).
* '''Linux''':
** You may try a 64 bit binary build of that branch (mumble deps like QT must be installed manually): http://fgcom.hallinger.org/mumble-fgcom-test.tar.gz
** I also 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.
* '''Windows''': You can use a [http://fgcom.hallinger.org/mumble-1.4.0-plugin-win64.zip 64bit] or [http://fgcom.hallinger.org/mumble-1.4.0-plugin-win32.zip 32bit] snapshot build. To access the current one, go to the [https://github.com/mumble-voip/mumble/pull/3743 branchs pull request page] and scroll down. There you can click the "details" tab of the windows check and that leads you to the overview. In the middle you see a grey "View more details on Azure Pipelines" link that yields a "1 artifact produced" link to the EXE. }}
{{note| This is currently in development and has no stable release for productive use yet. Expect lots of bugs! But please, help testing if you can.}}
{{Infobox Software
{{Infobox Software
|title              = FGCom-mumble
|title              = FGCom-mumble
Line 4: Line 22:
|developedby        = Benedikt Hallinger
|developedby        = Benedikt Hallinger
|developmentstatus  = Active
|developmentstatus  = Active
|initialrelease      = 2020
|type                = Radio/Communication
|latestrelease      = 0.6.0 (October, 2020)
|latestrelease      = [https://github.com/hbeni/fgcom-mumble/releases see release page]
|writtenin          = C++, Java, Lua
|initialrelease      = 0.1.0-alpha (08.06.2020)
|writtenin          = C++/Lua/Java/PHP
|os                  = Windows, GNU/Linux
|os                  = Windows, GNU/Linux
|license            = [[GNU General Public License]] v3
|license            = [[GNU General Public License]] v3
Line 12: Line 31:
}}
}}


= What is FGCom-mumble ? =
== Servers ==
FGCom-mumble is a voice communication feature that is based on the VoIP software ''[https://www.mumble.info/ Mumble]''. It simulates radio communication and 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.
<!-- 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>
FGCom-mumble is an alternative to the already known [[FGCom]] client.
* The status page for that service showing all connected clients is at: http://fgcom.hallinger.org/
 
FGCom-mumble faciliates the plugin mechanism introduced by mumble 1.4.0 and just needs a precompiled plugin loaded.
You can download the latest release from https://github.com/hbeni/fgcom-mumble/releases.
 
There is also a status-page available, showing all connected clients: <TODO: add link once it's running somewhere stable>
 


'''The projects main goals are:'''
== Project main goals ==
* Provide communication with geographic and channel separation
* Provide communication with geographic and channel separation
* 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 33: Line 46:
* RDF detection for clients
* RDF detection for clients
* Ease of server side installation and operation
* Ease of server side installation and operation
* Standalone nature (no dependency on flightgear)
* Standalone nature (no dependency on FlightGear)
* Capability to be integrated into flightgear, with the option to support third party applications (ATC, but also other flightsims)
* 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
* Modularity, so individual component implementations can be switched and its easy to add features
* Good and complete documentation
* Good and complete documentation


== Installation and setup ==
The latest release can be fetched from [https://github.com/hbeni/fgcom-mumble/releases GitHub].


= Installation and Setup =
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 mumble >= 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: `--generic=socket,out,10,localhost,16661,udp,fgcom-mumble`)
* 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 ==
FlightGear's FGCom-mumble protocol uses the default FGCom buttons:
When you want to talk on COM1 you have to press {{Key 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 {{Key press|Shift|Space}}.


= Usage =
If you want to try it out without FlightGear, you can also start the supplied RadioGUI.
FGCom-mumble uses the default FGCom buttons:
When you want to talk on COM1 you have to press {{Key press|Space}}. When the {{Key press|Space}} is pressed you can't hear other pilots trough the used radio.
You can also talk on COM2 by pressing {{Key press|Shift}} + {{Key press|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.


== How to test your setup ? ==
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.
First make sure, mumble is working reliably by talking to other persons.


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.
=== Troubleshooting ===
For troubleshooting, refer to the projects [https://github.com/hbeni/fgcom-mumble/blob/master/README.md#troubleshooting README] as it has further suggestions.


If the server supports it (ie. 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.
=== Compatibility ===
 
== Troubleshooting ==
For troubleshooting, refer to the projects [https://github.com/hbeni/fgcom-mumble/blob/master/README.md Readme] as it has furter 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.
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-mumble RadioGUI is a small Java 11 application that can send the FGCom-mumble UDP messages to the Mumble plugin.
The FGCom-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 ==
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.


= Server side =
Additional features are implemented using server side Lua bots (which may run somewhere else):
By design, all that is needed is a standard murmur >= 1.4.0 server 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.
 
Additional features are implemented using server side lua bots (which may run somewhere else):
* ATIS recording and broadcasting
* ATIS recording and broadcasting
* Status page data collection
* Status page data collection


A statuspage showing client details is available as a PHP website, that gets its data feeded 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 is also [https://github.com/hbeni/fgcom-mumble/blob/master/server/Readme.server.md online].
 
== Related content ==
=== Forum topic ===
* The {{forum link|t=37644|title=FGCom-mumble}} has development discussions and release announcements
* {{forum link|p=374950|title=Re: EDDF-Triangle}} and  {{forum link|p=374970|title=Re: EDDF-Triangle}} - Compatibility and differences between FGCom, FGCom-mumble and Mumble


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].
=== FlightGear Newsletter ===
* [[FlightGear_Newsletter_June_2020]]: First prototype announced
* [[FlightGear_Newsletter_July_2020]]: Load tests successful, RDF implemented, Live-Status page added
* [[FlightGear_Newsletter_August_2020]]: More testing, new HF/VHF/UHF models, auto-updater
* [[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_November_2020]]: Test server announced
* [[FlightGear_Newsletter_December_2020]]: Release 0.8.0 bringing networking capability


== Screenshots ==
<gallery>
Fgcom-mumble_statuspage-0.6.0.png|Statuspage 0.6.0
FGCom-mumble_radioGUI-0.6.0.png|RadiGUI 0.6.0
</gallery>


[[Category:FGCom]]
[[Category:FGCom]]
[[Category:Menubar]]

Revision as of 20:48, 17 January 2021

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 (or prebuilt binarys).

Note  This is currently in development and has no stable release for productive use yet. Expect lots of bugs! But please, help testing if you can.
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