Chapitre 6
Fonctionnalités

FlightGear contient de nombreuses fonctonnalités spécifiques, certaines d’entre elles n’étant pas directement apparentes pour le nouvel utilisateur. Ce chapitre décrit comment activer et utiliser quelques unes des fonctionnalités les plus avancées.

De nombreuses fonctionnalités sont en développement permanent, donc l’information présente dans le manuel peut ne pas être complètement à jour. For the very latest information (and new features), see the FlightGear Wiki, available from https://wiki.flightgear.org.

6.1 Multijoueurs

FlightGear offre un environnement multijoueurs, vous permettant de partager l’air avec d’autres amateurs de simulation de vol. Pour plus de détail sur les serveurs et pour voir qui est en ligne (et où ils volent), allez jeter un œil à l’excellente carte multijoueurs, disponible à l’adresse :

http://mpmap02.flightgear.org

Cliquez sur l’onglet “server” pour voir une liste des serveurs multijoueurs.

6.1.1 Démarrage rapide

Vous pouvez vous connecter à l’environnement multijoueurs (MP) à partir de la boîte de dialogue du menu Multijoueurs. Choisissez simplement le serveur le plus proche de chez vous à partir de la liste, entrez un indicatif (qui sera vu par les autres joueurs) et cliquez sur “Connect”.

Pour affichez une liste des autres pilotes dans la zone, sélectionnez Pilot List à partir du menu Multijoueurs.

Sous les serveurs multijoueurs standard sont interconnectés, donc il n’est pas nécessaire d’être
connecté sur le même serveur que les gens avec qui vous volez.

6.1.2 Autres méthodes

Si vous vous connectez à un serveur non standard, ou si la méthode ci-dessus ne fonctionne pas, vous pouvez aussi vous connecter en utilisant les méthodes çi-dessous.

Utilisation du lanceur FlightGear

L’écran final du lanceur FlightGear comporte une section pour les fonctions multijoueurs. Choisissez simplement la case à cocher, entrez le nom d’hôte et le numéro de port que vous avez noté ci-dessus et choisissez un indicatif pour vous identifier. Votre indicatif peut comporter jusqu’à 7 caractères. Vous devez également cocher la case AI models sous Features pour rendre les autres aéronefs visibles.

Utilisation de la ligne de commande

Les arguments de base à passer à fgfs pour le mode multijoueurs sont les suivants :

--multiplay=out,10,<server>,<portnumber>
--multiplay=in,10,<client>,<portnumber>
--callsign=<callsign>
--enable-ai-models

  1. <portnumber> est le numéro de port TCP du serveur, par exemple 5000.
  2. <server> est le nom du serveur multijoueurs, par exemple mpserver01.flightgear.org.
  3. <client> est le nom de votre ordinateur, ou l’adresse IP de l’interface réseau utilisée par FG pour se connecter au serveur, même s’il c’est une adresse locale du type 192.168, comme 192.168.0.1
  4. <callsign> est l’indicatif pour vous identifier, jusqu’à 7 caractères, par exemple F-FGFS.

Une fois que le simulateur est lancé, vous devriez vous voir apparaître sur la carte. Si ce n’est pas le cas, vérifiez si la console contient des messages d’erreurs et voyez la section Résolution des problèmes çi-dessous.

6.1.3 Résolution des problèmes

Pour faire fonctionner le mode multijoueurs, nous avons besoin d’information sur l’adresse IP de notre ordinateur et sa capacité à communiquer avec le serveur. L’obtention de cette information dépend de votre configuration et est décrite çi-dessous.

Ceux qui utilisent un modem USB pour se connecter à Internet

Tout d’abord, vous devez connaître l’adresse IP de l’interface réseau sur laquelle vous allez utiliser le mode multijoueurs. Si votre connexion Internet est réalisée via un modem ADSL qui est directement raccordé à votre ordinateur par le biais d’une connexion USB, vous devriez être capable de trouver votre adresse IP en visitant le site https://www.whatismyip.com. Veuillez noter que cette adresse peut parfaitement varier de temps en temps. Si le mode multijoueurs ne fonctionne plus, vérifiez ce point en priorité.

Those using some kind of Ethernet router to connect to the Internet

Otherwise, your connection is likely via some kind of router that connects to your computer via an RJ-45, or “Ethernet” connector (similar shape to most Western telephone plugs), or by a wireless link. You need to find the IP address of that network interface.

