Setting Up Server Network for online FPS

Started by
3 comments, last by hplus0603 10 years ago

We are creating an online multiplayer FPS influenced by Quake Live using the UNREAL engine.

QL has servers all over the place and still we have ping and performance issues (which I have another post regarding netcode and prediction software. If you can help, please see that too)

My question here is, I know that we need servers all over to get the best pings, but can anyone give advice on how close they need to be, or any info I can study in regards to this?

Also, what kind of servers do we need to deploy on this network? What kind of specs? Any links or detailed answers would be greatly appreciated!!!

Thank you,

DC

~~~~~~~~~~~~~~~~~~~~~~~~~~
Clan Leader, ROTN (Revenge of the Noobz) Quake Live
http://www.rotn-clan.info
Lead Project Manager - FPS Shooter

Advertisement
This is a really hard question to answer, because it's too broad.

If you build your game, and you measure what kind of latency you need to achieve, and then you specify your market demographics, this would at least be possible to answer, although it would still be hard.

Let's say your game plays well with 30 ms ping times, and you want to target Europe, North America, South America, Japan, and Korea. Additionally, you're OK with 80% coverage of those markets. You'd probably need servers in a well connected data center in each of the major cities of those areas -- probably about 100 cities/metros. Additionally, you'd have to measure interconnectivity between different ISPs, and double-up on different providers in some cities. In some cases, you might have to negotiate with individual ISPs to get access to their data centers rather than trying to go through POPs/peering/interchange/meet-me rooms.

As far as hardware goes, the main requirement for FPS/twitch-type games is that it's bare metal hardware. Virtualization introduces unpredictable jitter and scheduling latency that FPS players will notice (even though most other games wouldn't have a problem.) Thus, you'd be looking either at "self-managed root servers" or, more likely given your specific networking requirements, co-located rack space with leased hardware in various places around the globe.

Doing a good job of this (as specified above) might be in the order of $10,000,000 or so; more of that would be spent towards data center and network interchange / location fees, rather than just the hardware costs. With the requirement for physical hardware, you also have the problem that you can't scale elastically from cloud providers -- you have to provision up front, which either means that you'll buy too much and be left with a bunch of expensive boxes that aren't paying themselves back, or be left with too few boxes, overcrowding, and relief being weeks away even in the best case of throwing money at the problem.
enum Bool { True, False, FileNotFound };

Thank you hplus for your replies thus far. Just looking for direction and a starting point and this does help.

I know the better pings on QL are 50 and below...but often you will find 70 plus for servers in your area (east coast, west coast, etc) with servers for my area, being Florida, all up and down the east coast (up to Canada)

So I am seeing a number of $10 mil to properly deploy a global network in those demographics that covers apx 80% is what you are saying above. Now I understand that Quake is an iconic brand, but my gut tells be they have nowhere close to 10mil in servers, even globally. Would you agree? I can, off the top of my head, count maybe 15 server locations across the US, and that may be high... I was guessing they may have had a couple hundred grand into their network, but that's not an educated guess by no means.

Thanks again.

DC

~~~~~~~~~~~~~~~~~~~~~~~~~~
Clan Leader, ROTN (Revenge of the Noobz) Quake Live
http://www.rotn-clan.info
Lead Project Manager - FPS Shooter

After reading the reply here, and the recent post from Tutorial Doctor about the new personal cloud device, it seems that online gameplay networks are expensive to deploy...at least that's what it seems. Are there inexpensive or at least cost efficient solutions?

Just wondering if this is a problem that could use a solution, or is there something already out there? Considering the cost to deploy a global network of 100 severs (or whatever it would take to serve your player-base), you would think that someone has come up with a reasonably priced solution by now? If not, then it sounds like a business opportunity in there somewhere :0)

Thoughts?

Thanks,

DC

The market size of "FPS players who want to pay for the difference between 80 ms and 30 ms ping times to servers" is probably pretty small. It's not a matter of technical expertise, it's a matter of economics.

Also, I thought Quake was a player-hosted game. I e, players host servers, and there is some central match-maker that lets other players find those hosted servers. You only need one or a few matchmaker servers; the rest is done by the players. This is great from the point of view of having many severs close to many players, but it's bad from a control point of view -- you have no control over what players actually do with those servers, when they are up, whether hacked software is running on them, etc.

A NAS box (liek WD myCloud, or whatever) does not make for a good, high-performance FPS game server, although the older Quake games use very simplistic physics and might actually run on those small embedded devices... (Compare to Quake 3 for the Raspberry Pi)
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement