I need a place to have a full on rant about this. My Slashdot Journal is as good as any.
Is it so much to ask, that in 2009, the video game industry as a whole would have figured some way around the problem of home routers and getting devices behind them to communicate with devices behind other home routers. Yes, I know, it's not a trivial issue. WAN/LAN IPs, DNS, End to end connectivity, Ports, TCP, UDP, protocols and connections, planes trains and automobiles. Yes, it's not an easy thing to accomplish.
But you've had ten fucking years!!! Or as near as makes no difference.
How many times have I had to reset, reconfigure and reinstall routers? How many times have I had to click through those infuriating HTML configuration pages, one form at a time, in an effort to add, port by port, protocol by protocol, game by game, each and every little irritating requirement just to get the fucking game I bought to play online like Mechwarrior 2 did flawlessly back in 1997!?!?!?!?
I've cracked. I admit it. The final straw was this latest gem from Team Fortress 2, a game I don't even play(I basically manage the router for 5 people). I had to set up port forwarding and QoS (Whatever the fuck that is) just to let the gods damned game to play properly.
- UDP 27000 to 27015 inclusive (Game client traffic)
- UDP 27015 to 27030 inclusive (Typically Matchmaking and HLTV)
- TCP 27020 to 27050 inclusive (Steam downloads)
- TCP 27015 (SRCDS Rcon port)
61 ports. Sixty One ports. And that's just for the forwarding, never mind the QoS malarky. Yeah, Fuck you too Valve. And want to know the best part? It's a server based game!! Why in fuck's name do I need to do any of this?! Oh give me lag any day of the week.
But to be fair, it's not just Value. Far, far from it. It's not even PC developers, each mandating their own custom crafted set of ports and protocols to enable online play behind a router. No, consoles too have gotten in on the game. Take these gems required for the Playstation Network.
- TCP Ports: 80, 443, 5223
- UDP Ports: 3478, 3479, 3658
TCP port 80. Otherwise known as the HTTP port. Great. And what's this? TCP 443. You mean the HTTPS port. Great choice guys. Yeah, thanks for that. I'll forward those right away.
Come on Microsoft. You've been computing specialists for over 30 years. What's needed to run Xbox live behind a router?
- TCP Ports: 80, 53, 3074
- UDP Ports: 88, 53, 3074
Great classy. I lover that overlap with PSN on the Port 80 thing. Can't have them hogging HTTP entirely, especially since you control the DNS ports now. Awesome. Complete clusterfuck. Why doesn't one of you mandate port 22 altogether, so my entire network will be totally inaccessible from outside for anyone not using a game's console.
Oh well, I guess at least with consoles you only have to forward one set of ports for all games right... right?
In order to play GTA IV via the PS3 network you will need to open the following ports on your router:
- UDP ports: 6672, 28900
- TCP ports: 8000-8001, 27900, 28900
AAAAGGGGHHHHHHH!!!!! LEAVE ME ALONE!!!! I'm not a network administrator! I don't have any certs from Cisco!! No! I can't use IPTABLES!! How would I get Linux onto the router in the first place?! What do you want?! Blood?!?! I just want to play games!!!
And don't talk to me about UPnP! Just don't. As far as I can tell, the Useless, Painful 'n Pointless protocol's only meaningful function is to establish connections between devices which confirm UPnP is available, but then don't work anyway. I've never once managed to get a single game to work using it. It has never worked and it will never work. Most companies don't even mention it. They skip straight to port forwarding, gleefully rolling off their own in house list of obnoxious ports.
You know what this is like? It's like every video game publisher and company is trying to stake it's claim to ranges of ports and protocols. By insisting on their own original, capricious and dogmatic set of connection requirements, it's as though Sony, Microsoft, EA, Valve and all the rest are trying to enforce by fiat what would normally require an RFC to be made official. Namely, the assignment of a port. Companies are literally carving out their own space on what is supposed to be a no ownership zone. And trust those armchair experts at Wikipedia, to stick these turf claims in a Registered Ports List. "Oh but, the unregisted ones are in blue OMF". FUCK YOU! There are only 65000 ports, which is too few to risk being lost to this bullshit.
So that's why I think this NAT business hasn't been resolved. Moving the video game industry to a solid standard whereby games automatically established connections(and hang the technical difficulties), would mean that companies would have to give up their little slice of that very relatively small pie of 65000 port numbers. These are corporations we're talking about, and giving up something that big, that central to the functioning of the entire internet, even if it's just a squatters claim, is not a step any of them are willing to take.
So, in my opinion, we're going to be stuck with this NAT port forwarding bullshit for quite some time yet. I fully expect more and more games to lay claim to ever larger pastures of unsettled port space, and continue to do so until the whole spectrum is so fully overloaded that people's routers or patience simply snap under the strain. Mine certainly has.
Mercifully, my ISP seems to allow PPPoE over a router, which thankfully the PS3 and Xbox360 both support. True, it exposes them to the elements in a way having them behind a router would not, but I really don't care any more. NAT is the fucking devil, and I've had enough of having my crank yanked as a pawn in this port squatting farce, so it's a WAN IP for me.
At least until all the IPv4 address run out and I have to set up all this shit again of IPv6 addresses.