Microsoft and Valve fail at online gaming
Learn how to detect an IP address, n00bs!
Ok, so Valve are the shittest of the shit when it comes to actually coding, as we all know they just buy their tech from someone else and pay n00bs to hack it together and they eventually release something (*cough* How long did HL2 and TF2 take again?), but Microsoft - seeing as they designed the OS and should at least have someone on hand to ask - have got no damn excuse at all!
What am i talking about you think. Well I'll tell you. Windows Live For Games and Valve's Left For Dead both have major issues if the network card you use to connect to the internet as more than one IP addresses assigned to it.
"Well fine", you say, "Who the hell has more than one IP address assigned to their gaming box".
I do.
"Why?" you ask.
Because I hack around with OpenWRT and when I flash new firmware the router boots up and uses an IP that's on a different subnet, and rightly so because I need to test my firmware before I can switch out the one I'm actually using to connect to the internet and change the IP on it. Thus I configure my box to allow me to connect to my existing router and the OpenWRT box.
Anyway, back to the matter in hand - Valve and Microsoft's inability to figure out the correct IP address to use and/or give to other systems (players, services) based on a machine's IP addresses and routing table:
I mean, it's not like I have two gateways setup on my machine so why the FUCK do they pick the IP address which is on a different subnet to the one that is on the same subnet as my default gateway?!!?!?
My config was as follows:
IP Address 192.168.128.51, Gateway, 192.168.128.1
Second IP address: 192.168.72.1
Guess which one Left For Dead and Windows Live For Games used when they tried to my machine to their respective services? Yup, 192.168.72.1
Regardless of this, both services should have detected the external IP address of my router and used that...
Microsoft have a nice help page for people with connection issues, but no-where is this issue mentioned: http://support.microsoft.com/kb/938705
The message you get when trying to sign in to games such as Grand Theft Auto, Halo 2, and Universe at War is: "Games for Windows LIVE cannot obtain an IP address from the selected network device. Make sure that you have selected the correct network device." That is a totally misleading error message as if you click the information button it shows me an IP address (that is, it obtained it but the error said it couldn't), but it just happens to be the wrong one... Gah!
In Left For Dead the symptoms are that you can't start the voice chat while you're in the lobby and you can't hear anyone else talking.
I posted on the steam forum as someone else had the same symptoms as me, here's the post and I also told valve about it via a Steam Ticket, REF: 9292-WRUJ-6305 and the noobs at valve support didn't read my post and then said:
"It appears from your forum post that you have found a workaround to the issue.
Steam is not currently designed to be used with multiple network adapters.
If you are experiencing issues with such a connection, please leave the secondary adapter disabling while Steam is in use. "
Which of course is a load of utter tripe as my machine only had one (enabled) network card but that it had two IP addresses...
To which I said:
"point 1:
i'm not using multiple network adaptors, I'm using a SINGLE network adaptor with TWO ip addresses, the routing table was setup correctly yet steam AND windows live for games both decided to use the wrong ip address (the one WITHOUT a default gateway!)
point 2:
almost every laptop has 2 network adaptors - wireless and ethernet.
point 3:
please, please please pass this to the developers so they can fix the issue in the source engine so that no-one else goes though the pain i did."
And to this date I've not received a reply and Valve closed the ticket...
Valve, Microsoft - you really can't code for shit...