Under Linux, this can be found by logging in as root and typing “ifconfig”. You may find more than one interface listed, beginning with “lo” – ignore that one. You should have something like “eth0” or “wlan0” also listed – look through this block of text for “inet”. This will be followed directly by the number you’re looking for, e.g. “inet 192.168.0.150”

Under Windows 10, click menu Start and type “cmd”. In the terminal window which appears, type “ipconfig”. This should show you your IP address – note it down.

If It Still Doesn’t Work

You MUST give your local, behind-the-router IP address for MultiPlayer to work. Trust me on this one!

You should check that your firewall is not causing problems – either turn it off temporarily or add an exception to allow incoming connections on port 5000.

If it’s still just not working for you, ask nicely on the FlightGear IRC channel and someone should be able to assist.

6.2 Porte-avions

FlightGear supports operations on several carriers, both in the US (such as Nimitz and Vinson in San Francisco) and the Mediterranean sea (such as Eisenhower and Foch). The carriers are equipped with working catapult, arrester wires, elevators, TACAN and FLOLS .

Note that several FG aircraft are carrier-capable, but the seahawk is possibly the easiest to fly to begin with.

6.2.1 Démarrage depuis un porte-avions

To position your aircraft on the carrier at startup, use the following command line options:

--carrier=Nimitz --aircraft=seahawk

Please note the uppercase “N” in “Nimitz”.

If you are using the launcher, you can select a carrier from the Location screen. Click on the “boat” button on the top right (to the right of the search bar). This will display a list of available carriers, and allow you to set the start position – either on deck or in the air.

If you are using the Windows or OS X launcher to run FG, you should find a text entry box in the gui that allows you to specify command line options, add the above options there.

6.2.2 Catapultage

Once FlightGear has started, you should ensure that the parking brakes are off and press and hold L to engage the launchbar. You must hold down L until the launch bar has engaged. You should notice the aircraft being pulled into alignment with the catapult and see the strops appear and hold down the aircraft. This will only happen if your aircraft is close enough to the correct spot on the catapult; as a rough guide, for the default parking position the seahawk’s nose should be roughly level with the deck observation bubble.

To get the carrier into as good a position as possible for launch, open the AI Objects dialog from the AI menu, select the carrier you are at (in this case, Nimitz), and select the option Turn to launch course. You should now notice the carrier begin to pick up speed and turn into the wind, and naturally the deck may tilt somewhat as it turns. You should wait for this maneuver to finish and the deck to return to level before moving on to the next stage.

Being attached to the catapult, you should spool up the engines to full power, ensure the brakes are off and that all flight controls are in a suitable position for launch (stick held right back with the seahawk). When ready, press C to release the catapult. Your aircraft will be hurled forward off the deck, and you should be able to raise the undercarriage and climb slowly away, being careful to avoid stalling.

6.2.3 Utilisation du TACAN pour trouver le porte-avions

Actually finding the carrier in a vast expanse of open water can be very difficult, especially if visibility is poor. To assist with this task, Nimitz is equipped with TACAN (TACtical Air Navigation), which allows a suitably-equipped aircraft (including the Seahawk) to obtain a range and bearing to the carrier. First, you must set the appropriate TACAN channel, 029Y in this case, in the radios dialogue (F12 or choose Equipment Radio Settings from the FG menubar). You should, if within range, notice the DME (Distance Measuring Equipment) instrument show your distance from the carrier, and the ADF (Automatic Direction Finder) instrument (next to the DME in the seahawk) should indicate a bearing to the carrier. Turn to the indicated heading and you should see the DME dial indicate your closing in on the carrier.

6.2.4 Appontage

This is the most difficult part of the operation, as in real life. You might well find Andy Ross’ tutorial on operating the A4 Skyhawk useful. It is available from here:

https://wiki.flightgear.org/A-4F_Skyhawk_Operations_Manual

Once you have used the TACAN to locate the carrier, you must line up with the rear of the flight deck. As this part of the deck is at an angle to the course of the vessel, you may need to correct your alignment often. Ensure that the aircraft is in the correct configuration for approach (the Help Aircraft Help menu should contain useful data for your aircraft) and that the gear and the arrestor hook are down.

As you approach you should see, on the left hand side of the deck, a set of brightly coloured lights – called the Fresnel Lens Optical Landing System (FLOLS). This indicates your position on the landing glideslope. You will see a horizontal row of green lights, and when approximately on the glideslope, an orange light (known in some circles as the “meatball”) approximately in line with the green lights. When approaching correctly, the meatball appears in line with the green lights. If you are high it is above, and when low it is below. If you are very low the meatball turns red. If you fly to keep the meatball aligned you should catch number 3 wire.

