hbeni / fgcom-mumble

A (flightsim) radio communication simulation based on mumble
GNU General Public License v3.0
16 stars 6 forks source link
atc atc-pie communication flight-simulator flightgear linux macos openradar radio-communications radio-simulation simulation windows

FGCom-mumble - a flightsim radio simulation framework based on mumble

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.

(-> deutsche Version) | donate

The main goals are:

Documentation

The documentation is split up into relevant parts:

Bugs/Feature requests/coding help

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!

Install / Setup for the Client

Setup requirements

Installation

The release ZIP contains all binary plugins for all supported operating systems in the mumble_plugin bundle.

Several installation procedures exist:

GUI method (recommended)

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:

Manual install trough terminal

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

Manual install by file copying

Updating

When 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.

Plugin configuration

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):

Running the client

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.

Generic compatibility

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.

RadioGUI

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).

SimConnect (MSFS-2020) support

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.

Flightgear specific

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.

ATC-Pie specific

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.

OpenRadar specific

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).

Support for FGCom special frequencies

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

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.

Recording

To record an ATIS sample, you need to:

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.

Playback

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

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:

Note: Chances are good that your ATC client does set this up for you and provides some "Talk on Intercom" button.

Test frequencies

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:

Obsolete legacy FGCom 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):

Special FGCom-mumble frequencies

Troubleshooting

When you cannot hear other pilots or are unable to transmit on the radios, you can check the following:

Compiling the plugin

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.

Other interesting compile targets:

Windows native build

The 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:

MacOS native build

There is an makefile alias make plugin-macOS that will do the following: