De/Howto: Multiplayer

From FlightGear wiki
Jump to: navigation, search

Mit der Multiplayer Funktion von FlightGear kannst Du andere Piloten sehen und andersherum. Das macht es möglich in Formation zu fliegen oder Eine Luft-zu-Luft Betankung von einem Tankflugzeug durchzuführen, das von einem anderen Nutzer gesteuert wird. Außerdem kannst Du eine echte Flugsicherung um Start/Landefreigabe oder um den Überflug bitten.

Der Multiplayermodus kann hohe Framerate-Einbußen verursachen, weil er andere Flugzeuge mitladen muss. Gerade grosse Modelle, wie die Boeing 707 oder der Airbus A330-200 können Stocken verursachen. Es wird empfohlen mit diesen an anderen Orten als dem Standardflughafen zu fliegen, da dort sehr viele Piloten unterwegs sind, die meißt neu sind und auch nicht auf die ATC(Flugsicherung) achten.

Merke

Verbindung mit dem Multiplayer herstellen

Dialog in der Simulation

Multiplayer-Einstellungen

Der leichteste Weg, online zu gehen ist der eingebaute Multiplayer Dialog.Alles, was Du tun musst, ist ein Rufzeichen anzugeben und dir einen Server aus dem Menü auszusuchen. Drücke dann Connect, um zu starten.

FGRun/Den Windows Starter benutzen

Von der FGRun Hauptseite

Multiplayereinstellungen in FGRun
  1. Wähle Dein Flugzeug und Startflughafen wie normal in FGRun.
  2. Auf der letzten Seite, wähle die "Multiplayer" Box an. Wähle auch die Box "AI models" an, da Du sonst die Flugzeuge anderer Piloten nicht sehen kannst.
  3. Gib ...
    1. ein gewünschtes Rufzeichen ein (Bitte überprüfe auf dieser Seite, ob dein gewünschtes Rufzeichen bereits in Verwendung ist oder nicht. Nehmen Sie kein Rufzeichen, das bereits verwendet wird!)
    2. mpserverXX.flightgear.org in das Feld Feld "Hostname" an (anstatt XX muss die Servernummerangegeben werden)
    3. in die Felder der In/Out Ports 5000 ein.
  4. Klicke auf Run, um Flightgear zu starten.

Um zu bestätigen, dass es funktioniert, kannst Du zur Multiplayer Karte gehen: http://mpmap02.flightgear.org/ (in Hong Kong). Wenn FlightGear einmal gestartet ist, werden Sie Chatnachrichten bemerken, die alle "Hello" sagen, mit den dazugehörigen Namen der Piloten, die gerade online sind und eben dem Server beigetreten sind. Du kannst diese Nachricht verändern, indem Du die die Zeile $FG_ROOT/preferences.xml:

<chat type="string" preserve="y">Hello</chat>

enstprechend anpassen. Vielleicht möchtest Du ja auch einen anderen Server benutzen, beispielsweise einen näheren Deutschland

Aus den FGRun Netzwerkeinstellungen starten

Der Network Tab des "Advanced Options" Dialoges in FGRun (in FlightGear 3.2.0).

Du kannst auch die Multiplayereinstellungen auf der Network Seite von FGRuns Advanced Options.

  1. Klicke auf der letzten Seite Advanced.
  2. Klicke im linken Bereich auf Network.
  3. Im Multiplayer Options Bereich …
    1. Gib dein ausgesuchtes Rufzeichen in die Box ein.
    2. Setze Parameter für die zwei anderen Boxen; siehe unten für die korrekte Eingabe.
    3. Klicke OK, und starte dann FlightGear.

Multiplayer über die Kommandozeile starten

Wenn Du FlightGear mithilfe der Kommandozeile startest, kannst du auch verschiedene Einstellungen mitgeben. Die zwei Argumente sind die folgenden:

--multiplay=Richtung,10,ip.Adresse,Port
--callsign=deinRufzeichen

Natürlich kann --callsign irgendetwas sein, was dir einfällt. Es gibt vier Argumente für --multiplay:

Richtung
Entweder in oder out. in weist Flightgear an, auf Pakete zu achten, die durch den angegebenen Port hereinkommen. out weist Flightgear an, Daten durch diesen Port zu senden.
ip.Addresse
Die IP Addresse der Netzwerkschnittstelle, das von FlightGear genutzt werden soll. Du kannst das Feld ip.Adresse auch leer lassen. FG wird dann auf allen verfügbaren Schnittstellen Verbindungen akzeptieren. Wenn die Richtung auf in gesetzt wurde, wird Flightgear nur von dieser IP-Adresse empfangen.
port
Port wodurch die Daten gesendet oder empfangen werden. Normalerweise auf 5000 gesetzt (Weil 5000 die Portnummer der offiziellen Server ist).

Erweiterte Nutzung des Multiplayer

Lokale Einstellungen zum Testen (Direktverbindungen)

Es ist auch möglich, ein lokales Multiplayernetzwerk zwischen zwei FlightGear-Computern aufzubauen, ohne über einen Multiplayer Server zu laufen. Alles, was man tun muss, ist den I/O Port des einen PC's auf den korrespondierenden Port des anderen PS's zu setzen:

Bemerkung
Cquote1.png Eine direkte Verbindung braucht nicht nur eine IP-Adresse, sondern auch eine Portnummer auf jeder Seite der Verbindung - stelle dir vor, eine Portbox ist wie ein Briefkasten, der auf der Adresse sitzt. Dieser Briefkasten wird von dem kommunizierenden Prozess genutzt, um Nachrichten zu versenden und zu empfangen. Verschiedene Prozesse (Auch, wenn sie vom gleichen Programm sind) brauchen verschiedene Portnummern zum Laufen, da offene Ports (=mailboxes) nicht geteilt werden können.

Also musst Du die klientseitigen Einstellungen für jeden weiteren Teilnehmer auf der selben Maschine anpassen, indem Du den Out-Port des einen Computers suf den In-Port des anderen Computers anpasst (und andersherum).


Cquote2.png

Kommandozeilenparameter für die erste Instanz:

--multiplay=out,10,127.0.0.1,5000 --multiplay=in,10,127.0.0.1,5001 --callsign=Test1

Kommandozeilenparameter für die zweite Instanz:

--multiplay=out,10,127.0.0.1,5001 --multiplay=in,10,127.0.0.1,5000 --callsign=Test2

Auf diese Weise kannst Du Multiplayerfunktionen Testen oder Fehler reproduktieren, die nicht über den normalen MP laufen sollen. Da Du sonst keine Einsicht in die FlightGear-Einstellungen der anderen Nutzer hast, erlaubt dir diese Technik, die vollständige Kontrolle über die anderen Einstellungen zu bekommen.

Screenshot der den "peer-to-peer" Aufbau zwischen zwei FlightGear Nutzern zeigt, die auf der gleichen Maschine mittels Localhost (127.0.0.1) ohne MultiplayerServer fliegen.

Du kannst eine willkürliche Nummer von Kanälen angeben, um deinen Flug gleichzeitig auch auf anderen Servern anzuzeigen , z.B. auf einem privaten fgms Server mithilfe von

--multiplay=out,10,my.private.server.ip,5000

Außerdem gibt das in Argument oben an FlightGear, dass es nur von dem loopback/local interface empfangen soll - es wird keine Daten annehmen, die auf anderen network interface(s) ankommen. Wenn Du dich auch zu anderen verbinden willst, übermittele die IP Addresse mit

--multiplay=in,10,,5000

Prüfe diese Seite um zu sehen, ob dein Rufzeichen/Callsign bereits genutzt wird oder nicht. Nimm kein Callsign, das bereits genutzt wird, da das Probleme verursachen wird!

Nochmal langsam, für alle, die oben bisher nur Bahnhof verstanden haben...

Achtung  Dieser Bereich kann veraltete oder ungenaue Informationen enthalten

Diese Sektion sollte eigentlich bei den neusten Versionen des FG Servers überflüssig werden. Wenn es jedoch Probleme gibt, kann es nicht schaden, diesen Bereich zu lesen.

Als Erstes solltest Du die IP Addresse für die Netzwerkschnittstelle (network interface) kennen, die du für den FG Multiplayer nutzen willst.

Wenn deine Internetverbindung über ein ADSL Modem läuft, das indirekt auf deinen Computer sendet, solltest du deine IP-Adresse sehen, wenn du die Seite what is my ip besuchst.

Bemerkung  Dein Internetanbieter kann die IP-Adresse zwischendurch auch jedes Mal ändern.

Wenn diene Verbindung über einen Ethernet connector oder über einen wireless link läuft.

  • Linux: Log dich als root ein und starte ifconfig Im Terminal. In dem Text,der zurückgegeben wird, kannst Du nach einem Interface-Namen, wie eth0 oder wlan0 schauen. Dann schue in den Text unter den Interface-Namen nach der inet addr:ip.address. Zum Beispiel könnte das so aussehen: inet addr:192.168.0.150.
  • Windows:
    • Windows XP und später: Gib in die die Kommandozeile (CMD.exe) ipconfig ein. Notiere dann die IP-Adresse.
    • Windows 98, Klicke auf Start, Run, und gib dann ein "winipcfg" , um Informationen über deine IP-Adresse herauszufinden.

Jetzt ist alles, was Du noch tun musst, den Router auf den UDP port 5000 deiner IP Addresse zuzuweisen, die du gerade gefunden hast. Dies kann man hier nicht in einer Schritt-für-Schritt-Anleitung beschreiben, da die Einstellungen bei den verschiedenen Herstellern stark voneinander abweichen können. Einige Tipps wollen wir aber mitgeben – Wenn du nicht weiterweißt, frag nett auf dem FlightGear IRC channel um Hilfe (Details auf der FlightGear Website).

Du solltest wissen, wie du auf die Konfigurationsseite deines Routers kommst, normalerweise mit dem Browser. Du musst Nach Einstellungen mit dem Namen "port forwarding," "virtual server," "Forwarding Rules," oder ähnlichen Ausschau halten. Wenn Du die relevanten Einstellungen gefunden hast, musst du eine Anweisung erstellen, die den Port 5000 auf die IP Addresse zuweist, die du gerade herausgefunden hast. Wenn es mehrere Möglichkeiten gibt, sind des meist die UDP ports, die zugewiesen werden. Wenn die Wahl nicht besteht, musst Du davon ausgehen, dass beide (TCP und UDP) zugewiesen werden. Speichere Deine Einstellungen, die meisten Router starten dann neu.

Dann starte FG starte FG über die Kommandozeile wie am Start gegeben (Wenn du den Launcher nutzt, findest du eingabeboxen für dei Einstellungen – gib dort die relevanten Einstellungen ein). Du wirst nachher soetwas haben:

<other arguments> --callsign=test --multiplay=in,10,192.168.0.2,5000 --multiplay=out,10,mpserver05.flightgear.org,5000 --airport=KSFO --runway=28R --aircraft=hunter

Wähle Dein eigenes Rufzeichen aber prüfe diese Seite um zu sehen, ob dein Rufzeichen/Callsign bereits genutzt wird oder nicht. Nimm kein Rufzeichen, das bereits genutzt wird, da das Probleme verursachen wird!

Sobald Du FG gestartet hast, solltest Du, wenn andere Piloten online sind, Nachrichten von denjenigen sehen, die Flightgear gestartet haben, ähnlich der folgenden;

Initialising john51a using 'Aircraft/ufo/Models/ufo.xml'  
FGMultiplayRxMgr::ProcessRxData - Add new player. IP: 10.0.0.36,  
Call: john51a,model: Aircraft/ufo/Models/ufo.xml 

Du MUSST deine Lokalnummer hinter der RouterIP mit angeben,um Multiplayer zum Laufen zu bekommen!

Du musst sicherstellen, dass deine Firewall keine Probleme verursacht - stelle sie zeitweise aus oder füge eine Ausnahme für den Port 5000 hinzu.

Wenn es immer noch nicht läuft, frag mal nett auf dem IRC channel oder im Forum nach, ob dir jemand helfen kann.

Mehrere Verbindungen pro Computer

Es ist möglich mehrere FlightGear Instanzen auf einem einzigen Computer auszuführen und mit all denjenigen zu einem Multiplayer Netzwerk zu verbinden. Bei dem muss man Folgendes beachten:

  • Beide Instanzen benutzen denselben out Port.
  • Die eine Instanz benutzt den in Port 5001, die andere den in Port 5002.
  • Natürlich müssen beide Instanzen ein unterschiedliches Rufzeichen haben.

Optionale Kollisionsprüfung im Multiplayer

Es gibt in Flightgear seit Version 3.5 ein Patch, das eine optionale Kollisionserkennung im Multiplayer beinhaltet. Um die Kollisionserkennung zu aktivieren, starte FlightGear mit:

--prop:bool:/sim/multiplay/hot=true

Diejenigen, die lieber FGData anpassen möchten, können mp-hot-fgdata.patch herunterladen, was eine Checkbox dafür in die Multiplayereinstellungen hinzufügt.

Multiplayer Chat

1rightarrow.png Unter Chat Menu gibt es zu diesem Thema einen Hauptartikel.

Um mit anderen Piloten zu chatten, gehe in das Multiplayer Menü und aktiviere Chat Menu unten im Menü. Bedenke, dass vielleicht nicht alle Piloten ihre Nachrichtenbox oder Chatbox geöffnet haben, sodass sie also deine Nachrichten nicht sehen können.

Die Tastenbelegung zum Chat ist - (Bindestrich). Das lässt etwas Text auf der oberenb linken Exke des Flightgearfensters erscheinen. Mit dem Drücken der dazugehörigen Nummertasten kannst Du vorgeschriebene Nachrichten senden (Handy am Steuer(horn)?). Wenn Du 1 drückst, hannst Du eine eigene Nachricht eingeben, die mit Enter gesendet wird. Standardmäßig werden die Nachrichten von anderen kurz im oberen Bereich des FlightGear-Fensters gezeigt, aber sie bleiben viel länger im Fenster unter Network > Chat. Also wenn du dengst, dass du was verpasst hast, gehe dahin und lese die Nachricht.

Umgang mit beleidigendem Verhalten

Solltst Du Opfer von Beleidigungen oder Beschimpfungen eines Pilots werden, kannst Du ihn oder Sie ignorieren. Um die Ignorier-Funktion zu aktivieren, gehe in das Multiplayer > Pilot list Dialog und klicke den ignore Button neben dem Rufzeichen des Piloten. Das wird die Chatnachrichten des Pilots unterdrücken und sein Flugzeug auch nicht mehr anzeigen (ab FlightGear v2.2).

Multiplayer Karte

MPMap screenshot

1rightarrow.png Unter MPMap gibt es zu diesem Thema einen Hauptartikel.

Es gibt eine schöne Online Karte, die die Position der Piloten, die gerade online sind, anzeigt. Die Karte ist unter mpmap02 zu finden. Das kann auch nützlich sein, um herauszufinden, ob Du zu einem bestimmten Server verbunden bist. Außerdem findest du dort alle Navaids, Waypoints, Flughäfen, Frequenzen, Das Wetter, und mehr!

Server

Die Multiplayerserver sind untereinander verbunden; Sie müssen sich nicht zu einem bestimmten Server verbinden, damit Sie andere Piloten sehen können, die gerade auf diesem Server spielen. Die Verbindung ist am Besten, wenn Sie sich mit dem Server verbinden, der ihnen geographisch am Nähesten liegt, der der die kleinste Ping Zeit hat, oder zu denen, die am wenigsten besetzt sind.

Hinweis  Nutze diesen Link oder diesen Link um zu prüfen, ob die Server online sind. Beide Seiten sind automatisch generiert. Der Dialog in der Simulation zeigt ebenfalls nur die verfügbaren Server an.
Serveradresse Status Ort mpserver15 Erfasst Betreiber IRC Betreiber Forumname Betreiber Kommentare
mpserver01.flightgear.org Verfügbar Deutschland Ja Oliver Schroeder os  ? None
mpserver02.flightgear.org Verfügbar Los Angeles, USA Nein Lloyd Stevens ls4680 ls4680 Keine
mpserver03.flightgear.org Verfügbar Deutschland Ja Hergen  ?  ?  ?
mpserver04.flightgear.org Verfügbar UK Nein Jon Stockill Nav JonS  ?
mpserver05.flightgear.org Aus Chicago, USA  ? Brant IonCannon218  ?  ?
mpserver06.flightgear.org Aus Berlin, Deutschland  ? Sven Teichmann  ? D-SAMI Unbegrenztes Volumen
mpserver07.flightgear.org Aus Wisconsin, USA  ? Tom Betka TB  ? Offline
mpserver08.flightgear.org Aus Frankfurt am Main, Germany  ? Roland Quix0r Quix0r 10 TByte Volumen, meist kurze Pings
mpserver09.flightgear.org Aus Köln, Deutschland  ? Daniel Vigano Fauchi95  ? Offline
mpserver10.flightgear.org Aus Montpellier, France  ? Alexis Bory xiii xiii  ?
mpserver11.flightgear.org Aus Vilnius, Lithuania  ? Darius  ? ffg  ?
mpserver12.org Verfügbar Amsterdam, the Netherlands Ja mpserver12.org Rob evilslut  ? Offiziell mpserver12.flightgear.org[1]
mpserver13.flightgear.org Aus Grenoble, Frankreich  ? Charles Ingels charles cbz-026  ?
mpserver14.flightgear.org Verfügbar UK Ja Pete  ?  ?  ?
mpserver15.flightgear.org  ? North Point, Hong Kong  ? Hazuki Amamiya Hazuki Hazuki Dies ist ein Tracker Server, kein multiplayer Server
mpserver16.flightgear.org Verfügbar Kansas City, Missouri, USA Ja Rob Dosogne truthsolo truthsolo  ?
mpserver17.flightgear.org Aus Cluj, Romania  ? Marius tuxum tuxum Offline
mpserver18.flightgear.org Aus Deutschland  ?  ?  ?  ?  ?

Die Standorte der Server können auch mit Google Maps eingesehen werden.

Wenn Du daran interessiert bist, einen eigenen Multiplayer Server zu hosten, könnte das hier für dich interessant sein. Einen Multiplayer Server aufsetzen.

Bekannte Probleme

Fibertel (Argentinien)

Im Dezember 2014 wurde berichtet, dass die UDP Verbindung mit dem Port 5000 nicht möglich war, wenn ihr Internetanbieter Fibertel This is a link to a Wikipedia article (Argentinien) ist.

Fibertel Argentina nutzt diesen Port für Setup Zwecke. "Er steht zwar für die Nutzer offen, es kann aber vorkommen, dass er nur eingeschränkt funktionstüchtig ist."

Der Port 5000 ist ein nicht zugeordneter Port, und weder FlightGear, noch das Universal Plug and Play This is a link to a Wikipedia article Protocol sind "offizielle" Nutzer dieses Ports.

Eine Lösung ist, jedem Server einen anderen Port zuzuordnen; z.B. mpserver01.flightgear.org → 5001, mpserver02.flightgear.org → 5002

Siehe auch den Forumbeitrag und ticket 1617.

Weiterführende Seiten

Belege