Solution: Multiple Players behind a NAT/Masquerading

Something is not working. You need help with ET related things. Spam posts will be deleted!
Post Reply
noxx
Posts: 8
her blog
Joined: 15 Jun 2010, 17:30

Solution: Multiple Players behind a NAT/Masquerading

Post by noxx »

Here's something I figured out some time ago - maybe this helps others, too....

Problem:
If you are behind a masquerading router, only the first player will be able to connect to a server. All following players will not pass the 'Awaiting game state....' message.

Technical description:
A masquerading router is, what most people have, when they use a DSL or TV-Cable connection. It gets the network configuration from you ISP (ecpecially the IP) and sets up a privat network for all connected client-computers in a completely different subnet. Something like 192.168.x.y is commonly used for these kind of device. So if your local computer has an IP like 192.168.... you probably have a router wich does the masquerading. The masquerading is needed for connecting more than one computer to the internet (...almost until IPv6 is used by the ISP - but this is unusual for now). I will not discuss this in more detail here...
The problem with ET is, that ET does not negotiate a client-port with the client, but expects the client to receive traffic on the fixed port 27960 (yes - it's the same as the default server-port but has nothing to do with it). Masquerading cannot handle this, cause it routes all incoming traffic on a specific port to one client.

Solution:
You have to change the client port for all clients in this way, that they are all unique - e.g. client1 gets 27960, client2 27961,..... (Once again: this has absolutely nothing to do with the port the server is running on !!!). As far as I figured out, you can only change this setting via command-line options when starting et (not the in-game-console !)
You have to start it with e.g.:

Code: Select all

 et +set net_port 27961
or if you would like to direcly connect to the Himalia-Server use:

Code: Select all

et +set net_port 27961 +connect 81.22.249.50:27960
Remember to change the port 27961 to something different for every client in your network.


Cheers
[smilie=drinks.gif]
Post Reply