Carrier landings are often described as “controlled crashes” and you shouldn’t waste your time attempting to flare and place the aircraft gently on the deck like you would with a conventional landing – ensuring that you catch the wires is the main thing.

Immediately your wheels touch the deck, you should open the throttles to full power, in case you have missed the wires and need to “go around” again; the wires will hold the aircraft if you have caught them, even at full power.

If you wish, you can then raise the elevators (through the AI AI Objects <your carrier> menu), taxi onto one of the elevators, lower it (uncheck the box on the menu) and taxi off into the hangar.

Don’t be discouraged if you don’t succeed at first – it’s not an easy maneuver to master. If after a little practice you find the Seahawk too easy, you could move on to the Seafire for more of a challenge!

6.3 Atlas

Atlas is a “moving map” application for FlightGear. It displays the aircraft in relation to the terrain below, along with airports, navigation aids and radio frequencies.

Further details can be found on the Atlas website:

http://atlas.sourceforge.net

6.4 Affichage multi-écrans

FlightGear supports multiple displays. Using some straightforward XML, you can configure multiple “slave cameras” that are offset from the main view, so you can use multiple monitors to display a single view of the simulator. For example, you can have one display showing the view straight ahead, while two additional displays show the view to either side.

Information on configuring multiple displays can be found in the README.multiscreen file in the docs directory of your FlightGear installation.

6.5 Plusieurs ordinateurs

FlightGear allows you to connect multiple instances of the program using the very flexible I/O subsystem, and display completely different views and controls on different computers. This can be used in combination with the Multiple Display support to create a more sophisticated environment with separate cockpit panel displays and even a separate control station allowing an instructor to fail instruments, change the weather etc.

An example of this is the 747 cockpit project:

http://geoffair.org/fg/site/Projects/747-JW/

6.5.1 Concepts de base

Each instance of FlightGear can support a single display. Due to the complexity of the FDM and graphics, FlightGear is very processor-intensive, so running multiple instances of FlightGear on a single machine is not recommended.

You will therefore need a computer for each view of the simulation you wish to display, including the panel. The computers obviously must be networked and for simplicity should be on the same subnet.

One computer is designated as the primary machine. This computer will run the FDM and be connected to controls such as yokes, joysticks and pedals. As the machine is running the FDM, it usually only displays a simple view, typically the main panel, to maximize performance.

All other computers are designated as secondary. They are purely used for display purposes and receive FDM information from the primary.

6.5.2 Configuration simple

Creating a basic configuration for multiple displays is straightforward. The primary computer needs to broadcast the FDM and control information to the secondary machines. This is done using the following command line options:

--native-fdm=socket,out,60,<IP-secondary>,5505,udp
--native-ctrls=socket,out,60,<IP-secondary>,5506,udp

You should change <IP-secondary> to the IP of your secondary machine. Finding out the IP of your machine is dependent on your OS; how to do it you can see in Section 6.1.3.0. If you have multiple secondaries, you can copy these two options in the primary’s command line as many times as required, changing the <IP-secondary> field appropriately for each secondary and keeping the rest of the fields identical.

After starting the primary, you can start the secondary computers. These need to listen for the information provided by the primary, and also need to have their own FDMs switched off:

--native-fdm=socket,in,60„5505,udp
--native-ctrls=socket,in,60„5506,udp
--fdm=null

6.5.3 Configuration avancée

The options listed above will simply show the same view on both machines. You will probably also want to set the following command-line options on most of the computers:

--enable-fullscreen (full screen for sdl or windows)
--prop:/sim/menubar/visibility=false (hide menu bar)
--prop:/sim/ai/enabled=false (disable AI ATC)
--prop:/sim/ai-traffic/enabled=false (disable AI planes)
--prop:/sim/rendering/bump-mapping=false

If using the primary to display a panel only, you may wish to create a full-screen panel for the aircraft you wish to fly (one is already available for the Cessna 172), and use the following options on the primary:

--enable-panel (enable the display of the 2D cockpit panel)
--disable-hud (disable the HUD)
# switch off rendering the world:
--prop:/sim/rendering/draw-mask/terrain=false
--prop:/sim/rendering/draw-mask/aircraft=false
--prop:/sim/rendering/draw-mask/models=false
--prop:/sim/rendering/draw-mask/clouds=false

6.6 Enregistrement et “replay”

