FlightGear en réseau

FlightGear est un simulateur qui intègre depuis la version 0.9.11 des fonctions réseaux. Cela permet de l'utiliser conjointement avec d'autres applications, ou encore de voler à plusieurs (multi-players).

Nous verrons ici comment configurer FlightGear pour utiliser différentes applications ou mode que nous détaillerons ci-dessous.

  • Utilisation d'Atlas
  • Utilisation du mode multi-joueur
    • Utilisation de MapServeur
    • Utilisation du chat FlightGear

Utilisation d'Atlas

Au départ, FlightGear peut être déroutant pour celui qui débute. En effet, le pilote n'a aucun moyen (autres que les instruments) de se repérer.

Atlas est une solution de cartographie qui peut être utilisée avec FlightGear.

Installation

Pour installer Atlas à partir des packages, il n'y a pas de difficultés particulières.

Installer Atlas (0.3 ou 0.4)

pour linux, la compilation est un peu délicate du fait que Atlas se compile avec la dernière version stable de simgear, et que si vous utilisez la version git, un patch est requis.

compiler Atlas

Guide d'utilisation

Avant de pouvoir utiliser Atlas, il faut générer les cartes à partir des scènes de FlightGear.

Suivez alors la procédure ci-dessous :

# Générer la version haute résolution
Map --size=512 --atlas=/home/nicolas/.fgfs/Atlas --fg-scenery=/usr/local/share/FlightGear/Scenery --fg-root=/usr/local/share/FlightGear --enable-navaids
 
# Générer la version basse résolution
Map --size=64 --atlas=/home/nicolas/.fgfs/Atlas/lowres --fg-scenery=/usr/local/share/FlightGear/Scenery --fg-root=/usr/local/share/FlightGear --enable-navaids

A présent, vous pouvez lancer Atlas pour consulter la carte :

Atlas --fg-root=/usr/local/share/FlightGear --path=/home/nicolas/.fgfs/Atlas --airport=LFPT

Vous pouvez également lier Atlas à FlightGear, pour suivre votre parcours sur la carte :

Atlas --fg-root=/usr/local/share/FlightGear --path=/home/nicolas/.fgfs/Atlas --udp=9988

Dans ce dernier cas, n'oubliez pas de lancer FlightGear avec l'option :

--nmea=socket,out,0.5,localhost,9988,udp

Lancer le mode mode multi-joueur

Tout d'abord, pour ceux qui sont très impatients et qui ont une vague idée de ce qu'ils veulent faire, les arguments de base à donner à fgfs pour le mode multijoueurs sont les suivants :

   --multiplay=out,10,adresse.ip.serveur,numéro_de_port
   --callsign=votre_indicatif 

numéro_de_port est généralement 5000, et “votre_indicatif” est limité à 7 caractères (il sera automatiquement tronqué si plus long).

Vous devriez également vérifier que votre pare-feu ne pose pas de problème. Désactivez-le temporairement ou mieux, ajoutez une exception pour ajouter les connexions entrantes sur les ports 5000 (et peut-être 500, c'est le port utilisé par telnet pour communiquer avec le serveur, pas obligatoire, est numéro_de_port + 1, ça permet notamment d'obtenir des infos sur le serveur sans lancer FG, comme les pilotes actuellement en ligne par exemple).

Une fois que vous avez démarré FG, vous devriez, si d'autres pilotes volent, voir des messages comme ceux-ci dans le terminal à partir duquel FlightGear a été lancé :

Chat [*FGMS*] client 'sabre' has left
Chat [*FGMS*] sabre is now online, using
Chat [*FGMS*] Aircraft/f16/Models/f16.xml
Chat [*FGMS*] F-GTUX is now online, using
Chat [*FGMS*] Aircraft/747/Models/boeing747-400-jw.xml
Chat [*FGMS*] mpdummy is now online, using
Chat [*FGMS*] Aircraft/c172p/Models/c172p.xml
Chat [*FGMS*] Paulo_B is now online, using
Chat [*FGMS*] Aircraft/777-200/Models/777-200ER.xml
Chat [*FGMS*] F-GTUX is now online, using
Chat [*FGMS*] Aircraft/747/Models/boeing747-400-jw.xml

Utiliser les cartes multi-joueur

Sélectionnez votre avion et votre aéroport de départ comme d'habitude. Sur l'écran suivant, cochez la case Multiplayer. Cochez également la case AI models ou bien vous ne verrez pas les avions des autres pilotes. Entrez l'indicatif de votre choix (maximum 7 caractères), entrez mpserver01.flightgear.org dans la case Hostname et 5000 dans les deux cases in et out. Cliquez sur Run et vous serez bientôt en vol avec d'autres pilotes !

Pour confirmer que cela fonctionne bien, vous pouvez aller :

Vous pouvez également choisir d'utiliser un serveur différent (c'est à dire une entrée Hostname différente); les serveurs actuellement en fonction sont listés à l'adresse http://mpserver05.flightgear.org/ et sont les suivants :

  • mpserver01.flightgear.org (en Allemagne)
  • mpserver02.flightgear.org (à Hong Kong) (le plus lent)
  • mpserver03.flightgear.org (Côte Est des USA)
  • mpserver04.flightgear.org (Grande Bretagne) (actuellement HS)
  • mpserver05.flightgear.org (Portsmouth, Grande Bretagne) (actuellement HS)
  • mpserver06.flightgear.org (Suède)
  • mpserver10.flightgear.org (France)
  • mpserver13.flightgear.org (France)

Pour votre information, sachez que les serveurs multijoueurs sont interconnectés; vous n'avez donc pas besoin de vous connecter à un serveur spécifique pour voir les autres pilotes qui sont sur ce server. Pour de meilleures performances, vous devriez vous connecter au serveur géographiquement le plus proche de chez vous ou celui qui a la latence la plus faible (temps de réponse au ping).

Chat multijoueurs

Pour discuter avec d'autrez pilotes, allez dans le menu View et sélectionnez Chat en bas du menu. Notez que les autres pilotes peuvent ne pas avoir leur fenêtre de chat ouverte, donc ils peuvent ne pas voir vos messages.
Note : le mode multijoueurs n'est pas supporté par FlightGear version 0.9.10 et antérieures.

Vol en Formation

Quelques conseils si vous voulez voler à plusieurs en formation:

  • Choix du serveur: c'est le plus important, pour minimiser les problèmes de lag, essayez d'être tous sur le même serveur, de préférence sur celui qui a le meilleur ping. Sinon, un ravitaillement en vol (par exemple) est assez difficile si le KC135 se met à ralentir et accélérer juste du fait des ajustements entre serveurs.

Pour connaître le ping d'un serveur, c'est trés simple, ouvrez un terminal (mac et unix) ou la fenêtre d'invite de commande sous windows, et tapez (pour tester mpserver01):

ping mpserver01.flightgear.org

