Halo 3 Causing Network Issues 306
Recently at my university where I'm a student and a sys admin, we have been experiencing some odd outages, in particular since the 25th of September. The outages seemed to occur between 8 PM and 12:00 AM — peak gaming hours for our dorms. It just happens that Halo 3 came out on the 25th of September. Upon further investigation we found that our network routers were shaping TCP packets, but not UDP. Once we applied UDP shaping as well, all network outages ceased. Gamers complained, but university students attempting to access network resources such as our UNIX clusters were satisfied.
Re:Doubts (Score:5, Informative)
Re:My school's network sucks :/ (Score:3, Informative)
But you need to consider the usage patterns, most ISPs will put way more than 2000 users on a single 45mb pipe, because the average user uses very little bandwidth. Your school clearly has a higher proportion of heavy users, and so it's bandwidth is more saturated.
Do remember that this is a SCHOOL... It's purpose is to educate the kids, not to facilitate them playing games. They really have no obligation to support any use of the internet other than legitimate educational purposes.
They could quite easily filter everything except HTTP, and require that you make and justify a request, via a teacher, for anything else.
Re:Doubts (Score:1, Informative)
No need to use the internet if you are all inside the network.
Don't know if Halo 3 has that as an option however... if not, fucking stupid...
Re:Doubts (Score:5, Informative)
As far as the network protocols being abissmall you are about right. They have devolved over time.
Once past the stage of serial connections, the early gaming protocols efforts tried to use multicast+unicast or broadcast+unicast technologies to run peer-to-peers like networks where people truly played against each other.
These times are gone. It is all client-server now.
This explains the admin problem - I bet that most of the students were fragging each other silly together and played within the same map and the same game. That all ended up as a lot of client-server connections. This does not consume a lot of bandwidth on average, but it is capable of flatlining the network for short periods of time every time something interesting happened in the game because the data is tromboned back and forth across the same bottleneck many times. 1 student moves and the server sends the data to 16 others, and so on. Essentially this is a form of amplification/positive feedback loop. If the same students were playing games with other people located elsewhere the effect would not have occurred.
This is a classic example of devolving and microsoftization of the gaming protocols. If the game was running locally using broadcast+ unicast or multicast_unicast to inform all local participants and only one dedicated hypernode checked what is going on outside the small "local world" there would have been no bandwidth/pps problem.
Re:Doubts (Score:3, Informative)
Re:Doubts (Score:5, Informative)
Re:Doubts (Score:4, Informative)
I don't know of any FPS programers who would want to fully utilize available bandwidth. If they did, it wouldn't scale and their game would suck.
What they do want to do, is minimize latency to keep character movement smooth and accurate to give the perception of real-time immersion and do that with a minimum of bandwidth usage, so that their game will scale to a practical number of players. Minimizing bandwidth usage helps improve latency and scaling.
Re:TAGGED AS KDAWSONSUCKS (Score:4, Informative)
Re:Doubts (Score:2, Informative)
Re:Wait a second. (Score:2, Informative)
Though the article author doesn't say what university he's from, if the students there pay any kind of significant connection fee for Internet access this argument won't fly. Where I attend, I pay roughly $25 a month -- what a decent midrange residential DSL package costs -- to be able to access the Internet in my dorm room. Above and beyond that, all on-campus intranet services are available regardless of whether or not that fee is paid, including our Blackboard site and libraries. If I'm going to pay that much for what is solely an Internet connection, I expect to be able to damn well whatever I like with it (though the administrators appear to disagree when they blame the perpetually abysmal service on "non-academic use"), and so should the students who are getting their games throttled down to unplayability.
Re:Doubts (Score:2, Informative)
UDP Packets (Score:5, Informative)
Re:Doubts (Score:2, Informative)
Naturally, this was such a successfull network model, Bungie chose to use it again in Marathon 2: Durandal. And again in Marathon: Infinity. As well as Myth: the Fallen Lords, Myth 2: Soulblighter, and Halo: Combat Evolved (the code having been worked over somewhat by this time, without really fixing its fundamental flaws). This despite the fact that id had shown a superior way with Quake (specifically QuakeWorld) since 1996, and that others, such as Epic, had struggled (and eventually succeeded) to create similarly-good networking in games like Unreal Tournament soon afterward. It wasn't until Halo 2 that Bungie finally decided that having crappy 10-year old networking code wasn't really the best idea. More to the point, the game had to run on Xbox Live, and the old networking simply DOES NOT WORK (or at least provide a playable game) for a 1ps game on the internet, though it marginally worked in the RTS Myth series. So they HAD to fix the networking, if they wanted any Xbox Live networking at all.
So yes, as of Halo 2, they have fairly modern networking with decent prediction (borrowing liberally from community-developed ideas that were applied to Counterstrike etc., for instance with each client not only asserting what controls were affected by the player, but what actions it believes should have been taken in the world, which the server will only override if it doesn't fit with its own model), but it sure took them long enough to get there.