As well as the Instant Replay feature within the simulator, you can record your flight for later analysis or replay using the I/O system. Technical details of how to record specific FDM information can be found in the $FG_ROOT/Docs/README.protocol file.

To record a flight, use the following command line options:

--generic=file,out,20,flight.out,playback

This will record the FDM state at 20 Hz (20 times per second), using the playback protocol and write it to a file flight.out. To play it back later, use the following command line options:

--generic=file,in,20,flight.out,playback
--fdm=external

The playback.xml protocol file does not include information such as plane type, time of day, so you should use the same set of command line options as you did when recording.

6.7 Synthèse vocale avec Festival

FlightGear supports Text To Speech (TTS) for ATC and tutorial messages through the festival TTS engine (http://www.cstr.ed.ac.uk/projects/festival/). This is available on many Linux distros, and can also be installed easily on a Cygwin Windows system. At time of writing, support on other platforms is unknown.

6.7.1 Installation de Festival

  1. Install festival. Some Linux distros (such as Ubuntu 20.04) have packages available to install from their package managers. Otherwise, you can install it from
    http://www.cstr.ed.ac.uk/projects/festival/.
  2. Check if Festival works. Festival provides a direct console interface. Only the relevant lines are shown here. Note the parentheses!

    $ festival
    festival> (SayText "FlightGear")
    festival> (quit)
    

  3. Check if MBROLA is installed. Again, you may be lucky and find it in your distro’s package manager. Otherwise, the official page of the project is:

    https://github.com/numediart/MBROLA

    MBROLA is optional, so you can skip it if you wish. But then you can’t use the more realistic voices :(

    Run MBROLA and marvel at the help screen. That’s just to check if it’s in the path and executable.

    $ mbrola -h
    

6.7.2 Utilisation de FlightGear avec la synthèse vocale

First start the festival server:

$ festival --server

Now, start FlightGear with voice support enabled. You can do that by adding the following option to your command line:

--prop:/sim/sound/voices/enabled=true

Of course, you can put this option into your personal configuration file. This doesn’t mean that you then always have to use FlightGear together with Festival. You’ll just get a few error messages in the terminal window, but that’s it. You cannot enable the voice subsystem when FlightGear is running.

To test it is all working, contact the KSFO ATC using the  key. You should hear your voice first (and see the text in yellow color on top of the screen), then you should hear ATC answer with a different voice (and see it in light-green color).

6.7.3 En cas de problème

On some Linux distros, festival access is restricted, and you will get message like the following:

client(1) Tue Feb 21 13:29:46 2006 : \
  rejected from localhost.localdomain
not in access list

Details on this can be found from:

http://www.festvox.org/docs/manual-2.4.0/festival_28.html.

You can disable access restrictions from localhost and localhost.localdomain by adding the following to a .festivalrc file in $HOME:

(set! server_access_list '("localhost"))
(set! server_access_list '("localhost.localdomain"))

Or, you can just disable the access list altogether:

(set! server_access_list nil)

This will allow connections from anywhere, but should be OK if your machine is behind a firewall.

6.7.4 Installation de voix supplémentaires

I’m afraid this is a bit tedious. You can skip it if you are happy with the default voice. First find the Festival data directory. All Festival data goes to a common file tree, like in FlightGear. This can be /usr/local/share/festival/ on Unices. We’ll call that directory $FESTIVAL for now.

  1. Check which voices are available. You can test them by prepending voice_:

    $ festival
    festival> (print (mapcar (lambda (pair) (car pair)) \
                                        voice-locations))
    (kal_diphone rab_diphone don_diphone us1_mbrola \
                       us2_mbrola us3_mbrola en1_mbrola)
    nil
    festival> (voice_us3_mbrola)
    festival> (SayText "I've got a nice voice.")
    festival> (quit)
    

  2. Festival voices and MBROLA wrappers can be downloaded here:

    http://festvox.org/packed/festival/1.95/

    The don_diphone voice is not the best, but it is comparatively small and well suited for ai-planes. If you install it, it should end up as directory

    $FESTIVAL/voices/english/don_diphone/. You also need to install festlex_OALD.tar.gz for it as $FESTIVAL/dicts/oald/ and run the Makefile in this directory.
    (You may have to add --heap 10000000 to the festival command arguments in the Makefile.)

  3. Quite good voices are “us2_mbrola”, “us3_mbrola”, and “en1_mbrola”. For these you need to install MBROLA (see above) as well as these wrappers:

    festvox_us2.tar.gz
    festvox_us3.tar.gz
    festvox_en1.tar.gz
    

    They create directories $FESTIVAL/voices/english/us2_mbrola/ etc. The voice data, however, has to be downloaded separately from another site (see point 4).

  4. MBROLA voices can be downloaded from the MBROLA download page (see above). You want the voices labeled “us2” and “us3”. Unpack them in the directories that the wrappers have created: $FESTIVAL/voices/english/us2_mbrola/ and likewise for “us3” and “en1”.

6.8 Ravitaillement en vol

As the name suggests, Air-Air Refueling (AAR) involves refueling an aircraft (typically a short-range jet fighter) from a tanker aircraft by flying in close formation. FlightGear supports several tankers, each of them supporting one of two systems. The first one comprises a boom that connects to a receiver on the refueling aircraft. The second deploys a hose into which the refueling aircraft inserts a probe.

A number of aircraft support AAR, including the T-38, Lightning, A-4F, Vulcan, Victor (which can also act as a tanker) and A-6E. You can tell if a particular aircraft supports AAR by looking at the AI menu. If the Tanker Controls item is enabled, the aircraft supports AAR.

6.8.1 Procédure

To set up AAR, simply start FlightGear with an AAR-enabled aircraft, take-off and climb to about 15 000 ft. Once cruising at this altitude, open menu AI Tanker Controls, select a tanker from the drop-down list and click on Request. This will spawn a new tanker in clear air.

FlightGear will report the altitude, heading, speed, and TACAN identifier of the tanker. Program your TACAN with the TACAN identifier reported by the tanker (through the Equipment Radio Settings dialog, or your cockpit controls). Depending on your aircraft, the tanker may also appear on your radar. If you require more help to find the tanker, you can click on Get Position to be told the tanker location relative to yourself.

Turn to an appropriate heading, guided by the TACAN bearing (you should try a “leading” approach to close in on the tanker) and look for the tanker on the radar or nav. screen. Around 5 nm away, you should reduce your speed to around 20 kts faster than the tanker – a “slow overtake”. Bigger tankers will be visible from about 10 nm, but smaller ones may be visible just over 1 nm. If you find yourself overshooting, deploy your airbrakes.

Close to within 50 ft of the tanker (don’t get too close, or you may collide with the tanker itself). You should see indication in the cockpit that you are receiving fuel (e.g. the A4 fuel gauge has a green light), and you should see the indicated tank load increase. If you still have issues telling whether you are connecting to the tanker, you can turn on option Report refueling in the Tanker controls window. If you still can’t engage with the tanker, increase the Contact radius to make the maneuver more resilient to “disconnects”.

Once your tanks are full, or you have taken as much fuel as you wish, close the throttle a little, back away from the tanker and continue your intended flight.

Successfully refueling is not easy and can take a lot of practise, as in real life. Here are some helpful hints for making contact.

  1. Approach the tanker slowly. It is very easy to overshoot and be unable to spot where the tanker has gone.
  2. If you are having difficulty matching the speed of the tanker due to the throttle being too sensitive, try deploying your airbrakes. This will require more power to achieve the same speed and will reduce the throttle sensitivity.
  3. To reduce your workload, you may be able to use the autpilot to stay at the correct altitude and/or speed. This is technically cheating, though NASA recently demonstrated that an advanced autopilot can perform AAR without pilot intervention.
  4. Bear in mind that as you receive fuel your aircraft will become heavier and the center of gravity will move, affecting the trim of the aircraft.
  5. The tanker aircraft flies a clock-wise “race-track” pattern in the sky. While it is possible to stay connected during these turns, you may find it easier to wait until the tanker has settled on its new course before refueling. The tanker aircraft provides warnings when they are intending to turn.

6.8.2 Ravitaillement en mode multi-joueurs

Refuelling is possible within a Multiplayer session using the KC135 or Victor. The pilot of this aircraft should use the callsign “MOBIL1”, “MOBIL2” or “MOBIL3”. Other numbers are acceptable, but only these three have A-A TACAN channels assigned. These are 060X, 061X and 062X respectively.

If the receiving aircraft uses a YASim FDM, there are no further complications. Should the receiving aircraft be JSBSim-based, the user must make sure that there are no AI tankers in their configuration. This means disabling (commenting out) all refuelling scenarios in the relevant aircraft-set.xml and in defaults.xml.

MP refuelling works in exactly the same way as AI refuelling and is a fun challenge. It is best to ensure that your network connection is as free from interruptions as possible; the MP code does a degree of prediction if there is a “blip” in the stream of packets and this can make close formation flight very difficult or even impossible.