views:

74

answers:

1

I've noticed that several game suffer from poor download speeds (<10Kb/s) when you don't use a web redirect (an apache,iis,... server), is there a programmatic reason for this that I don't see or is it for other reasons I'm missing.

It's been assumed that this is intended to not bog down the server but I'm looking to see if there is a less obvious (code) based reason.

+2  A: 

There are three reasons, all linked.

  1. Real web servers serve static content better. Fact. They're optimised for standard download-style traffic and separating that jazz from core game server code makes a lot of sense to a lot of developers. Plus they tend to use comparatively fewer resources and have higher levels of flexibility than a custom-made HTTP server.

  2. Moving HTTP downloads off the game server keeps those important CPU cycles doing what you want them to: letting people frag the hell out of each other... If you can shuffle off the non-critical traffic to another, cheaper and/or clustered server, you keep your game playing smoothly.

  3. As I hinted above, you can cluster or CDN the HTTP traffic, something you can't do (for fairly obvious reasons) with the game servers. This would only really apply on really busy networks but it's a good way to manage your traffic if you're dealing with a lot of potential downloads and they're all mission-critical.

Some game servers do handle it themselves, but, as you've noticed, most do it at a nauseatingly slow rate, again for the second reason above: resources. Bandwidth is almost as important as CPU, so uploads are heavily limited rate to keep players in the game going at top speed.

Oli