Fr/Howto: Multijoueur
Grâce aux fonctions multi-joueurs de FlightGear, vous allez être capable de voir les autres pilotes connectés et réciproquement. Vous aurez alors la possibilité de voler en formation, de tester le ravitaillement en vol avec un avion ravitailleur piloté par un autre pilote ou de contacter le contrôle aérien pour les phases de décollage et d'atterrissage, et de faire plein d'autres choses.
Si vous souhaitez héberger votre propre serveur multi-joueurs, vous serez sûrement intéressé par la page Howto: Héberger un serveur multi-joueurs.
Cependant, voler en mode multi-joueurs peut potentiellement engendrer une chute du nombre d'images par secondes, en particulier lors du chargement de modèles d'avions très détaillés, ce qui cause du lag (saccade des images). D'autre part, la gigue réseau peut créer des effets surprenants comme le fait que vous voyiez subitement votre ailier reculer et passer derrière vous, comme si le temps s'était arrêté pour lui. Cela arrive de temps en temps.
Etant donné que l'aéroport par défaut est celui de San Francisco (KSFO) et qu'aux heures de pointe il peut être très chargé, il vous est conseillé de voler dans des endroits moins fréquentés où vous bénéficierez d'une meilleure fluidité.
Serveurs
Veuillez noter: Les serveurs multi-joueurs sont tous inter-connectés; cela signifie que pour voir les pilotes connectés à un serveur en particulier, vous n'avez pas forcément besoin d'être connecté à ce serveur. Il vous suffit d'être connecté à n'importe quel autre serveur. Cependant, pour assurer des temps de réponse optimaux, il vous est fortement recommandé de vous connecter sur un serveur qui est géographiquement situé le plus près de chez vous, c'est-à-dire un serveur qui a un temps de réponse au ping le plus bas possible. Si vous envisagez un vol en formation avec d'autres pilotes, il est recommandé de se connecter sur le même serveur que celui sur lequel sont connectés les autres membres de la formation de façon à limiter le lag.
Le tableau suivant fournit la liste des serveur MP (Multi Players) du monde entier. Il s'agit des serveurs officiels accessibles dans le domaine flightgear.org et sont tous inter-connectés entre eux. Vous connecter à un de ces serveurs vous rendra visible dans la matrice FlightGear. Il existe certainement des serveurs locaux mais qui ne sont pas répertoriés ici.
Server | Localisation | Tracked | Opérateur | Commentaires |
---|---|---|---|---|
mpserver01.flightgear.org | Allemagne | Oui | Oliver Schroeder | |
mpserver03.flightgear.org | Allemagne | Oui | ||
mpserver04.flightgear.org | UK | Oui | Jon Stockill | |
mpserver05.flightgear.org | Chiacgo, USA | Oui | Brant | |
mpserver06.flightgear.org | Suède | Non | Anders Gidenstam | Bande passante restreinte. |
mpserver07.flightgear.org | Wisconsin, USA | Oui | Tom Betka | |
mpserver08.flightgear.org | Frankfut am Main, Germany | Oui | Roland | |
mpserver09.flightgear.org | Köln, Germany | Oui | Daniel Vigano | |
mpserver10.flightgear.org | Montpellier, France | Oui | Alexis Bory | |
mpserver11.flightgear.org | Vilnius, Lithuania | Oui | Darius | |
mpserver12.flightgear.org | Amsterdam, Pays-Bas | Oui | Rob | evilslut |
mpserver13.flightgear.org | Grenoble, France | Oui | Charles Ingels | |
74.208.230.119 | Kansas, USA | Sabin | En attente d'une entrée DNS dans le domaine flightgear.org |
Ce tableau est mis à jour assez régulièrement mais la pertinence des informations qu'il contient dépendent en grande partie de la fréquence de ces mises à jour.
Utilisez ce lien pour vérifier la disponibilité des serveurs.
Cartes multi-joueurs
Consultez la page MPMap à ce sujet. |
Il y a une magnifique carte de visualisation temps réel des pilotes connectés mpmap01 et/ou mpmap02. Cela vous aidera à vérifier que vous êtes bien connecté sur un serveur.
Utilisation de fgrun
- Choisissez votre Aircraft ainsi que l'aéroport de départ comme indiqué dans Fgrun.
- Sur l'écran suivant, cochez la case Multiplayer. Cochez également AI models afin de voir les autres pilotes connectés et d'être vu. Dans la zone de saisie de texte, entrez votre callsign, puis dans la zone hostname, entrez l'adresse d'un serveur multi-joueurs (par exemple: mpserver01.flightgear.org). Indiquez 5000 pour le numéro de port à utiliser en entrée et en sortie (numéro par défaut).
- Cliquez sur run et vous allez pouvoir voler avec d'autres pilotes du monde entier !
Pour vérifier que vous êtes bien connecté en mode multi-joueurs, ouvrez votre navigateur et pointez sur l'URL
http://mpmap01.flightgear.org/
ou
http://mpmap02.flightgear.org/ (Hong Kong).
Lors de votre connexion, vous allez constater que vous serez prévenu de l'arrivée de tout nouveau pilote par un message du type: "<pilote>: Hello".
Pour des options plus avancées, l'onglet Advanced > network peut être ouvert où vous pourrez supprimer/modifier les lignes in et out.
Vérifier la disponibilité d'un serveur
Il n'est envisageable d'utiliser un serveur que s'il répond, ce qui paraît logique. Vous pouvez commencer par faire un ping du serveur :
ping serveurXX.flightgear.org
mais même s'il répond, cela ne vous garantit pas que fgms tourne dessus.
Il existe une méthode très simple pour vérifier si un serveur est utilisable en multi-joueurs. Tapez la commande suivante :
telnet serveurXX.flightgear.org 5001
et s'il est actif, vous devriez obtenir une liste de toutes les personnes connectées au réseau MP.
Lancer fgfs multijoueur en ligne de commande
Pour ceux qui sont impatients et ont déjà une vague idée de ce qu'il font, les lignes de base pour le mode multijoueur sont :
--multiplay=out,10,server.adresse.ip,portnumber --multiplay=in,10,votre.adresse.ip,portnumber --callsign=anything
Où le portnumber est habituellement 5000 et votre.adresse.ip l'adresse de votre interface réseau utilisée par FG pour se connecter au serveur - même si c'est une adresse locale en 192.168... Notez qu'il faut spécifier une adresse valide (non loopback: ie non 127.0.0.1) pour que FG soit heureux, même si cette limitation a été enlevée sur les versions les plus récentes des serveurs FG.
Avec les dernières versions de FG (depuis OSG), vous pouvez aussi laisser le champ votre.adresse.ip vide. FlightGear écoutera alors sur toutes les interfaces réseau.
--multiplay=in,10,,5000
Dans la plupart des cas et avec les versions récentes de FlightGear, cette ligne est d'ailleurs facultative.
Regardez sur cette page pour voir si votre callsign est déjà utilisé, ne prenez pas un nom existant, ce qui peut causer de problèmes. Vous êtes libre de choisir votre callsign, pour peu qu'il ne soit pas déjà pris. Cependant, essayez de choisir un callsign normalisé dans le monde aéronautique. Un tel callsign débute par une lettre indiquant la zone aéronautique (F- pour la France), suivi par une lettre qui indique la série en cours (ex: F-G) puis trois lettres de votre choix (ex: F-GCBZ). Cela facilitera les communications avec un éventuel ATC.
Plus détaillé, pour ceux qui ont du mal à suivre...
Essayez en premier ce qui précède, et si vous rencontrez des difficultés, lisez la suite. Notez qu'avec les versions récentes de FlightGear, l'adresse IP locale n'est plus forcément nécessaire ce qui simplifie grandement la mise en oeuvre du mode multi-joueurs. Cependant, gardez à l'esprit les manipulations suivantes au cas où vous rencontriez des problèmes, elles peuvent vous aider.
Dans un premier temps, vous avez besoin de connaître l'adresse IP de votre ordinateur. En général, il s'agit d'une adresse de classe C du type 192.168.0.x mais elle peut être différente, tout dépend de votre installation.
La configuration la plus courante est un ordinateur derrière une box avec une connexion Ethernet entre les deux, cette box étant en fait un routeur.
Au niveau de ce routeur, vous devrez rediriger toutes les connexions entrantes sur les ports 5000 et 5001 en UDP vers votre ordinateur en ajoutant une route statique. Pour cela, connectez-vous via un navigateur sur votre box et cherchez un menu de configuration du type "route statique" ou quelque chose comme cela.
Cette modification indiquera à votre box qu'elle devra rediriger toute connexion entrante sur les ports 5000 et 5001 vers votre ordinateur.
Selon le modèle de votre box (et il y en a beaucoup), vous serez sûrement obligé de la redémarrer.
Si votre ordinateur est directement connecté à un modem ADSL via une liaison USB, vous aurez alors besoin de connaître l'adresse IP qui vous est attribuée par votre fournisseur d'accès. Pour cela, ouvrez un navigateur et allez sur cette page. Dans ce cas, vous n'avez pas besoin de suivre les manipulations qui suivent et qui permettent de connaître l'adresse IP locale.
Pour connaitre l'adresse IP de votre ordinateur, voici comment faire:
- Sous Linux, dans un shell, tapez la commande suivante:
/sbin/ifconfig
Vous devriez obtenir quelque chose comme ça:
eth0 Link encap:Ethernet HWaddr 00:0b:cd:98:4a:5c
inet adr:192.168.1.67 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::20b:cdff:fe98:4a5c/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:2379 erreurs:0 :0 overruns:0 frame:0
TX packets:1915 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:1595650 (1.5 MB) Octets transmis:331672 (331.6 KB)
...
Dans cet exemple, la commande ifconfig renvoie la configuration de l'interface eth0. Vous pouvez bien sûr disposer d'interfaces réseau supplémentaires. L'important est de connaitre l'adresse IP de l'interface réseau par laquelle vous êtes connecté à internet. Si vous êtes connecté par une interface Wifi, vous aurez vraisemblablement une interface nommée wlan0.
- Sous Windows 98/Me/Se, faites Démarrer->Executer, puis tapez winipcfg.
Ceci devrait ouvrir une fenêtre vous montrant tous les paramètres des interfaces réseau, dont l'adresse IP de votre machine.
- Sous Windows XP/Vista, ouvrez une commande DOS Démarrer->Accessoires->Invite de commande, puis tapez la commande suivante:
ipconfig /all
Ceci devrait également vous fournir toutes les informations relatives à votre (ou vos) carte réseau.
Si votre routeur (votre box) et/ou votre machine met en oeuvre un firewall, vous devrez lui indiquer de laisser passer les requêtes entrantes et sortantes sur les ports 5000 et 5001 sinon elles resteront bloquées et vous ne pourrez pas vous connecter en multi-joueurs.
Finalement, une fois votre installation correctement configurée, vous pouvez lancer FlightGear avec la commande suivante:
fgfs --callsign=''votre_callsign'' --multiplay=in,10,''votre_adresse_ip'',5000
--multiplay=out,10,mpserver10.flightgear.org,5000 --airport=KSFO
--runway=19R --aircraft=c172p
Remplacez votre_callsign par votre indicatif dans FlightGear. De même, remplacez votre_adresse_ip par l'adresse IP de votre ordinateur (par exemple: 192.168.0.15). Notez que votre indicatif sera tronqué à une longueur de 7 caractères maximum.
Si tout se passe bien, vous devriez vous retrouver sur l'aéroport (ici KSFO, San Francisco) et voir les autres pilotes connectés. Il vous sera également possible de chatter avec eux.
Vous pouvez consulter le tracker à cette URL: this page pour voir si vous voyez votre indicatif. Si vous le voyez, cela signifie que tous vos vols seront enregistrés ce qui vous permettra d'avoir un relevé précis de votre nombre d'heures de vol.
Si malgré tout ceci, vous rencontrez des difficultés, allez jeter un coup d'oeil au forum, vous trouverez sûrement des posts faisant état de problèmes similaires, ainsi que des solutions apportées. Si au final vous n'avez toujours rien, n'hésitez pas à poster un message sur le forum et à être le plus précis possible.
Chat en multijoueurs
Vous avez la possibilité de "chatter" avec d'autres personnes connectées de la même manière que vous le feriez avec une messagerie instantanée. Allez dans le menu "Network" puis sélectionnez l'entrée "Chat". Une fenêtre va alors s'ouvrir dans laquelle vous pourrez retrouver l'historique des discussions entre les personnes connectées ainsi qu'une zone de saisie de texte dans laquelle vous pourrez taper votre texte et l'envoyer par un clic sur le bouton "Send".
Cependant, avoir constamment cette fenêtre affichée peut être gênant surtout lorsque vous êtes en vol. Aussi, il existe une autre possibilité plus rapide pour envoyer un message texte. Tapez sur la touche "_" (souligné). Il s'agit d'un raccourci clavier. Une petite zone de saisie apparaît alors et vous pouvez taper directement votre texte, puis l'envoyer en appuyant sur la touche "Enter" ou "Entrée".
Tous les messages émis entre les pilotes connectés apparaissent en haut de l'écran, et sont centrés horizontalement. Ils restent affichés quelques instants avant de disparaître, laissant la place à d'autres messages.
Notez que taper des messages alors que vous êtes en vol peut être difficile, surtout si vous êtes en train de voler avec un hélicoptère pour lequel le pilotage requiert une attention à chaque instant. C'est pour cela qu'il existe des projets de simulation de communications vocales comme le projet fgcom. Alors que fgcom s'intègre bien avec Flightgear, d'autres personnes utilisent Mumble pour communiquer. Il existe également un autre projet qui n'en est qu'à ses début, il s'agit du projet réseau Wavac.