sous unix arrêtez le avec un ctrl-c (ou en ajoutant l'option -c4 au lancement). personnellement, j'ai les résultats suivants (de france):

punk.lnxscene.org: 65ms (apparemment pas connecté avec les autres en ce moment)
mpserver03.flightgear.org: 75ms
mpserver01.flightgear.org: 85ms
mpserver06.flightgear.org: 100ms
mpserver02.flightgear.org: 300ms

Il n'y a pas photo, le mpserver02 est vraiment à déconseiller!

  • choix du lieu: l'arrivée d'un nouvel avion dans le jeu à moins de 50nm provoque le chargement du modèle 3D, “gelant” le jeu pendant un temps dépendant de l'appareil concerné, (corrigé avec FG CVS, mais les fps chutent quand même pas mal..), et ce n'est pas marrant de voir le leader faire une pause à chaque fois. Choisissez donc un lieu assez éloigné de KSFO si vous voulez volez un peu tranquillement. De plus ça vous permettra de découvrir de nouveaux paysages, après installation des scenery bien sur!
  • savoir ou sont les autres:
    • Vous êtes resté en visuel, donc pas de problème.
    • L'avion possède un radar, ou le HUD affiche la position des autres ('I' avec le hud visible sur le lightning par exemple), vous pouvez localiser les autres, mais pas forcément savoir qui est qui.
    • Utilisation de mpmap, pratique, surtout sur un deuxième écran, mais souvent planté si il y a trop de monde…
    • multiplayer2.nas, ce petit script nasal permet d'afficher la position de tous les avions à moins de 100nm, avec leur altitude, leur distance et un cap pour les rejoindre (true heading). Copier le fichier dans data/Nasal, puis entrez dans la console nasal (menu debug ⇒ nasal console, seulement pour CVS?)
      multiplayer2.dlg.show()

      Puis cliquez sur exécute. (je ne sais pas si ça marche avec FG 1.0, ceux qui ont essayés?)

    • l'avion que vous suivez possède un callsign qui a un tacan (MOBIL1,2,3), et vous avez de quoi suivre un tacan à bord, il vous reste juste à lui demander son altitude (cas du ravitaillement en vol).

Voila, à vous de voler maintenant…“KC135 de lightning pour un ravitaillement, cap, speed and altitude?”

Chat VoIP (fgcom)

Depuis plusieurs mois, il existe un programme annexe à FG pour se parler en VoIP, j'ai nommé fgcom.
Pour le moment un peu limité dans ses capacités, son but est de simuler les communications radio entre différents avions, et avec les tour de contrôle.
Il est prévu que fgcom permette les liaisons en fonction de la frequence et de la distance entre interlocuteurs, mais pour le moment le calcul se fait uniquement sur la distance par rapport aux tours de contrôles, ce qui oblige à en rester proche pour garder le contact radio (50km, sauf modification de fgcom.h lors de la compilation ;) ).
Une version est aussi en préparation avec une dégradation du son (fgcom-lofi) et l'introduction de divers parasites.

Fonctionnement

Fgcom est pour le moment un binaire qui doit être lancé dans une console (encore un truc de geek quoi!), que ce soit sur mac, linux ou windows, il possède deux mode de fonctionnement:
- un mode 'tour', pour faire la tour de contrôle, en lui donnant le nom de l'aéroport et la fréquence (le micro et l'écouteur sont ouverts en permanence).
- le mode FG, ou il communique avec FG (à partir de la version 1.0), en important le réglage de la fréquence radio et la position de l'appareil, et n'autorisant la liaison que si l'avion est à portée d'une tour ayant la bonne fréquence. Dans ce mode, la touche espace de FG sert de PTT (push to talk), un appuie sur espace coupe le haut parleur et active le micro.
La communication se fait sur un port udp, ce qui permet d'avoir ainsi fgcom sur un autre pc par exemple (même si ce n'est pas trés ecolo-compliant). A noter que le débit ADSL en upload doit être suffisant pour un fonctionnement satisfaisant (j'en connais qui ont essayés et qui ont eu des problèmes :) ).

Avec le modèle actuel, pas toutes les tour de contrôle sont accessibles par fgcom, car il faut pour cela qu'il y ait une chat-room dédiée sur le serveur, mais on en trouve un peu partout quand même.

Installation

Fgcom est en développement, et son fonctionnement n'est donc pas garanti, suivant les mises à jour coté serveur ou client, mais quand il marche c'est nickel.

-installation par compilation: allez voir ici pour une compilation sous linux, pour les autres OS, je laisse faire ceux qui savent…
C'est le seul moyen d'avoir un fgcom à jour, surtout si il se passe des changements du coté serveur.

- binaire déjà compilé: certains ont fait le travail de compilation pour vous, mais en cas de changement, il faut attendre une nouvelle compilation…
Il existe des binaires pour windows et pour mac:

- mac: les détails ici (en anglais) à noter que le lanceur proposé intègre fgcom et le lance automatiquement avec FG, si vous avez spécifié un login et le code.

-windows: un binaire du 20 février est disponible installez le ou vous voulez, en gardant en tête le chemin d'accès.

Utilisation

Vous avez installé fgcom par un des moyens cité ci-dessus, et vous savez utiliser un terminal, on est donc prêt pour se parler en direct…

vérification du son

Avant de l'utiliser pour le simulateur, on va d'abord vérifier que la carte son est bien configurée, le micro doit avoir un son correct, pareil pour l'écouteur, et surtout il ne faut pas renvoyer l'écouteur sur l'entrée de capture, sous peine d'avoir des echos à répétition (en mode tour). Dans les réglages de la carte son, on utilise uniquement le micro comme periph de capture, a vous de voir comment faire…

Vérification: en ligne de commande, allez dans le repertoire ou se trouve fgcom ou fgcom.exe, et faites:

 ./fgcom -f910 

ou pour windows:

 fgcom.exe -f910 

Ceci lance ainsi fgcom avec la echo box, ce que vous dites sera répété avec un delai de 1 seconde environ, si c'est le cas, vous êtes ok, si l'écho se répète, il y a un problème de feedback, soit par la carte son, soit acoustiquement si le son est trop fort sur les hauts parleurs, et là appelez un specialiste sur jabber ou penchez vous sur le problème :).

Une fois que ça marche, il vous reste à demander un compte, sur cette page (cherchez voice account sur la page) et demandez un compte en anglais ou allemand à l'adresse mail indiquée. vous avez reçu une réponse? on va pouvoir parler maintenant alors…

ecouter un VOR

Comme premier test, on va écouter la balise Vor SFO, sur la fréquence 115.8:

./fgcom -Ulogin -Ppassword -aSFO -f115.8 

ou (pour windows):

fgcom.exe -Ulogin -Ppassword -aSFO -f115.8 

NB: remplacez login et password par ceux du compte que vous avez obtenu par mail!

si vous entendez du morse, c'est nickel-chrome, on peut passer à la suite…

fgcom en mode tour

dans ce mode, on donne au programme le nom de l'aéroport ainsi que la fréquence, (en plus de notre login et mot de passe), et le micro et l'écouteur restent ouverts en permanence, parfait pour faire le contrôleur aérien, soit avec FG et la tour de contrôle (ATC, seulement en cvs pour l'instant il me semble), soit tout simplement avec mpmap.

essayons avec LFLS et 119.3 (Grenoble st geoir):

./fgcom -Ulogin -Ppassword -aLFLS -f119.3 

ou

fgcom.exe -Ulogin -Ppassword -aLFLS -f119.3 

si vous obtenez quelque chose comme:

Call 0 accepted
LFLS Grenoble Saint Geoirs 119.300 GRENOBLE APP
Call 0 answered 

c'est bon, il ne manque plus que quelques pilotes…

fgcom en mode FG

Premièrement , il faut dire à FG d'envoyer les info sur le port udp (16661 par défaut):

  • en ligne de commande:

ajouter la ligne suivante dans votre .fgfsrc:

--generic=socket,out,10,localhost,16661,udp,fgcom
  • ou avec fgrun: dans le dernier menu, avancé ⇒ entrées/sorties et remplissez les champs pour avoir la même ligne.

ensuite, dans un terminal, lancez fgcom en mode FG:

./fgcom -Ulogin -Ppassword -p16661 

ou

fgcom.exe -Ulogin -Ppassword -p16661 

Le ”-p16661” est facultatif, comme c'est le port par défaut, mais gardez le en mémoire si vous avez besoin de le changer un jour. Si vous changez la fréquence dans FG, fgcom suivra, c'est magique (bien que pas encore très ergonomique je vous l'accorde).
A KSFO, vérifiez que votre com1 indique 120.5, si vous êtes à LFLS, mettez la sur 119.3 et ainsi de suite (on obtient les fréquences des tour avec le menu ATC/AI ⇒ frequencies, mais seulement quelques unes sont activent pour le moment avec fgcom).

Successfully parsed commandline options.
Reading list of airports...done.
Initializing IAX client as jano:xxxxxxxxxxx@fgcom1.parasitstudio.de
Selected frequency: 120.500
Call rejected by remote

voilà (au dessus) ce qui apparaît quand on est hors de portée d'un émetteur, et en bas quand on est à portée de la tour.

Call 0 accepted
KLSV NELLIS AFB 132.550 TWR
Call 0 answered
Airport NELLIS AFB (KLSV TWR at 132.550 MHz) is in range ( 1.6 km)

pour parler, il suffit d'appuyer sur la touche espace en étant dans FG (coupure du casque et ouverture du micro), et la combinaison shift-espace change de fréquence en utilisant successivement com1, nav1, com2 et nav2.

fgcom déporté sur un autre PC par le réseau local

Si vous voulez faire tourner fgcom sur un autre pc que celui de FG, (j'en connais qui attendent encore leur driver de carte son ;-) ), il faut dire à FG d'envoyer les infos sur l'autre pc, et faire écouter fgcom sur le pc de FG (vous suivez?):
prenons le cas d'un réseau local, avec FG sur le pc d'adresse IP (locale) 192.168.0.1, et fgcom sur le pc d'IP 192.168.0.45.

  • l'option de FG va être (on remplace localhost par l'adrese IP du pc de fgcom):
--generic=socket,out,10,192.168.0.45,16661,udp,fgcom
  • Pour lancer fgcom, on ajoute l'option -s=“IP de FG”:
./fgcom -Ulogin -Ppassword -s=192.168.0.1 -p16661 

ou

fgcom.exe -Ulogin -Ppassword -s=192.168.0.1 -p16661 

pensez bien à remplacer les adresses IP par les votres.

conclusion

Un dernier point, si vous avez téléchargé un binaire avec ses fichiers de config et que ceux là datent un peu, il se peut qu'il vous manque des infos dans ces fichiers, prenez alors ceux du svn (ou demandez les a ceux qui le compile eux même).

Pour finir, il ne reste plus qu'à s'entraîner à la phraseo de l'aviation:

“tour de contrôle de juliet alpha november oscar, paré à décoller avec mike……”

Mais c'est qui ce mike? (qui a la réponse?)

Annexe : Mémoriser vos paramètres

Pour éviter d'avoir à rentrer tout le temps la même (longue) ligne de lancement, le plus pratique est de créer un fichier .fgfsrc dans votre répertoire utiliateur, par exemple /home/toto, et de le formater de la sorte :

--disable-auto-coordination
--adf=338
--com1=120.1
--dme=nav1
--nav1=109.90
--enable-splash-screen
--enable-enhanced-lighting
--control=joystick
--units-meters
--enable-ai-models
--disable-random-objects
--time-match-real
--enable-clouds3d
--enable-real-weather-fetch
--fog-fastest
--enable-distance-attenuation
--enable-skyblend
--enable-textures
--enable-horizon-effect
--geometry=1024x768
--multiplay=in,10,192.168.1.100,5000
--multiplay=out,10,mpserver02.flightgear.org,5000
--callsign=F-OJAC
--prop:/sim/sound/voices/enabled=false
--prop:/sim/sound/atc-chatter=false

Ainsi, au démarrage, vous n'avez qu'à préciser l'avion (–aircraft=) et l'aéroport (–airport=), tous les autres paramètres étant alors sauvegardés dans ce fichier, que vous pouvez bien sûr améliorer ou modifier plus tard selon vos souhaits.

Si cela ne fonctionne toujours pas pour vous, demandez gentiment sur le canal IRC de FlightGear ou sur le Jabber France et quelqu'un devrait pouvoir vous aider. Les cartes multijoueurs sont un moyen très sympatique de voir qui est en ligne et où. Pour cela, rendez-vous à l'adresse http://mpmap02.flightgear.org. C'est également grace à cet outil que vous pourrez vérifier que vous apparaissez bien en ligne.

Bons vols en réseau !

 
flightgear/flightgear_en_reseau.txt · Dernière modification: 2011/12/31 10:58 par jano
 
Recent changes RSS feed GNU General Public License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki