Howto:Multiplayer: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (updating for mpserver16 going offline)
 
(92 intermediate revisions by 26 users not shown)
Line 1: Line 1:
With the '''multiplayer''' function of [[FlightGear]] you are able to see other pilots and vice-versa. This makes it possible to fly in formation, [[Howto: Air-Air Refueling|connect to tankers]] controlled by real people or contact real [[air traffic control]]lers to ask for landing/takeoff clearence.
The '''multiplayer''' feature of [[FlightGear]] makes it possible to see other pilots and vice-versa. This makes it possible to fly in formation, perform [[mid-air refueling]] with tankers controlled by real people or contact real [[air traffic control|air traffic controllers]] to ask for guidance.


Multiplay may cause extreme [[Howto: Improve Framerates|framerate drops]] during loading of aircraft models. Especially heavy models can cause severe lag. Therefore, it is suggested to fly in locations other than San Francisco's [[KSFO]], where there are fewer pilots flying around.
Multiplayer may cause extreme [[troubleshooting performance issues|framerate drops]] during the loading of aircraft models, especially heavy models such as the [[Boeing 777]] or [[Airbus A320neo]]. It is suggested to fly in locations other than the default [[San Francisco International Airport]], as there are often lots of pilots in the area who are often new, and do not follow ATC, or respect traffic.


