Zarel wrote:
Regardless, my question to Buginator is why two computers on a LAN can't play with each other through the lobby, since as far as I know that is incorrect. And so far, no one answered that question.
Ok, let me clear the air, and be allot more specific.
A = 192.168.0.1 (host) , B = 192.168.0.2 (client), C= 123.456.76.9 (external IP)
This is what goes on...
A connects to lobby server, registers game, and waits.
A ->NAT->C:9990 ->lobby server ->C:9990->NAT->A (ok, hosting) A is now a server.
B connects to lobby server, and lobby server says, ok, 1 game, here is the IP.
B ->NAT->C:9990 -> lobby server (spits back IP of game) ...
Now B tries to connect...
B ->NAT->C:2100-> ??? NAT (that doesn't support NAT loopback) is confused, and doesn't know who to send this to, connection error.
This is the case with most all the low end routers, and even some mid range ones.
What we need is for the lobby server to spit back the "real" IP + the LAN IP (only really need the last octet), then when we are getting a connection error, we can try the local IP address and just change the last octet...
We could also tell users to modify the hosts file, but I think this will cause more problems with trying to explain to them how to modify it. I guess we could also broadcast via UDP to check for LAN games... or..or...
If your router supports NAT loopback, then you shouldn't have a issue.
Hope that clears things up?
Guess this should be in the FAQ someplace.
