Howto:Multiplayer: Difference between revisions

Jump to navigation Jump to search
Finish main text, need to finish updating table now.
(Finish main text, need to finish updating table now.)
Line 11: Line 11:
[[File:Multiplayer settings dialog.jpg|thumb|Multiplayer settings dialog]]
[[File:Multiplayer settings dialog.jpg|thumb|Multiplayer settings dialog]]
The easiest way to get online is to use 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.
The easiest way to get online is to use 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 ===
=== Using FGRun ===
Line 40: Line 39:
#* Set the parameters for the two other boxes; see [[#Using multiplayer from the command line|below]] for correct syntax.
#* 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.
#* Click {{button|OK}}, then run FlightGear.
{{-}}


=== Using multiplayer from the command line ===
=== Using multiplayer from the command line ===
Line 54: Line 52:


; ip.address
; ip.address
: IP address of network interface being used by FlightGear.  If left blank, FlightGear will listen to all network intefaces.  If '''direction''' is set to <code>in</code>, FlightGear will listen to ''only'' this 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 <code>in</code>, FlightGear will listen to ''only'' this IP address.


; port
; port
Line 60: Line 58:


== Advanced usage of multiplayer ==
== Advanced usage of multiplayer ==
{{WIP}}
=== Local setup for testing ===
=== Local setup for testing ===
It is possible to set up a local multiplayer network between to 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.
It is possible to set up a local multiplayer network between to 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.
Line 74: Line 71:
</syntaxhighlight>
</syntaxhighlight>


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 confirguration of other people's FlightGear, this technique allows you to have complete control over FlightGear's settings.
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.


[[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.]]
[[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.]]
Line 91: Line 88:


