This project aims to provide a mumble-based modular radio simulation for flight simulators. The project started mainly as a successor for the asterisk-based FGCom implementation.
The documentation is split up into relevant parts:
The project lives on github: https://github.com/hbeni/fgcom-mumble
If you want to request a feature or report a bug, you can do so on the issuetracker there. I appreciate help with coding, so feel free to clone the repository and hand in pull-requests!
The release ZIP contains all binary plugins for all supported operating systems in the mumble_plugin
bundle.
Several installation procedures exist:
After installing Mumble, you can usually install the plugin by just double-clicking the .mumble_plugin
-bundle.
Otherwise you can also use Mumbles integrated plugin installer:
.mumble_plugin
plugin bundle. Mumble will install the plugin file and report success.The installation can also be started by calling mumble from the commandline with the plugin binary release, like: mumble fgcom-mumble-0.14.1.mumble_plugin
.mumble_plugin
bundle to .zip
and extract it.plugins
-folder.
fgcom-mumble.so
for Linux (64 bit)fgcom-mumble.dll
for Windows (64 bit)fgcom-mumble-x86_32.dll
for Windows (32 bit)fgcom-mumble-macOS.bundle
for MacOsWhen Mumble starts, it will check the most recent version of the plugin against the github release page. This can be disabled in mumbles settings.
When a more recent version is found, Mumble will ask you if you want to upgrade. When you allow it, Mumble downloads and replaces the plugin library automatically for you.
You can also download and upgrade manually by the normal installation procedure described above.
Usually the default values are fine. Some features however can be configured differently, like disabling radio audio effects (white noise etc), changing the plugins UDP listen port or the name match of the special fgcom-mumble
channel.
You can do this by copying the fgcom-mumble.ini
example file to your users home folder and adjusting as needed. The file is loaded once at plugin initialization from the following locations (in order):
/etc/mumble/fgcom-mumble.ini
<home>/.fgcom-mumble.ini
<home>/fgcom-mumble.ini
<home>\fgcom-mumble.ini
<home>\Documents\fgcom-mumble.ini
fgcom-mumble
You are ready for radio usage! Some client needs to supply information to the plugin now, so it knows about your location and radio stack.
The plugin aims to be compatible to the legacy fgcom-standalone protocol, so vey much all halfway recent fgfs instances, ATC clients and aircraft should handle it out of the box at least with COM1.
Note that frequencies can be arbitary strings. That said, all participating clients must share a common definition of "frequency", this should be the physical radio wave frequency in MHz and not the "channel" (esp. with 8.3 channels spacing).
Also note that callsigns and frequencies are not allowed to contain the comma symbol (,
). Decimal point symbol has always to be a point (.
).
Despite we expect the connected simulator to provide PTT-information in order to activate radio transmissions, you may also use the configfile to define mappings for mumble's internal voice activation. This way, you can use mumbles own PTT-binding to activate the radios you mapped. By default, the first Radio is already mapped for your convinience.
FGCom-mumble releases ship with a cross-plattform java application that implements most of the UDP protocol and thus can be used not only for testing purposes, but also real operations without the need for another client.
Core features are supported by any radioGUI version but use the latest to be sure to get all features (if in doubt, read the release notes).
RadioGUI can act as a SimConnect bridge to support MSFS2020 and other SimConnect compatible simulators (P3d, FSX, etc). For details on how this can be done, look at RadioGUI's readme.
Just add and activate the FGFS-addon in your launcher (you can use FGCom-Mumble and the old FGCom in parallel).
The FGFS protocol file will handle old 25kHz as well as newer 8.3kHz radios.
After starting flightgear, you can use your radio stack like with FGCom (default is space to talk on COM1, shift+space for COM2, alt+space for COM3 and ctrl+space for intercom). Additional radios can be accessed by adding custom keybinds, or by using the Combar.
The addon can be configured via a new entry in the Multiplayer menu.
Your ADF will recognize transmissions in the kHz range. With enabled ADF-mode the indicated bearing is recognized and visible on the instrument. The plane's audio system may also playback the received analog audio signal. This is usually switched at your plane's audio panel.
Since ATC-Pie v1.7.1 FGCom-mumble is supported out of the box. Be sure to activate the fgcom-mumble option however, as the standard fgcom support does only work with COM1.
Currently, OpenRadar just supports one Radio per UDP port. In case you want several Radios (which is likely), you need to invoke several dedicated mumble processes. This will give you separate FGCom-mumble plugin instances listening on different ports, and in OpenRadar you can thus specify that ports.
For better FGCom-mumble support, patches are already pending and there is a binary package available.
With that patches, you can select FGCom-mumble and then kindly add the same port for each radio (like "16661,16661
" to get two radios connected to your single plugin instance).
A common thing is that pilots may want to easily test if their setup works. This is implemented trough some special bots as well as the plugin itself. Also, FGCom-mumble has builtin special frequencies with alternative behaviour.
Please note there is no global-chat frequency. If you want to globally chat, switch to normal mumble channels or use the landline feature (tune a PHONE
frequency, see below).
ATIS Recording and -playback is provided by a set of specialized server side bots. Look for the recorder bot in mumbles channel list to see if the server supports ATIS recordings.
To record an ATIS sample, you need to:
RECORD_<tgtFrq>
Regular recordings have a serverside limit of 120 seconds by default.
Note: Chances are good that your ATC client does all this for you and you just need to push some "Record ATIS" button.
The RadioGUI has a tuning template for that. It may be a good idea to start a separate instance of the RadioGUI for recording in order to be able to leave the original client data untouched.
If a botmanager
is running at the server, the recorderbot will notify it to start a matching replay-bot. the recording user is by default authenticated to the playback bot and can thus manage it using chat commands (try saying /help
to him to get started).
Landlines/Intercom connections are a feature meant to be used by ATC instances. They are not subject to radio limits like range or signal quality. They operate worldwide and in full duplex.
Landline channel names starts with PHONE
and intercom with IC:
. The difference between the two is audio characteristics.
To talk on an intercom/landline connection:
PHONE:[ICAO]:[POS](:[LINE])
, like PHONE:EDDM:TWR:1
or PHONE:EDMO:GND
.Note: Chances are good that your ATC client does set this up for you and provides some "Talk on Intercom" button.
Test frequencies are provided by a specialized server side bot. Look for the bot in mumbles channel list to see if the server supports test frequencies:
The following traditional FGCom frequencies are not special anymore; these are now implemented trough "default" comms (they were special before because of asterisk implementation details):
<del>
: Providing this frequency will deregister the radio. A Radio on this frequency is never operable and thus never sends or receives transmissions.When you cannot hear other pilots or are unable to transmit on the radios, you can check the following:
Dropping plugin message
), they may cause out of sync state. Reasons can be:
pluginmessagelimit
in murmur.ini
may be too restrictive.The FGCom-mumble client plugin needs to be in binary form. If you want to use the latest code from github, you can compile yourself. The makefile is tailored to be used mainly on linux, but can be used in windows and macOS too.
Prerequisites:
git
, make
, g++
, mingw32
(for windows build)libssl-dev
. MingW/Windows links statically against a build from the git submodule lib/openssl
by invoking make openssl-win
.Building:
git clone https://github.com/hbeni/fgcom-mumble.git
cd fgcom-mumble
make plugin
to build the binary mumble plugin librarymake plugin-win64
to cross-compile to windowsOther interesting compile targets:
make
is an alias for make release
make release
creates release ZIP filesmake debug
will build the plugin and add debug code that will print lots of stuff to the terminal window when running the pluginmake test
builds and runs catch2-unittestsmake tools
builds some utilitys and test toolsThe makefile works well on Windows with cygwin64 with mingw32.
You just need to use x86_64-w64-mingw32-g++
instead of x86_64-w64-mingw32-g++-posix
:
make CC=x86_64-w64-mingw32-g++ plugin-win64
make CC=i686-w64-mingw32-g++ plugin-win32
There is an makefile alias make plugin-macOS
that will do the following:
You need to explicitely use the g++-11 compiler, as the default g++ is linked to clang. Also you need to adjust the path to the openssl distribution:
make -C client/mumble-plugin/ outname=fgcom-mumble-macOS.bundle CC=g++-11 CFLAGS="-I/usr/local/opt/openssl/include/ -L/usr/local/opt/openssl/lib/" plugin
After compilation, rename the plugin binary to fgcom-mumble-macOS.bundle
to stay compatible with the official releases.