Hi everybody!
I would like to share with you my experience during multiplayer games.
I was affected by the known message "you are behind a router or firewall" or something like this and wasn't able to join or create games.
The well known thread Isak just republished here is a great help but may not be enough to fix the problem.
I tried to connect directly to Gamespy to figure out what was happening - fault messages are often mysterious - and the client said something like this "you connect with IP address a.b.c.d and then introduce yourself as x.y.w.z - bye bye"
IP address explanation: without wanting to appear too "serious" I just say that and IP address is composed by 4 number (range 0-255) divided by dots, ex: 195.212.45.89
My client was actually accusing me to start a connection using an IP address and then to try to connect to servers using a different one.
I was innocent. I have an ADSL connection with a router, and I was using no particular configuration, nor firewalls or so.
The matter was that my provider configured my router not giving me official IP address (regularly routed to the Net) but PATting my ethernet address.
This means that my PC had a certain IP address and used a port number, let's say number 3000, to open a session to Gamespy.
So the request exited my PC with IP x.y.w.z and port 3000.
The router, received the packet, translated it into a.b.c.d port 4000 (port number 4000 is an example), wher ea.b.c.d is a particular IP address that my router was forced to use.
This is actually a normal configuration called PAT (Port Address Translation) protocol. With this configuration the router gets a request coming from inside, REPLACES the original IP address with another one (always the same), defines a new port number, and tracks the specific request with a table that associates tha "old" port to the "new" one.
The packets coming back from the net are managed redirecting them to the requesting machine (your PC, normally) setting the new destination and most of all re-establishing the "old" port.
Gamespy for some reasons, after I connected to it, specifically requested to my PC its IP address, and my PC replied with x.y.w.z in the data field, not touched by the router, so Gamespy found a guy known as "John" that was saying his name was "Bob".
For this reason gamespy aborted.
Whew! This was long! OK, now for the solution.
IF YOU HAVE A ROUTER AND YOU GET THAT ERROR MESSAGE FIRST CHECK IF YOUR ROUTER HAS A PAT PROTOCOL INSTALLED! DO IT YOURSELF OR LET YOUR PROVIDER DO IT FOR YOU!
Hope to have been helpful. Thank you for reading me.
shivan2k
I would like to share with you my experience during multiplayer games.
I was affected by the known message "you are behind a router or firewall" or something like this and wasn't able to join or create games.
The well known thread Isak just republished here is a great help but may not be enough to fix the problem.

I tried to connect directly to Gamespy to figure out what was happening - fault messages are often mysterious - and the client said something like this "you connect with IP address a.b.c.d and then introduce yourself as x.y.w.z - bye bye"
IP address explanation: without wanting to appear too "serious" I just say that and IP address is composed by 4 number (range 0-255) divided by dots, ex: 195.212.45.89
My client was actually accusing me to start a connection using an IP address and then to try to connect to servers using a different one.
I was innocent. I have an ADSL connection with a router, and I was using no particular configuration, nor firewalls or so.
The matter was that my provider configured my router not giving me official IP address (regularly routed to the Net) but PATting my ethernet address.
This means that my PC had a certain IP address and used a port number, let's say number 3000, to open a session to Gamespy.
So the request exited my PC with IP x.y.w.z and port 3000.
The router, received the packet, translated it into a.b.c.d port 4000 (port number 4000 is an example), wher ea.b.c.d is a particular IP address that my router was forced to use.
This is actually a normal configuration called PAT (Port Address Translation) protocol. With this configuration the router gets a request coming from inside, REPLACES the original IP address with another one (always the same), defines a new port number, and tracks the specific request with a table that associates tha "old" port to the "new" one.
The packets coming back from the net are managed redirecting them to the requesting machine (your PC, normally) setting the new destination and most of all re-establishing the "old" port.
Gamespy for some reasons, after I connected to it, specifically requested to my PC its IP address, and my PC replied with x.y.w.z in the data field, not touched by the router, so Gamespy found a guy known as "John" that was saying his name was "Bob".
For this reason gamespy aborted.

Whew! This was long! OK, now for the solution.
IF YOU HAVE A ROUTER AND YOU GET THAT ERROR MESSAGE FIRST CHECK IF YOUR ROUTER HAS A PAT PROTOCOL INSTALLED! DO IT YOURSELF OR LET YOUR PROVIDER DO IT FOR YOU!
Hope to have been helpful. Thank you for reading me.
shivan2k