==== Now, going more slowly for those who are completely lost... ====
==== Now, going more slowly for those who are completely lost... ====
Although this section should be unnecessary with newer versions of [[FGMS]], you may still run into problems.
{{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.  
First of all, you need to know the IP address of the network interface you'll be using for multiplayer FG.  
Line 105: Line 103:
** '''Windows 98''', click start, run, and type "winipcfg" to get information about your IP address.
** '''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.
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" enclose="div">
fgfs --callsign=test --multiplay=in,10,192.168.0.2,5000 --multiplay=out,10,mpserver05.flightgear.org,5000 \
<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  
--airport=KSFO --runway=28R --aircraft=hunter  
</syntaxhighlight>


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!
Choose your own callsign, but check [http://fgfs.i-net.hu/modules/fgtracker/ 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;
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 128: Line 124:
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 [http://forum.flightgear.org/ forum] and someone should be able to assist.


=== Multiple connections per computer ===
=== Multiple connections per computer ===
Line 143: Line 139:
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.
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|Shift|<nowiki>-</nowiki>}} (underscore) and it brings up a small window that you can type in. 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 that you can type in. 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 behaviour ==
== Dealing with abusive behavior ==
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 <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).
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).


== Multiplayer map ==
== Multiplayer map ==
Line 156: Line 152:
== Servers ==
== 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.
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://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. The [[#In-sim Dialog|in-sim dialog]] will only display servers that are available.}}
{{tip|Use [http://mpmap01.flightgear.org/mpstatus/ this link] or [http://flightgear.mxchange.org/mpstatus/ this link] to check if the MP servers are online. Both pages are automatically generated.  The [[#In-sim Dialog|in-sim dialog]] will only display servers that are available.}}


{| class="wikitable sortable"
{| class="wikitable sortable"
! Server
! Server address
! Location
! Status
! [http://mpserver15.flightgear.org Tracked]
! Location  
! Maintainer
! Tracked (by [http://mpserver15.flightgear.org mpserver15])?
! [[IRC]] Name
! Maintainer  
! [http://flightgear.org/forums Forum] Name
! Maintainer's [[IRC]] name
! Maintainer's [http://flightgear.org/forums forum] name
! Comments
! Comments
|-
|-
|mpserver01.flightgear.org
| mpserver01.flightgear.org
|Germany
| {{yes|Up}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Germany
|Oliver Schroeder
| {{yes}}
|os
| Oliver Schroeder
|
| os
|
| {{N/a}}
| {{N/a|None}}
|-
|-
|mpserver02.flightgear.org
| mpserver02.flightgear.org
|Los Angeles, USA
| {{yes|Up}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Los Angeles, USA
|Lloyd Stevens
| {{yes}}
|ls4680
| Lloyd Stevens
|ls4680
| ls4680
|
| ls4680
| {{N/a|None}}
|-
|-
|mpserver03.flightgear.org
| mpserver03.flightgear.org
|Germany  
| {{yes|Up}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Germany  
|Hergen
| {{yes}}
|
| Hergen
|
| {{N/a}}
|
| {{N/a}}
| {{N/a}}
|-
|-
|mpserver04.flightgear.org
| mpserver04.flightgear.org
|UK
| {{yes|Up}}
|{{no}}
| UK
|Jon Stockill
| {{Yes}}
|Nav
| Jon Stockill
|JonS
| Nav
|
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=738 JonS]
| {{N/a}}
|-
|-
|mpserver05.flightgear.org
| mpserver05.flightgear.org
|Chicago, USA
| {{no|Down}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Chicago, USA
|Brant
| {{no}}
|IonCannon218
| Brant
|
| IonCannon218
|
| {{N/a}}
| {{N/a}}
|-       
|-       
|mpserver06.flightgear.org
| mpserver06.flightgear.org
|Berlin, Germany
| {{no|Down}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Berlin, Germany
|Sven Teichmann
| {{no}}
|
| Sven Teichmann
|D-SAMI
| {{N/a}}
|Unlimited traffic
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=11839 D-SAMI]
| Unlimited traffic
|-       
|-       
|mpserver07.flightgear.org
| mpserver07.flightgear.org
|Wisconsin, USA
| {{no|Down}}
|{{n/a}}
| Wisconsin, USA
|Tom Betka
| {{N/a}}
|TB
| Tom Betka
|
| TB
|Offline
| {{N/a}}
| Offline
|-       
|-       
|mpserver08.flightgear.org
| mpserver08.flightgear.org
|Frankfurt am Main, Germany
| {{no|Down}}
|{{no}}
| Frankfurt am Main, Germany
|Roland
| {{No}}
|Quix0r
| Roland
|Quix0r
| Quix0r
|10 TByte traffic, mostly short pings
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=7512 Quix0r]
| 10 TByte traffic, mostly short pings
|-
|-
|mpserver09.flightgear.org
| mpserver09.flightgear.org
|Köln, Germany
| {{no|Down}}
|{{n/a}}
| Köln, Germany
|Daniel Vigano
| {{N/a}}
|Fauchi95
| Daniel Vigano
|
| Fauchi95
|Offline
| {{N/a}}
| Offline
|-
|-
|mpserver10.flightgear.org
| mpserver10.flightgear.org
|Montpellier, France
| {{yes|Up}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Montpellier, France
|Alexis Bory
| {{yes}}
|xiii
| {{usr|Xiii|Alexis Bory}}
|xiii
| xiii
|
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=884 xiii]
| {{N/a}}
|-
|-
|mpserver11.flightgear.org
| mpserver11.flightgear.org
|Vilnius, Lithuania
| {{no|Down}}
|{{no}}
| Vilnius, Lithuania
|Darius
| {{No}}
|
| Darius
|ffg
| {{N/a}}
|
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=1122 ffg]
| {{N/a}}
|-
|-
|mpserver12.flightgear.org
| mpserver12.flightgear.org
|Amsterdam, the Netherlands
| {{yes|Up}}
|{{yes|[http://mpserver12.flightgear.org mpserver12]}}
| Amsterdam, the Netherlands
|Rob
| {{yes}}
|evilslut
| Rob
|evilslut
| evilslut
|
| evilslut
| {{N/a}}
|-
|-
|mpserver13.flightgear.org
| mpserver13.flightgear.org
|Grenoble, France
| {{yes|Up}}
|{{no}}
| Grenoble, France
|Charles Ingels
| {{No}}
|charles
| Charles Ingels
|cbz-026
| charles
|
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=1592 cbz-026]
| {{N/a}}
|-
|-
|mpserver14.flightgear.org
| mpserver14.flightgear.org
|Zurich, Switzerland
| {{yes|Up}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Zurich, Switzerland
|Yves Sablonier
| {{yes}}
|gral
| Yves Sablonier
|gral
| gral
|
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=7698 gral]
| {{N/a}}
|-
|-
|mpserver15.flightgear.org
| mpserver15.flightgear.org
|North Point, Hong Kong
| {{N/a}}
|{{n/a}}
| North Point, Hong Kong
|Hazuki Amamiya
| {{N/a}}
|Hazuki
| Hazuki Amamiya
|Hazuki
| Hazuki
|This is FGTracker, not a multiplayer server
| Hazuki
| This is a tracker server, not a multiplayer server
|-
|-
|mpserver16.flightgear.org
| mpserver16.flightgear.org
|Kansas City, Missouri, USA
| {{yes|Up}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Kansas City, Missouri, USA
|Rob Dosogne
| {{yes}}
|truthsolo
| Rob Dosogne
|truthsolo
| truthsolo
|
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=9926 truthsolo]
| {{N/a}}
|-
|-
|mpserver17.flightgear.org
| mpserver17.flightgear.org
|Cluj, Romania
| {{no|Down}}
|{{n/a}}
| Cluj, Romania
|Marius
| {{N/a}}
|tuxum
| Marius
|tuxum
| tuxum
|Offline
| [http://forum.flightgear.org/memberlist.php?mode=viewprofile&u=11636 tuxum]
| Offline
|-
|-
|mpserver18.flightgear.org
| mpserver18.flightgear.org
|Germany
| {{no|Down}}
|{{yes|[http://mpserver15.flightgear.org mpserver15]}}
| Germany
|
| {{yes}}
|
| {{N/a}}
|
| {{N/a}}
|
| {{N/a}}
| {{N/a}}
|}
|}
''Information as at 2014-01-04''


Geographic locations of the servers are also available at [http://goo.gl/maps/jBwUd Google Maps].
Geographic locations of the servers are also available at [http://goo.gl/maps/jBwUd Google Maps].
Line 319: Line 333:
== Known issues ==
== Known issues ==
=== Fibertel (Argentina) ===
=== Fibertel (Argentina) ===
It has been reported (December 2014) that UDP connection through port 5000 is not possible. {{Wikipedia|Fibertel}} (Argentina) users do not have full access to the modem configuration at the moment, they have to pass through a ''very limited'' interface on the Fibertel web site, only aimed at allowing operations like switching on/off the WiFi radio or switching between NAT router mode and bridge mode (and at the moment a bug made users unable to submit any configuration changes).
In December 2014, it was reported that UDP connection through port 5000 was not possible for users whose ISP was {{Wikipedia|Fibertel}} (Argentina).
After various hours of tests by the user with and without Fibertel staff at the phone with the modem in NAT router mode and in bridge mode, after a supervisor decided to remotely flash the modem (Motorola) with a recent firmware and yet noticed strange behaviour and sent tech staff to replace the modem with a simpler one (another Motorola model with no WiFi), after testing with it in bridge mode with tech staff at the phone, the user sought for help [http://forum.flightgear.org/viewtopic.php?f=27&t=24754 in the forum] and finally '''a temporary standalone instance of the multiplayer server software''' (located in Canada) was activated and '''the user was able to connect normally through all the tested ports (5001, 5002, 5003, 5507) but not through port 5000 which is the only available port in any FlightGear multiplayer server at the moment'''. Through another Internet Service Provider (Speedy ADSL) the user could connect with no problems to port 5000 of any multiplayer server.
 
Facing this evidence, Fibertel Argentina technical staff ''finally'' admitted: "It's not the modem, it's the network, our network uses port 5000 for setup purposes, it should be open for the user but it might not be fully functional". '''This is reported here to avoid other users a similar 60-70 hours time loss.''' The users reports he asked them with energy to stop filtering port 5000, the answer was that because of the implications that was not an option.
 
Port 5000 is unofficially associated both with FlightGear and the {{Wikipedia|UPnP}} protocol.
However, it has been observed (discussion of {{issue|1617}}) that '''the fact that Fibertel Argentina is using port 5000 for network setup purposes shouldn't imply that they are filtering packets: ''"it should really only be when the packet has reached its destination that the port number has any meaning at all"'''''.
 
Forum thread full link: http://forum.flightgear.org/viewtopic.php?f=27&t=24754.


See {{issue|1617}}.
Fibertel Argentina apparently uses the port for setup purposes. "It should be open for the user but it might not be fully functional."


Besides investigating about '''possible workarounds(?)''' (port forwarding through UDP bidirectional tunnelling) which might or might not add too much network latency or CPU load or constitute a misuse of special purposes networks, the user suggested diversification of port numbers (''"offering two possible port numbers could mean offering twice the chances to connect to the multiplayer network and would constitute a reasonable prevention measure of part of the possible connection problems of FlightGear users over the internet"'').
Port 5000 is a generic port, and neither FlightGear and the {{Wikipedia|UPnP}} protocol are an "official" usage of the port.


However, coding work on the server software is not priority at the moment, and any change to servers might turn out to be a "nightmare on the server admins side to implement [...]", not to mention "[...] the fact that most if not all of them are volunteering time and machines for this".
A solution would be to spread the ports between the servers; e.g., mpserver01.flightgear.org → 5001, mpserver02.flightgear.org → 5001


The simplest workaround would just be a new server offering a different port number.
See also the [http://forum.flightgear.org/viewtopic.php?f=27&t=24754 forum thread] and {{issue|1617}}.


== Related content ==
== Related content ==
Line 349: Line 355:
[[fr:Howto: Multijoueur]]
[[fr:Howto: Multijoueur]]
[[nl:Howto: Multiplayer]]
[[nl:Howto: Multiplayer]]
[[pl: Konfiguracja trybu multiplayer]]
[[pl:Konfiguracja trybu multiplayer]]
[[pt:Tutorial_de_Multiplayer]]
[[pt:Tutorial de Multiplayer]]

Navigation menu