== Servers ==
== Notes ==
'''Please Note:''' The multiplayer servers are interconnected; you '''do not''' need to connect to a specific server in order to see other pilots who are on that server. For best performance, you should connect to the server that is geographically closest to you, has the lowest latency (ping time) or is the least busy.
* Callsigns can be a maximum of seven characters.
* You might want to check the [[#Known issues|Known issues]] section.
 
== Connecting to Multiplayer ==
=== Built-in launcher and in-sim dialog ===
[[File:Multiplayer settings dialog.jpg|thumb|Multiplayer settings dialog]]
The easiest way to get online is to use the [[FlightGear Qt launcher|built-in launcher]] or the in-sim Multiplayer dialog. All you need to do is enter a callsign and select a server from the menu. Press Connect to go online.
 
=== Using FGRun ===
==== From the main page ====
[[File:Multiplayer.jpg|thumb|Multiplayer settings in [[FGRun]]]]
# Select your [[aircraft]] and starting airport as normal in [[FGRun]].
# On the last screen, tick the "Multiplayer" box. Also make sure that the "AI models" box is checked or you will not be able to see the other pilots' aircraft.
# Enter the …
#* '''Callsign''' of your choice.
#* '''Hostname:''' Enter <code>mpserverXX.flightgear.org</code> (with <code>XX</code> being the [[#Servers|server number]]).
#* '''In/Out:''' Set both ports to 5000.
# Click {{button|Run}} to start FlightGear.
 
To confirm that it's working, you can go to the multiplayer map at http://mpmap02.flightgear.org/ (in Hong Kong). Once FlightGear has started, you will notice chat messages that say "Hello" indicating pilots that are online.  They will also pop up when a pilot joins the MP network. You can change this message by add command line option, e.g.:
 
  --prop:string:/sim/multiplay/chat="Greetings pilots"


{| class="prettytable" border="1px solid" cellspacing="0" cellpadding="2" style="border-collapse: collapse;"
You may wish to use a different server, especially one closer to you.
! style="background:#efefef" |Server
! style="background:#efefef" |Location
! style="background:#efefef" |[http://mpserver15.flightgear.org Tracked]
! style="background:#efefef" |Maintainer
! style="background:#efefef" |[[IRC]] Name
! style="background:#efefef" |[http://flightgear.org/forums Forum] Name
! style="background:#efefef" |Comments
|-
|mpserver01.flightgear.org
|Germany
|[http://mpserver15.flightgear.org Yes]
|Oliver Schroeder
|os
|
|
|-
|mpserver02.flightgear.org
|Kansas, USA
|
|Sabin
|S-GECKO
|S-GECKO
|Offline
|-
|mpserver03.flightgear.org
|Germany
|
|Tobias Marx
|DocMarten
|
|Offline
|-
|mpserver04.flightgear.org
|UK
|No
|Jon Stockill
|Nav
|JonS
|
|-
|mpserver05.flightgear.org
|Chicago, USA
|[http://mpserver15.flightgear.org Yes]
|Brant
|IonCannon218
|
|
|-     
|mpserver06.flightgear.org
|Berlin, Germany
|[http://mpserver15.flightgear.org Yes]
|Sven Teichmann
|
|D-SAMI
|Unlimited traffic
|-     
|mpserver07.flightgear.org
|Wisconsin, USA
|
|Tom Betka
|TB
|
|Offline
|-     
|mpserver08.flightgear.org
|Frankfurt am Main, Germany
|No
|Roland
|Quix0r
|Quix0r
|10 TByte traffic, mostly short pings
|-
|mpserver09.flightgear.org
|Köln, Germany
|
|Daniel Vigano
|Fauchi95
|
|Offline
|-
|mpserver10.flightgear.org
|Montpellier, France
|No
|Alexis Bory
|xiii
|xiii
|
|-
|mpserver11.flightgear.org
|Vilnius, Lithuania
|No
|Darius
|
|ffg
|
|-
|mpserver12.flightgear.org
|Amsterdam, the Netherlands
|[http://mpserver12.flightgear.org MPServer12]
|Rob
|evilslut
|evilslut
|
|-
|mpserver13.flightgear.org
|Grenoble, France
|No
|Charles Ingels
|charles
|cbz-026
|
|-
|mpserver14.flightgear.org
|Zurich, Switzerland
|[http://mpserver15.flightgear.org Yes]
|Yves Sablonier
|gral
|gral
|
|-
|mpserver15.flightgear.org
|North Point, Hong Kong
|[http://mpserver15.flightgear.org Yes]
|Hazuki Amamiya
|Hazuki
|Hazuki
|
|-
|mpserver16.flightgear.org
|Texas, USA
|[http://mpserver15.flightgear.org Yes]
|Rob Dosogne
|truthsolo
|truthsolo
|
|-
|mpserver17.flightgear.org
|Cluj, Romania
|
|Marius
|tuxum
|tuxum
|Offline
|-
|mpserver18.flightgear.org
|Germany
|[http://mpserver15.flightgear.org Yes]
|
|
|
|
|}
''Information as at 2013-05-31''


Use [http://mpserver16.flightgear.org/ this], [http://mpmap01.flightgear.org/mpstatus/ this] or [http://flightgear.mxchange.org/mpstatus/ this] link to check if the MP servers are online. As of FlightGear 2.10.0, the in-sim dialog only displays servers that are available.  
==== From Network Settings ====
[[File:FGRun Advanced dialog - Network.png|thumb|The <tt>Network</tt> tab of the Advanced Options dialog in [[FGRun]] (in [[Changelog 3.2|FlightGear 3.2.0]]).]]
You can also change multiplayer settings in the <tt>Network</tt> tab of FGRun's Advanced Options.


Geographic locations of the servers are also available at [http://goo.gl/maps/jBwUd Google Maps].
# On the last page, click {{button|Advanced}}.
# Click <tt>Network</tt> in the left column.
# In the <tt>Multiplayer Options</tt> area …
#* Type your desired callsign into the box.
#* Set the parameters for the two other boxes; see [[#Using multiplayer from the command line|below]] for correct syntax.
#* Click {{button|OK}}, then run FlightGear.


If you are interested in hosting your own multiplayer server, you may want to check out [[Howto: Set up a multiplayer server]].
=== Using multiplayer from the command line ===
When running FlightGear from the [[command line]], you can specify multiplayer settings. The two arguments are as follows:
<syntaxhighlight lang="bash">
--multiplay=direction,10,ip.address,port
--callsign=anything
</syntaxhighlight>


=== Multiplayer map ===
Obviously, <code>--callsign</code> can be anything you wish but it must be limited to 7 (seven) characters in length counting any dashes. If your callsign is too long, it will be cut off in the various displays where it is shown. Generally speaking, callsigns are of the form X-XXXXX. Check [https://fgtracker.ml/ this page] to see whether your callsign is already in use or not. Do not pick a callsign that is already used, as that will create problems! Please don't leave your callsign as "CALLSIG".
[[File:MP_Server.jpg|thumb|300px|[[MPMap]] screenshot]]
{{Main article|MPMap}}


There is a very nice online map which displays the location of online pilots at [http://mpmap01.flightgear.org mpmap01] and/or [http://mpmap02.flightgear.org mpmap02]. You will also find this useful to check that you are successfully connecting to the server.
There are four arguments to <code>--multiplay</code>:
; direction
: Either <code>in</code> or <code>out</code>. <code>in</code> tells FlightGear to listen to packets of data coming in through the specified '''port'''. <code>out</code> tells FlightGear to send data out through the '''port'''.


== Getting online ==
; ip.address
As of FlightGear 2.4.0, multiplayer settings can be accessed via the in-sime Multiplayer menu. This is by far the easiest way to get online, but in some cases the methods mentioned below may be prefered.
: IP address of network interface being used by FlightGear. If left blank, FlightGear will listen to all network interfaces. If '''direction''' is set to <code>in</code>, FlightGear will listen to ''only'' this IP address.


=== Using the Windows launcher / FGRun ===
; port
[[File:Multiplayer.jpg|thumb|300px|Multiplayer options in [[FlightGear Wizard|FG Launcher]]]]
: Port that data is either being sent or received through. Usually set to <code>5000</code> and above.
# Select your [[aircraft]] and starting airport as normal in [[FlightGear Launch Control|FGRun]].
# On the next screen, tick the "Multiplayer" box. Also tick the "AI models" box or you will not be able to see the other pilots' aircraft.
#* '''Callsign:''' of your choice. Check [http://fgfs.i-net.hu/modules/fgtracker/ this page] to see whether it is already in use or not. Do not pick a callsign that is already used!
#* '''Hostname:''' enter <tt>mpserverXX.flightgear.org</tt> (with <tt>XX</tt> being the [[#Servers|server number]]).
#* '''In/Out:''' set both ports to 5000.
# Click run and you'll soon be flying with other pilots!


To confirm that it's working, you can go to the multiplayer map at; http://mpmap02.flightgear.org/ (in Hong Kong). Once FlightGear has started, you will notice chat messages that say "Hello" indicating pilots that are online and then as they join (you can change this message by editing the <tt><chat type="string">Hello</chat></tt> line in <tt>[[$FG ROOT]]/preferences.xml</tt>). You may wish to use a different server (i.e. "Hostname" entry).
== Advanced usage of multiplayer ==
=== Local setup for testing ===
It is possible to set up a local multiplayer network between two FlightGear instances ''without'' using a [[FGMS|multiplayer server]]. All you need to do is map each I/O port of one instance to the corresponding port(s) of the other instance:


For more advanced settings, the <tt>Advanced > Network</tt> tab can be opened. You are able to remove the in or out lines only through this method for example.
{{Note|
{{FGCquote
  |A socket connection requires not only an IP address, but also a port number for each side of the link - imagine a port number like a "mailbox" sitting at the address. This mailbox is used by the communicating processes to send out and receive "messages". Different processes (even when possibly identical programs) will need to use different port numbers when running. Because open ports ({{=}}mailboxes) cannot be shared.
Thus, you need to modify the client-side port settings for each additional instance that you are running on the same machine, and map the output port of one instance to the input port of the other instance (and vice versa).
  |{{cite web |url={{forum url|p=83068}}
    |title=<nowiki>Re: 2 FGFS instances / 1 win7 running same time with MP?</nowiki>
    |author=<nowiki>Hooray</nowiki>
    |date=<nowiki>Thu Jun 10</nowiki>
  }}
}}
}}


=== Using fgfs from the command line ===
Command line parameters for the first instance:
First, for those who are very impatient and have a vague idea about what they're doing, the basic arguments to pass to fgfs for multiplayer are these;
<syntaxhighlight lang="bash">
--multiplay=out,10,127.0.0.1,5000 --multiplay=in,10,127.0.0.1,5001 --callsign=Test1
</syntaxhighlight>


--multiplay=out,10,server.ip.address,5000
Command line parameters for the second instance:
--callsign=anything
<syntaxhighlight lang="bash">
--multiplay=out,10,127.0.0.1,5001 --multiplay=in,10,127.0.0.1,5000 --callsign=Test2
</syntaxhighlight>


where 5000 is the port number the server is listening on (which is 5000 for the official servers).
You can use this kind of setup to test multiplayer related features or troubleshoot multiplayer related bug reports that may be otherwise hard to reproduce over MP.  As you can't access the configuration of other people's FlightGear, this technique allows you to have complete control over FlightGear's settings.


If you for some reason need to specify which local port and/or interface FlightGear should use add the following argument:
[[File:Direct-p2p-multiplayer-setup.png|800px|Screenshot demonstrating a "peer-to-peer" setup between two FlightGear instances running on the same machine via localhost (127.0.0.1) without any multiplayer server.]]


--multiplay=in,10,your.ip.address,portnumber
You can add an arbitrary number of channels to mirror your flight onto other servers, e.g. to a private fgms (FlightGear Multiplayer Server) using
<syntaxhighlight lang="bash">
--multiplay=out,10,my.private.server.ip,5000
</syntaxhighlight>


where portnumber is usually 5000 and your.ip.address is the ip address of the network interface being used by FG to connect to the server - even if that's a local 192.168 type address. You can also leave your.ip.address blank. FlightGear will then listen on all network interfaces:
Additionally, the <code>in</code> argument above tells FG to listen '''only''' on the loopback/local interface - it will not receive packets arriving on the other network interface(s). If you want to also bind to other interfaces, just omit the IP address by using 
<syntaxhighlight lang="bash">
--multiplay=in,10,,5000
</syntaxhighlight>


--multiplay=in,10,,5000
Check [https://fgtracker.ml/ this page] to see whether your callsign is already in use or not. Do not pick a callsign that is already used, as that will create problems!


''If you are using fgrun, please note that fgrun expects you to enter a valid (non-loopback, i.e. not 127.0.0.1) IP address or hostname for the local network interface.''


Check [http://fgfs.i-net.hu/modules/fgtracker/ this page] to see whether your callsign is already in use or not. Do not pick a callsign that is already used, as that will create problems!


==== Now, going more slowly for those who are completely lost... ====
==== Now, going more slowly for those who are completely lost... ====
Try the above first, and if it doesn't work, read on.
{{Note|This section may contain out of date or inaccurate information.}}
This section ''ought'' to be unnecessary now with recent versions of the FG server. If you have problems though, it won't hurt to follow through.


First of all, you need to know the IP address of the network interface you'll be using for multiplayer FG. If your Internet connection is via an ADSL modem that plugs directly into your computer with a USB connection, you should be able to find your IP address by visiting http://www.whatismyip.com . Please note that your ISP might not give you the same IP address each time - if MP stops working, check this first.
First of all, you need to know the IP address of the network interface you'll be using for multiplayer FG.  


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.
If your Internet connection is via an ADSL modem that plugs directly into your computer, you should be able to find your IP address by visiting http://www.whatismyip.com.  
{{Note|Your {{Abbr|ISP|Internet Service Provider}} might not give you the same IP address each time.}}


* 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 addr". This will be followed directly by the number you're looking for, e.g. "inet addr:192.168.0.150"
If your connection is via an Ethernet connector or by a wireless link.
* Under '''Windows XP or later''', click start, run, and type "cmd". In the terminal window which appears, type "ipconfig" This should show you your IP address - write it down.
* With '''Windows 98''', click start, run, and type "winipcfg" to get information about your IP address.


This section _ought_ to be unnecessary now with recent versions of the FG server. If you have problems though, it won't hurt to follow through.
* '''Linux:''' Log in as root and run <code>ifconfig</code> in the terminal. In the text that is returned, you should to look for an interface name such as <code>eth0</code> or <code>wlan0</code>.  Finally, look in the text below the interface name for <code>inet addr:ip.address</code>. For example, this should read something like <code>inet addr:192.168.0.150</code>.
* '''Windows:'''
** '''Windows XP or later:''' Start Command Prompt and <code>ipconfig</code> into the terminal.  Write the IP address down.
** '''Windows 98''', click start, run, and type "winipcfg" to get information about your IP address.


Now, all (!) that remains is to configure your router to forward UDP port 5000 to the IP address you've just found. This is not something that can be described in step-by-step detail, because each manufacturer's configuration interfaces differ greatly. Some tips are given here - if you get stuck, ask nicely on the [[FlightGear IRC channel]] for help (details on the flightgear website).
Now, all that remains is to configure your router to forward UDP port 5000 to the IP address you've just found. This is not something that can be described in step-by-step detail, because each manufacturer's configuration interfaces differ greatly. Some tips are given here if you get stuck, ask nicely on the [[FlightGear IRC channel]] for help (details on the FlightGear website).


You should know how to log on to your router's configuration page, usually via a web browser. You are looking for settings pertaining to "port forwarding" "virtual server" "Forwarding Rules" or similar. When you have found the relevant settings, you need to add a rule that forwards port 5000 to the IP address you discovered earlier. If there is a choice given, ensure it is UDP ports that are forwarded. If there is no choice, you may assume that both TCP and UDP are being forwarded. Save your configuration, and most routers will probably then need to be rebooted to apply the changes.
You should know how to log on to your router's configuration page, usually via a web browser. You are looking for settings pertaining to "port forwarding," "virtual server," "Forwarding Rules," or similar. When you have found the relevant settings, you need to add a rule that forwards port 5000 to the IP address you discovered earlier. If there is a choice given, ensure it is UDP ports that are forwarded. If there is no choice, you may assume that both TCP and UDP are being forwarded. Save your configuration, and most routers will probably then need to be rebooted to apply the changes.


Note: (for BSD users) If you are using a ADSL modem, you might have to put the port forward command into the ppp.conf file rather than firewall. This is because the firewall script will only run each time the machine is booted rather than the ppp line coming back online.
{{Note|BSD users: If you are using a ADSL modem, you might have to put the port forward command into the ppp.conf file rather than firewall. This is because the firewall script will only run each time the machine is booted rather than the ppp line coming back online.}}


Finally, start FG using the command line given right at the start (if you're using the windows launcher you will find entry boxes for Multiplayer arguments - insert the relevant details there). You will end up with something like this;
Finally, start FG using the command line given right at the start (if you're using the Windows launcher you will find entry boxes for Multiplayer arguments insert the relevant details there). You will end up with something like this:
<syntaxhighlight lang="bash">
<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
</syntaxhighlight>


fgfs --callsign=test --multiplay=in,10,192.168.0.2,5000 --multiplay=out,10,mpserver05.flightgear.org,5000 \
Choose your own callsign, but check [https://fgtracker.ml/ this page] first to see whether your desired callsign is already in use or not. Do not pick a callsign that is already used, as that will create problems!
--airport=KSFO --runway=28R --aircraft=hunter
 
Choose your own callsign - this is currently limited to seven characters. Check [http://fgfs.i-net.hu/modules/fgtracker/ this page] to see whether your callsign is already in use or not. Do not pick a callsign that is already used, as that will create problems!


Once you have started FG, you should, if others are flying, see messages in the terminal from which FG was started, similar to the following;
Once you have started FG, you should, if others are flying, see messages in the terminal from which FG was started, similar to the following;
Line 241: Line 138:
  Call: john51a,model: Aircraft/ufo/Models/ufo.xml  
  Call: john51a,model: Aircraft/ufo/Models/ufo.xml  


You MUST give your local, behind-the-router IP address for MultiPlayer to work. Trust me on this one!
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.
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.
If it's still just not working for you, ask nicely on the [[FlightGear IRC channel|IRC channel]] or the {{forum link|text=forum}} and someone should be able to assist.


== Multiple connections per computer ==
=== Multiple connections per computer ===
It is possible to run multiple FlightGear instances on a single computer and connect them all to the multiplayer network. However, this requires some extras to keep in mind:
It is possible to run multiple FlightGear instances on a single computer and connect them all to the multiplayer network. However, this requires some extras to keep in mind:
* both instances use the same out-port.
# Both instances use the same <code>out</code> port.
* one instance uses in port=5001, the other port 5002.
# One instance uses <code>in</code> port <code>5001</code>, the other port <code>5002</code>.
* and of course should both instances have unique callsigns.
# Both instances have unique callsigns.
 
 
=== Optional collision detection in multiplayer ===
 
A patch has been added to FlightGear (since Version 3.5) to allow optional collision detection in multiplayer. To enable collision detection, start FlightGear with:
 
<syntaxhighlight>
--prop:bool:/sim/multiplay/hot=true
</syntaxhighlight>
 
Those who are able to patch FGData themselves, can download [http://sourceforge.net/p/flightgear/mailman/attachment/CAHs0wcrEwYZvXTddcUaH0ZMfmVNvEWRap8MXOrEoKybUDO58sQ%40mail.gmail.com/3/ mp-hot-fgdata.patch], which adds a checkbox to the Multiplayer Settings dialog to enable or disable the collision detection at runtime.


== Multiplayer chat ==
== Multiplayer chat ==
{{Main article|Chat Menu}}
{{Main article|Chat Menu}}


To chat with other pilots, go to the "Network" menu and select "Chat" or "Chat Menu" at the bottom of the menu. Note that the other pilots may not have their chat box open nor chat messages enabled, so they may not see your messages.
To chat with other pilots, go to the <tt>Multiplayer</tt> menu and select <tt>Chat Menu</tt> at the bottom of the menu. Note that the other pilots may not have their chat box open nor chat messages enabled, so they may not see your messages.
 
The shortcut for chatting is {{Key press|<nowiki>-</nowiki>}} (hyphen).  This will bring up some text in the upper-left of the FlightGear window.  By pressing the corresponding number keys, you can send pre-made messages.  Pressing {{Key press|1}} will let you type in a custom message, which you can send by pressing enter. By default, other people's messages are displayed at the top of FlightGear's window for a few seconds, but it will appear for a much longer time in the window at <tt>Network > Chat</tt>. So if you think you have missed anything, go check there.


The shortcut for chatting is "_" (underscore) and it brings up a small window where you can type. By default, other people's messages are displayed at the top of Flightgear's window for a few seconds, but it will appear for a much longer time in the window at <tt>Network > Chat</tt>. So if you think you have missed anything, go check there.
== Dealing with abusive behavior ==
Should you become victim of abusive or annoying behavior by any pilot, you have option to ignore him or her. To activate the ignore function open the <tt>Multiplayer > Pilot list</tt> dialog and click the <tt>ignore</tt> button next to the pilot's callsign. This will prevent chat messages from the ignored pilot appearing and prevent his aircraft from appearing (unless you are using FlightGear v2.2 or older).


'''NOTE:''' Multiplayer chat is not supported by FlightGear 0.9.10 or older.
== Multiplayer map ==
[[File:MP_Server.jpg|thumb|300px|[[MPMap]] screenshot]]
{{Main article|MPMap}}


== Coping with abusive behaviour ==
There is a very nice online map which displays the location of online pilots at [http://mpmap02.flightgear.org mpmap02]. You will also find this useful to check that you are successfully connecting to the server, as well as looking up navaids, waypoints, airports, frequencies, weather, and more!
Should you become victim of abusive or annoying behaviour by any pilot you have option to ignore him or her. To activate the ignore function open the Multiplayer > Pilot list dialog and click the ignore button next to the pilot's call sign. As of FlightGear 2.0.0 this will prevent chat messages from the ignored pilot from appearing and in FlightGear 2.4.0 and later it will additionally prevent his aircraft from appearing.
 
== Servers ==
The multiplayer servers are interconnected.  With few exceptions you ''do not'' need to connect to a specific server in order to see other pilots who are on that server. For best performance, you should connect to the server that is either geographically closest to you, has the lowest latency (ping time), or is the least busy.
{{tip|Use [http://mpmap01.flightgear.org/mpstatus/ this link] to check if the MP servers are online. Page is automatically generated.  The [[#In-sim Dialog|in-sim dialog]] will only display servers that are available.}}
 
{| class="wikitable sortable"
! Server address
! Status
! Location
! Tracked (by [http://fgtracker.ml fgtracker.ml] unless otherwise specified)
! Maintainer
! Maintainer's [[IRC]] name
! Maintainer's {{forum link|text=forum}} name
! Comments
|-
| mpserver01.flightgear.org
| {{yes|Up}}
| Germany
| {{yes}}
| Oliver Schröder
| os
| {{N/a}}
| {{N/a|None}}
|-
| mpserver02.flightgear.org
| {{yes|Up}}
| Los Angeles, USA
| {{N/a}}
| Lloyd Stevens
| ls4680
| ls4680
| {{N/a|None}}
|-
| mpserver03.flightgear.org
| {{yes|Up}}
| Germany
| {{yes}}
| Hergen
| {{N/a}}
| {{N/a}}
| [https://mpserver03.flightgear.org mpserver03.flightgear.org]
|-
| mpserver04.flightgear.org
| {{yes|Up}}
| UK
| {{no}}
| Jon Stockill
| Nav
| {{forum link|type=member|u=738|text=JonS}}
| {{N/a|None}}
|-
| mpserver05.flightgear.org
| {{no|Down}}
| Chicago, USA
| {{N/a}}
| Brant
| IonCannon218
| {{N/a}}
| {{N/a|None}}
|-     
| mpserver06.flightgear.org
| {{no|Down}}
| Berlin, Germany
| {{N/a}}
| Sven Teichmann
| {{N/a}}
| {{forum link|type=member|u=11839|text=D-SAMI}}
| Unlimited traffic
|-     
| mpserver07.flightgear.org
| {{no|Down}}
| Wisconsin, USA
| {{N/a}}
| Tom Betka
| TB
| {{N/a}}
| Offline
|-     
| mpserver08.flightgear.org
| {{no|Down}}
| Frankfurt am Main, Germany
| {{N/a}}
| Roland
| Quix0r
| {{forum link|type=member|u=7512|text=Quix0r}}
| 10 TByte traffic, mostly short pings
|-
| mpserver09.flightgear.org
| {{no|Down}}
| Köln, Germany
| {{N/a}}
| Daniel Vigano
| Fauchi95
| {{N/a}}
| Offline
|-
| mpserver10.flightgear.org
| {{no|Down}}
| Montpellier, France
| {{N/a}}
| {{usr|Xiii|Alexis Bory}}
| xiii
| {{forum link|type=member|u=884|text=xiii}}
| {{N/a|None}}
|-
| mpserver11.flightgear.org
| {{no|Down}}
| Vilnius, Lithuania
| {{N/a}}
| Darius
| {{N/a}}
| {{forum link|type=member|u=1122|text=ffg}}
| {{N/a|None}}
|-
| mpserver12.org
| {{no}}
| Amsterdam, the Netherlands
| {{no}} ([http://mpserver12.org mpserver12.org])
| Rob
| evilslut
| {{N/a}}
| Formerly mpserver12.flightgear.org<ref>{{forum url|p=258435}}</ref>
|-
| mpserver13.flightgear.org
| {{yes|Up}}
| Beauvais, France
| {{N/a}}
| Charles Ingels
| charles
| {{forum link|type=member|u=1592|text=cbz-026}}
| {{N/a|None}}
|-
| mpserver14.flightgear.org
| {{yes|Up}}
| UK
| {{no}}
| Pete
| {{N/a}}
| {{N/a}}
| {{N/a|None}}
|-
| mpserver15.flightgear.org
| {{yes|Up}}
| North Point, Hong Kong
| {{yes}}
| Hazuki Amamiya
| Hazuki
| {{forum link|type=member|u=8400|text=Hazuki}}
| {{N/a|None}}
|-
| mpserver16.flightgear.org
| {{no|Down}}
| Kansas City, Missouri, USA
| {{N/a}}
| Rob Rozestraten
| truthsolo
| {{forum link|type=member|u=9926|text=truthsolo}}
| Offline
|-
| mpserver17.flightgear.org
| {{no|Down}}
| Cluj, Romania
| {{N/a}}
| Marius
| tuxum
| {{forum link|type=member|u=11636|text=tuxum}}
| Offline
|-
| mpserver18.flightgear.org
| {{no|Down}}
| Germany
| {{N/a}}
| {{N/a}}
| {{N/a}}
| {{N/a}}
| {{N/a}}
|-
| mpserver19.flightgear.org
| {{yes|Up}}
| London, UK
| {{yes}}
| Marisa Giancarla
| marisag
| {{forum link|type=member|u=21604|text=marisag}}
| flightgearuk.gameplayer.club
|-
| mpserver20.flightgear.org
| {{yes|Up}}
| South San Francisco, California, USA
| {{yes}}
| Marisa Giancarla
| marisag
| {{forum link|type=member|u=21604|text=marisag}}
| {{N/a|None}}
|-
| mpserver21.flightgear.org
| {{yes|Up}}
| Tokyo, Japan
| {{yes}}
| Marisa Giancarla
| marisag
| {{forum link|type=member|u=21604|text=marisag}}
| {{N/a|None}}
|-
| mpserver22.flightgear.org
| {{yes|Up}}
| Munich, Germany
| {{no}}
| Fabian Gilgen
| ivelischt
| ivelischt
| {{N/a|None}}
|-
| mpserver25.flightgear.org
| {{yes|Up}}
| Mumbai, India
| {{yes}}
| Marisa Giancarla
| marisag
| {{forum link|type=member|u=21604|text=marisag}}
| flightgearin.gameplayer.club
|-
| mpserver26.flightgear.org
| {{yes|Up}}
| Frankfurt, Germany
| {{yes}}
| Marisa Giancarla
| marisag
| {{forum link|type=member|u=21604|text=marisag}}
| flightgearde.gameplayer.club
|-
| mpserver51.flightgear.org
| {{yes|Up}}
| Atlanta, Georgia, USA
| {{yes}}
| Marisa Giancarla
| marisag
| {{forum link|type=member|u=21604|text=marisag}}
| flightgearat.gameplayer.club
|-
| mpserver87.flightgear.org
| {{yes|Up}}
| London, England
| {{yes}}
| Megaf
| Megaf
| {{forum link|type=member|u=21017|text=Megaf}}
| 2000 nmi Range and Radar Range.
|-
| mpcn01.fgprc.org
| {{yes|Up}}
| Shanghai, China
| {{no}}
| Weihao Lee
| {{N/a}}
| {{N/a}}
| 100 nm Range and 2000nm Radar Range.
|-
| mpcn02.fgprc.org
| {{yes|Up}}
| NewYork, US
| {{no}}
| Sidi Liang
| {{N/a}}
|  {{forum link|type=member|u=19791|text=sidi762}}
| 200 nm Range and 2000nm Radar Range.
|}
 
Geographic locations of the servers are also available at [http://goo.gl/maps/jBwUd Google Maps].
 
If you are interested in hosting your own multiplayer server, you may want to check out [[Howto: Set up a multiplayer server]].
 
== Known issues ==
=== Fibertel (Argentina) ===
In December 2014, it was reported that UDP connection through port 5000 was not possible for users whose ISP was {{Wikipedia|Fibertel}} (Argentina).
 
Fibertel Argentina apparently uses the port for setup purposes. "It should be open for the user but it might not be fully functional."
 
Port 5000 is a generic port, and neither FlightGear nor the {{Wikipedia|UPnP}} protocol are an "official" usage of the port.
 
A solution would be to spread the ports between the servers; e.g., mpserver01.flightgear.org → 5001, mpserver02.flightgear.org → 5002
 
See also the {{forum link|t=24754|text=forum thread}} and {{issue|1617}}.


== Related content ==
== Related content ==
Line 269: Line 464:
* [[Howto: Set up a multiplayer server]]
* [[Howto: Set up a multiplayer server]]
* [[Multiplayer protocol]]
* [[Multiplayer protocol]]
* [[Howto:Transmit_properties_over_MP]]
* [[Pilot List]] dialog
{{Appendix}}


[[Category:Multiplayer]]
[[Category:Multiplayer]]
Line 276: Line 475:
[[es:Howto: Multijugador]]
[[es:Howto: Multijugador]]
[[fr:Howto: Multijoueur]]
[[fr:Howto: Multijoueur]]
[[it:Come fare:Multiplayer]]
[[nl:Howto: Multiplayer]]
[[nl:Howto: Multiplayer]]
[[pl: Konfiguracja trybu multiplayer]]
[[pl:Konfiguracja trybu multiplayer]]
[[pt:Tutorial de Multiplayer]]

Latest revision as of 15:42, 14 April 2023

The multiplayer feature of FlightGear makes it possible to see other pilots and vice-versa. This makes it possible to fly in formation, perform mid-air refueling with tankers controlled by real people or contact real air traffic controllers to ask for guidance.

Multiplayer may cause extreme framerate drops during the loading of aircraft models, especially heavy models such as the Boeing 777 or Airbus A320neo. It is suggested to fly in locations other than the default San Francisco International Airport, as there are often lots of pilots in the area who are often new, and do not follow ATC, or respect traffic.

Notes

  • Callsigns can be a maximum of seven characters.
  • You might want to check the Known issues section.

Connecting to Multiplayer

Built-in launcher and in-sim dialog

Multiplayer settings dialog

The easiest way to get online is to use the built-in launcher or the in-sim Multiplayer dialog. All you need to do is enter a callsign and select a server from the menu. Press Connect to go online.

Using FGRun

From the main page

Multiplayer settings in FGRun
  1. Select your aircraft and starting airport as normal in FGRun.
  2. On the last screen, tick the "Multiplayer" box. Also make sure that the "AI models" box is checked or you will not be able to see the other pilots' aircraft.
  3. Enter the …
    • Callsign of your choice.
    • Hostname: Enter mpserverXX.flightgear.org (with XX being the server number).
    • In/Out: Set both ports to 5000.
  4. Click Run to start FlightGear.

To confirm that it's working, you can go to the multiplayer map at http://mpmap02.flightgear.org/ (in Hong Kong). Once FlightGear has started, you will notice chat messages that say "Hello" indicating pilots that are online. They will also pop up when a pilot joins the MP network. You can change this message by add command line option, e.g.:

 --prop:string:/sim/multiplay/chat="Greetings pilots"

You may wish to use a different server, especially one closer to you.

From Network Settings

The Network tab of the Advanced Options dialog in FGRun (in FlightGear 3.2.0).

You can also change multiplayer settings in the Network tab of FGRun's Advanced Options.

  1. On the last page, click Advanced.
  2. Click Network in the left column.
  3. In the Multiplayer Options area …
    • Type your desired callsign into the box.
    • Set the parameters for the two other boxes; see below for correct syntax.
    • Click OK, then run FlightGear.

Using multiplayer from the command line

When running FlightGear from the command line, you can specify multiplayer settings. The two arguments are as follows:

--multiplay=direction,10,ip.address,port
--callsign=anything

Obviously, --callsign can be anything you wish but it must be limited to 7 (seven) characters in length counting any dashes. If your callsign is too long, it will be cut off in the various displays where it is shown. Generally speaking, callsigns are of the form X-XXXXX. Check this page to see whether your callsign is already in use or not. Do not pick a callsign that is already used, as that will create problems! Please don't leave your callsign as "CALLSIG".

There are four arguments to --multiplay:

direction
Either in or out. in tells FlightGear to listen to packets of data coming in through the specified port. out tells FlightGear to send data out through the port.
ip.address
IP address of network interface being used by FlightGear. If left blank, FlightGear will listen to all network interfaces. If direction is set to in, FlightGear will listen to only this IP address.
port
Port that data is either being sent or received through. Usually set to 5000 and above.

Advanced usage of multiplayer

Local setup for testing

It is possible to set up a local multiplayer network between two FlightGear instances without using a multiplayer server. All you need to do is map each I/O port of one instance to the corresponding port(s) of the other instance:

Note
Cquote1.png A socket connection requires not only an IP address, but also a port number for each side of the link - imagine a port number like a "mailbox" sitting at the address. This mailbox is used by the communicating processes to send out and receive "messages". Different processes (even when possibly identical programs) will need to use different port numbers when running. Because open ports (=mailboxes) cannot be shared.

Thus, you need to modify the client-side port settings for each additional instance that you are running on the same machine, and map the output port of one instance to the input port of the other instance (and vice versa).


Cquote2.png

Command line parameters for the first instance:

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

Command line parameters for the second instance:

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

You can use this kind of setup to test multiplayer related features or troubleshoot multiplayer related bug reports that may be otherwise hard to reproduce over MP. As you can't access the configuration of other people's FlightGear, this technique allows you to have complete control over FlightGear's settings.

Screenshot demonstrating a "peer-to-peer" setup between two FlightGear instances running on the same machine via localhost (127.0.0.1) without any multiplayer server.

You can add an arbitrary number of channels to mirror your flight onto other servers, e.g. to a private fgms (FlightGear Multiplayer Server) using

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

Additionally, the in argument above tells FG to listen only on the loopback/local interface - it will not receive packets arriving on the other network interface(s). If you want to also bind to other interfaces, just omit the IP address by using

--multiplay=in,10,,5000

Check this page to see whether your callsign is already in use or not. Do not pick a callsign that is already used, as that will create problems!


Now, going more slowly for those who are completely lost...

Note  This section may contain out of date or inaccurate information.

This section ought to be unnecessary now with recent versions of the FG server. If you have problems though, it won't hurt to follow through.

First of all, you need to know the IP address of the network interface you'll be using for multiplayer FG.

If your Internet connection is via an ADSL modem that plugs directly into your computer, you should be able to find your IP address by visiting http://www.whatismyip.com.

Note  Your ISP might not give you the same IP address each time.

If your connection is via an Ethernet connector or by a wireless link.

  • Linux: Log in as root and run ifconfig in the terminal. In the text that is returned, you should to look for an interface name such as eth0 or wlan0. Finally, look in the text below the interface name for inet addr:ip.address. For example, this should read something like inet addr:192.168.0.150.
  • Windows:
    • Windows XP or later: Start Command Prompt and ipconfig into the terminal. Write the IP address down.
    • Windows 98, click start, run, and type "winipcfg" to get information about your IP address.

Now, all that remains is to configure your router to forward UDP port 5000 to the IP address you've just found. This is not something that can be described in step-by-step detail, because each manufacturer's configuration interfaces differ greatly. Some tips are given here – if you get stuck, ask nicely on the FlightGear IRC channel for help (details on the FlightGear website).

You should know how to log on to your router's configuration page, usually via a web browser. You are looking for settings pertaining to "port forwarding," "virtual server," "Forwarding Rules," or similar. When you have found the relevant settings, you need to add a rule that forwards port 5000 to the IP address you discovered earlier. If there is a choice given, ensure it is UDP ports that are forwarded. If there is no choice, you may assume that both TCP and UDP are being forwarded. Save your configuration, and most routers will probably then need to be rebooted to apply the changes.

Note  BSD users: If you are using a ADSL modem, you might have to put the port forward command into the ppp.conf file rather than firewall. This is because the firewall script will only run each time the machine is booted rather than the ppp line coming back online.

Finally, start FG using the command line given right at the start (if you're using the Windows launcher you will find entry boxes for Multiplayer arguments – insert the relevant details there). You will end up with something like this:

<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

Choose your own callsign, but check this page first to see whether your desired callsign is already in use or not. Do not pick a callsign that is already used, as that will create problems!

Once you have started FG, you should, if others are flying, see messages in the terminal from which FG was started, similar to the following;

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 

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 IRC channel or the forum This is a link to the FlightGear forum. and someone should be able to assist.

Multiple connections per computer

It is possible to run multiple FlightGear instances on a single computer and connect them all to the multiplayer network. However, this requires some extras to keep in mind:

  1. Both instances use the same out port.
  2. One instance uses in port 5001, the other port 5002.
  3. Both instances have unique callsigns.


Optional collision detection in multiplayer

A patch has been added to FlightGear (since Version 3.5) to allow optional collision detection in multiplayer. To enable collision detection, start FlightGear with:

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

Those who are able to patch FGData themselves, can download mp-hot-fgdata.patch, which adds a checkbox to the Multiplayer Settings dialog to enable or disable the collision detection at runtime.

Multiplayer chat

1rightarrow.png See Chat Menu for the main article about this subject.

To chat with other pilots, go to the Multiplayer menu and select Chat Menu at the bottom of the menu. Note that the other pilots may not have their chat box open nor chat messages enabled, so they may not see your messages.

The shortcut for chatting is - (hyphen). This will bring up some text in the upper-left of the FlightGear window. By pressing the corresponding number keys, you can send pre-made messages. Pressing 1 will let you type in a custom message, which you can send by pressing enter. By default, other people's messages are displayed at the top of FlightGear's window for a few seconds, but it will appear for a much longer time in the window at Network > Chat. So if you think you have missed anything, go check there.

Dealing with abusive behavior

Should you become victim of abusive or annoying behavior by any pilot, you have option to ignore him or her. To activate the ignore function open the Multiplayer > Pilot list dialog and click the ignore button next to the pilot's callsign. This will prevent chat messages from the ignored pilot appearing and prevent his aircraft from appearing (unless you are using FlightGear v2.2 or older).

Multiplayer map

MPMap screenshot

1rightarrow.png See MPMap for the main article about this subject.

There is a very nice online map which displays the location of online pilots at mpmap02. You will also find this useful to check that you are successfully connecting to the server, as well as looking up navaids, waypoints, airports, frequencies, weather, and more!

Servers

The multiplayer servers are interconnected. With few exceptions you do not need to connect to a specific server in order to see other pilots who are on that server. For best performance, you should connect to the server that is either geographically closest to you, has the lowest latency (ping time), or is the least busy.

Tip  Use this link to check if the MP servers are online. Page is automatically generated. The in-sim dialog will only display servers that are available.
Server address Status Location Tracked (by fgtracker.ml unless otherwise specified) Maintainer Maintainer's IRC name Maintainer's forum This is a link to the FlightGear forum. name Comments
mpserver01.flightgear.org Up Germany Yes Oliver Schröder os N/A None
mpserver02.flightgear.org Up Los Angeles, USA N/A Lloyd Stevens ls4680 ls4680 None
mpserver03.flightgear.org Up Germany Yes Hergen N/A N/A mpserver03.flightgear.org
mpserver04.flightgear.org Up UK No Jon Stockill Nav JonS This is a link to the FlightGear forum. None
mpserver05.flightgear.org Down Chicago, USA N/A Brant IonCannon218 N/A None
mpserver06.flightgear.org Down Berlin, Germany N/A Sven Teichmann N/A D-SAMI This is a link to the FlightGear forum. Unlimited traffic
mpserver07.flightgear.org Down Wisconsin, USA N/A Tom Betka TB N/A Offline
mpserver08.flightgear.org Down Frankfurt am Main, Germany N/A Roland Quix0r Quix0r This is a link to the FlightGear forum. 10 TByte traffic, mostly short pings
mpserver09.flightgear.org Down Köln, Germany N/A Daniel Vigano Fauchi95 N/A Offline
mpserver10.flightgear.org Down Montpellier, France N/A Alexis Bory xiii xiii This is a link to the FlightGear forum. None
mpserver11.flightgear.org Down Vilnius, Lithuania N/A Darius N/A ffg This is a link to the FlightGear forum. None
mpserver12.org No Amsterdam, the Netherlands No (mpserver12.org) Rob evilslut N/A Formerly mpserver12.flightgear.org[1]
mpserver13.flightgear.org Up Beauvais, France N/A Charles Ingels charles cbz-026 This is a link to the FlightGear forum. None
mpserver14.flightgear.org Up UK No Pete N/A N/A None
mpserver15.flightgear.org Up North Point, Hong Kong Yes Hazuki Amamiya Hazuki Hazuki This is a link to the FlightGear forum. None
mpserver16.flightgear.org Down Kansas City, Missouri, USA N/A Rob Rozestraten truthsolo truthsolo This is a link to the FlightGear forum. Offline
mpserver17.flightgear.org Down Cluj, Romania N/A Marius tuxum tuxum This is a link to the FlightGear forum. Offline
mpserver18.flightgear.org Down Germany N/A N/A N/A N/A N/A
mpserver19.flightgear.org Up London, UK Yes Marisa Giancarla marisag marisag This is a link to the FlightGear forum. flightgearuk.gameplayer.club
mpserver20.flightgear.org Up South San Francisco, California, USA Yes Marisa Giancarla marisag marisag This is a link to the FlightGear forum. None
mpserver21.flightgear.org Up Tokyo, Japan Yes Marisa Giancarla marisag marisag This is a link to the FlightGear forum. None
mpserver22.flightgear.org Up Munich, Germany No Fabian Gilgen ivelischt ivelischt None
mpserver25.flightgear.org Up Mumbai, India Yes Marisa Giancarla marisag marisag This is a link to the FlightGear forum. flightgearin.gameplayer.club
mpserver26.flightgear.org Up Frankfurt, Germany Yes Marisa Giancarla marisag marisag This is a link to the FlightGear forum. flightgearde.gameplayer.club
mpserver51.flightgear.org Up Atlanta, Georgia, USA Yes Marisa Giancarla marisag marisag This is a link to the FlightGear forum. flightgearat.gameplayer.club
mpserver87.flightgear.org Up London, England Yes Megaf Megaf Megaf This is a link to the FlightGear forum. 2000 nmi Range and Radar Range.
mpcn01.fgprc.org Up Shanghai, China No Weihao Lee N/A N/A 100 nm Range and 2000nm Radar Range.
mpcn02.fgprc.org Up NewYork, US No Sidi Liang N/A sidi762 This is a link to the FlightGear forum. 200 nm Range and 2000nm Radar Range.

Geographic locations of the servers are also available at Google Maps.

If you are interested in hosting your own multiplayer server, you may want to check out Howto: Set up a multiplayer server.

Known issues

Fibertel (Argentina)

In December 2014, it was reported that UDP connection through port 5000 was not possible for users whose ISP was Fibertel This is a link to a Wikipedia article (Argentina).

Fibertel Argentina apparently uses the port for setup purposes. "It should be open for the user but it might not be fully functional."

Port 5000 is a generic port, and neither FlightGear nor the UPnP This is a link to a Wikipedia article protocol are an "official" usage of the port.

A solution would be to spread the ports between the servers; e.g., mpserver01.flightgear.org → 5001, mpserver02.flightgear.org → 5002

See also the forum thread This is a link to the FlightGear forum. and ticket #1617.

Related content

References