Online Multiplayer game-Direct Play, TCP, or UDP?

Started by
12 comments, last by CoolProgrammer 13 years, 11 months ago
You haven't mentioned where you're from, but in the US, in some areas, you might be able to get fast enough Cable internet or Fiber-Optic service for 32+ players. Most 'residential' services don't allow you to run heavy-use servers, but you can usually also get 'business-class' services that do allow this, while costing a little more.

However, there's still a lot of problems with this home-hosting model. For one, what about redundancy -- Hardware, PSU, Power, Internet backbone? In a home situation, there are several individual links in the chain that, if broken, have no backup -- which will take your game entirely offline.

There are plenty of hosting companies that offer dedicated servers that they will manage for you. They've pretty universally got redundancy for hardware, power supplies, power (battery-banks, generators, 2+ power-grid connections), and they'll sell you a certain amount of bandwidth with the package (plus a reasonable rate for each gigabyte you go over), or some have unlimited packages available. Unfortunately, I don't really have a good idea of what kind of monthly transfer a dedicated gaming server would be pushing 24/7 over a month.

Then, there are dedicated gaming server hosts, like Art of War Central -- they offer dedicated gaming servers with unlimited 'gaming' bandwidth starting at a cool $99 -- which is probably what a viable home-based connection would cost you anyhow... Now, I'm sure they defray some of their costs by spreading their investment (knowlege, tools, etc) over popular games, so you won't likely get the same level of support -- but I imagine they'd be happy to host a new or lesser-known game as long as bandwidth wasn't entirely out of line with other games they host (I'm sure they've calculated average usage for 24/7 gaming servers to price their plans).

This is probably the best way to go.

throw table_exception("(? ???)? ? ???");

Advertisement
Quote:Original post by Ravyne
I don't really have a good idea of what kind of monthly transfer a dedicated gaming server would be pushing 24/7 over a month.


If you utilize 1Mbps average bandwidth (up and down combined) you hit a bit over 300GB / month.
BF2 tends to average at around 6Mbps (up/down combined) at 64 slot if the server is full 24/7 (IIRC its around 0.5-1.0 down / 5-5.5 up average (peak bandwidth usage is quite a bit higher))

For development purposes i suggest going with a fast home connection (unless he lives in a region that is limited to dsl/cable/etc, in which case he might have to switch to proper hosting fairly early)

Asymmetric connections such as DSL/Cable are practically useless for server hosting, so avoid those.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
It's also worth mentioning, though it may not be of direct use to you if your ambitions are high player counts, that many popular games host the actual game session on user hardware, and that the central server system only serves as a hub for matchmaking. There's a risk, particularly for PC games, that a nefarious user might have hacked the code to give them an advantage when they get host, but the risk is not much greater, if at all, than games which allow users to run dedicated servers themselves.

In fact, nearly all games on Xbox live work under this model, save the few MMOs they have. Much of the stuff on the Playstation Network also works this way, though PS devs have more freedom in this regard, so some companies have dedicated servers (Sometimes on actual playstation units, sometimes on PC hardware) -- I imagine the recent MAG as a good example of the latter. But take, for example, Halo 3 or the upcoming Reach -- that's all hosted on users' machines.

The only caveats to this are the performance considerations -- which is why most console FPS games are limited to 16 people in a single match (Some go as high as 24, but I'm not aware of any that go higher than that) -- home connections have to support that number of players, and the hardware has to be able to process the extra data and run the extra code, in addition to its regular playing duties. The advantage is not having the expense of running dedicated servers, and that the server code has access to the same hardware as the clients (which eases, for example, concerns about floating point precision and round-off, as well as sharing critical code used on the simulation side of things, such as physics) with the client code.

throw table_exception("(? ???)? ? ???");

Thanks for the replies. Ravyne, I looked into Art of War Central, and that looks like that would be a good route if I ever created a descent game. Also, I think I will create a small version of the game where a player can host their own server. I am trying to get going with UDP, but having trouble getting two computers on my network connected. If I create two streams on one computer (each with a different port), I can send & recieve stuff easily. Might be that my router is blocking certain ports. I will try to figure that out and then start on a small fps.
Thanks!
-CoolProgrammer

This topic is closed to new replies.

Advertisement