Connection issues and solutions

From FA Forever Wiki
Jump to: navigation, search

Unable to connect to someone

Do I have a problem?

If you can't connect to a game/someone, it can be caused by that someone else having improper settings.

In order to be sure:

  1. Try to host a game.
  2. in the FAF client (the top bar), click "Help - Show Logs".
  3. Open the file "faforever.log" in a text editor.
  4. Search for these lines.


  • faf.fa.relayer UDP relay port 6112 UDP relay port 6112

This line is port you've set in the lobby. It's the one that FA will try to open locally.

  • INFO faf.client port used : 55490

The server is asking your FA to send it a packet. It will check what external port was used (your WAN port). You must be aware that there are two separate port : The port you've opened locally (6112) and the port outsiders see.


In this case, the port is 55490. It means that your router is routing the port 55490 to your local port 6112.


Normally, the port used should be 6112. The fact that the router has opened a different port can be a potential problem, and it's probably due to a bad routing setting. You probably want to fix it.

If you don't see that line, it mean that your port is not reachable at all.

UPnP

In the lobby menu Options --> Settings --> Game Port tick the checkbox labeled UPnP. With UPnP enabled, the lobby should be able to communicate with your router to set the (temporary) good settings for FA.

Please feel free to try it if you are having connection issues.

DON'T TRY IT if you can connect to games and host games and aren't getting nil pings / red pings to people. Your connection is most likely fine.

The longer but definitive fix

To connect properly, it's simplest to make sure you have a publicly accessible port. To achieve that, you need to configure your router to forward a given port to your local machine. 6112 is the default port used by FAF.

Check out the following article for more information on how to setup your router to forward ports:

http://portforward.com/english/applications/port_forwarding/Supreme_Commander/Supreme_Commanderindex.htm

Select your router in the list (or the closest one) and follow the instructions.

It's still not working!

Multiple computers behind the same router

Let's say you have two computer behind the same router.

  • Computer 1 is 192.168.0.135
  • Computer 2 is 192.168.0.174

Each computer will need a separate port in FAF. By default, it's 6112. Change it in Options --> Settings --> Game Port.

For my example :

  • Computer (192.168.0.135) will use port 6112
  • Computer (192.168.0.174) will use port 7002

Each port should be routed to the right computer. It's very important that the IP / port couple is correct.

For your router, follow this link:

http://portforward.com/english/routers/port_forwarding/Linksys/WRT160Nv2/Supreme_Commander.htm

Select your router, replace the port and the IP with your settings.

How do I check if the settings are correct?

Simple:

  1. Try to host a game from your first computer.
  2. Try to join that game from the second computer.


If it doesn't work, look at the file named game.log (or game if you don't see the extensions).

  • It's normally created in "c:\ProgramData\FAForever\logs\" in Vista/Seven/Eight. You can find the directory by using HELP - Show logs in the lobby.
  • It's a text file that you can open with notepad.

You will see a lot of text in it. But you should see this :

  • info: GPGNET: setting nat handler to 0x?????004
  • info: LOBBY: Game port 6112[UDP] opened. (that port will be the one setted in FAF)
  • info: LOBBY: starting with local uid of 21 [Ze_PilOt] (that's your id and nickname)
  • info: GPGNET: entering lobby state. (meaning that the initialisation is complete)
  • info: LOBBY: Connecting to host "test" [213.219.163.245.bro01.dyn.edpnet.net:7002, uid=47] (That's the expected connection : the other computer connection and port).

and :

  • info: NET: using deflate compression for sends to 213.219.163.245.bro01.dyn.edpnet.net:7002.

These lines are VERY important. That's the incoming connections you receive.

The most important part is: 7002.

  • So, for computer one (port 6112), I must see an incoming connection from 7002 port.
  • And the other way, for computer two (port 7002), I must see an incoming connection from 6112 port.

If the port is not correct in the log, that's mean that the computer was not able to use the right port, and used a random one. That's mean that if I don't see "7002" in the log of the "6112" computer, the "7002" computer is not correctly routed.

In that case, the expecting connection (Connecting to host "test"...) is waiting for a port xxxx, while the computer is receiving a totally different port. That can or cannot work.