MMORPG Servers question

Started by
41 comments, last by fingh 19 years, 3 months ago
Hi, We are exploring the possibility to start the development of MMORPG later this year. Our plans are to serve max. 2.000 people ($5 per month). Maybe that doesn`t count much like MMORPG, but it surely isn`t _just_ common multiplayer. Besides I don`t think we could compete feature-wise with HUGE projects where 150 people work on this. Still, somehow I think that 2.000 is reasonable number that is possible to reach, if at least our graphics shall be great and common gameplay features are implemented. It would be our fourth or fifth game project already so we`d have enough experience for basic game development. Besides we should have our graphics renderer quite advanced by that time (if everything goes well). The questions: 1. How many players can usually safely connect to 1 server ? I.e. How many servers/PCs would we need to serve those ~2.000 people ? 2. Are there any commercial libraries (with support) for Multiplayer component of MMORPG (codebase) ? 3. How many people would we need to make this all run 24/7 (i.e. support,shards,network specialists) ?

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

Advertisement
Quote:Original post by VladR
It would be our fourth or fifth game project already so we`d have enough experience for basic game development. Besides we should have our graphics renderer quite advanced by that time (if everything goes well).


How many units did your previous games sell? IF they were merely hobby projects that didn't sell then you still have too little experience to write, maintain, and run an MMOG.

Quote:
1. How many players can usually safely connect to 1 server ?


Thousands. Any less and you've got a crap networking layuer / arch.

Quote:
I.e. How many servers/PCs would we need to serve those ~2.000 people ?


Depends entirely on how complex your game is; if it's a real-time MMOFPS with lots of time-critical gameplay and large amounts of data pinging around then you'll might need as many as a server per couple of hundred players. However, IMHO that only happens if your architecture is crap, your network programmers are crap, and your game-design is crap. It takes considerable incompetence to be unable to manage 500 players per server, and in most games you should be able to manage 1k.

If it's a turn-based combat game with multiple seconds per turn and turn-locked actions then you should be able to manage many thousands per server.

To put this into perspective, one of the biggest (by player numbers) online MMORPG's with 3D graphical world, semi-realtime combat (the norm, but NOT quake-style) handles 3,000 players per physical server, and their logic-execution + network-pipeline are both less efficient than they could be (although not by much, yet I think I could squeeze quite a few more players on there)

Some here will probably tell you you can't get anywhere near that.

Quote:
2. Are there any commercial libraries (with support) for Multiplayer component of MMORPG (codebase) ?


Plenty. There's even a website devoted to listing them (you'll have to google for it, something like "MMOG technology List" or something like that), although its' very basic info only.

Shameless plug: http://grexengine.com (although the site is extremely plain. Just email sales @ grexengine.com and you can get the marketing info etc emailed to you)

Quote:
3. How many people would we need to make this all run 24/7 (i.e. support,shards,network specialists) ?


For 2k players teh rule of thumb is you need approx 3-7 full-time staff (developers + support + technicians). I've seen 15k players supported, commercially, by a total staff fewer than 5, but that's exceptional (if you've got an excellent project manager on-board and a cunning game-desing, you could manage this too, but I wouldn't recommend it).

i.e. you need a minimum (always) of one CSR, one dev (adding new features), and one maintenance (bug-fixer). For 10k players, you're aiming for a total staff of approx 5-15, for 50k players you want 8-20, all depending upon your game etc.
Thanks for feedback, here are my answers:

Quote:How many units did your previous games sell? IF they were merely hobby projects that didn't sell then you still have too little experience to write, maintain, and run an MMOG.
I`d definitely agree with Maintaining and running MMOG, though I disagree with Writing MMOG. As I said, it`s gonna be less feature-rich than e.g. Everquest2 (at least 10 times less, that is). This is accomplishable in 2 years with small team with graphics renderer (terrain/characters/animation/special effects/Collision Detection) already completed.

Quote:
Thousands. Any less and you've got a crap networking layuer / arch.

Sounds good considering we`d be happy with 2.000 subscribers.

Quote:
Quote:
I.e. How many servers/PCs would we need to serve those ~2.000 people ?


Depends entirely on how complex your game is; if it's a real-time MMOFPS with lots of time-critical gameplay and large amounts of data pinging around then you'll might need as many as a server per couple of hundred players. However, IMHO that only happens if your architecture is crap, your network programmers are crap, and your game-design is crap. It takes considerable incompetence to be unable to manage 500 players per server, and in most games you should be able to manage 1k.
Well, it`s gonna be RPG, so movement isn`t going to be that fast as in FPS, still I can imagine that submitting information about 2.000 players each second (or so) is going to be hard to achieve, but compression is my friend (or so I guess).
And 1000 people sounds good. That would mean I`d need just 2 servers. That`s accomplishable.

Quote:
Quote:
2. Are there any commercial libraries (with support) for Multiplayer component of MMORPG (codebase) ?


Plenty. There's even a website devoted to listing them (you'll have to google for it, something like "MMOG technology List" or something like that), although its' very basic info only.

Shameless plug: http://grexengine.com (although the site is extremely plain. Just email sales @ grexengine.com and you can get the marketing info etc emailed to you)
Thanks for links, I`ll check those out (some of them I already checked). Naturally I googled already, I just hoped someone will provide a real-world feedback for the library they work with (e.g. like you).

Quote:
Quote:
3. How many people would we need to make this all run 24/7 (i.e. support,shards,network specialists) ?


For 2k players teh rule of thumb is you need approx 3-7 full-time staff (developers + support + technicians). I've seen 15k players supported, commercially, by a total staff fewer than 5, but that's exceptional (if you've got an excellent project manager on-board and a cunning game-desing, you could manage this too, but I wouldn't recommend it).
Sounds reasonable, actually that`s what I found out elsewhere so far too. So it would be doable on $10k monthly revenue.

Questions :
1. Do you think that it`s impossible for one programmer to be adding new content and fixing bugs ?
2. How many PCs are required for one server ? I heard stories of 50 PCs per server. What`s that mean ?



VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

you might be able to save on bandwith my doing something like what Shadowbane did, by using the mouse for movement. i thought it was a pretty good idea. Shadowbane required to use as little bandwith as possible, since it was sort of action based, and encouraged huge battles, Player vs Player battles where one guild would storm anothers castle.

a little OT but, the Shadowbane game design was amazing, but in reality it just didnt work. whenever a huge battle would take place, you and 50 people go to storm a castle, all hell (lag) broke lose. the whole castle storming thing was going on in _VERY_ slow motion.

however, that was years ago when the game first came out. id be very interested in knowing if they ever solved this problem.

sorry for slightly de-railing your thread.
FTA, my 2D futuristic action MMORPG
I don't know what country and state you're in. In California, junior programmers cost at least $5k/month, and people who are experienced go for much more than that. Customer service might be cheaper, but there's still rent, and power, and cooling, and bandwidth, and hardware leasing... $10,000/month wouldn't work at all around here for a company size 3-7.

Regarding players per server, that depends on your degree of security, how much simulation you do, how interactive it is, and all that. If all you're doing is bouncing a few packets a second between players that are close to each other, you can easily go to 2,000 on a single piece of modern hardware. After all, most routers are just regular computers, and do many more packets than that. If you do secure server-authenticated simulation at high simulation rates where each tool, attachment, vehicle, weapon, etc is a fully simulated object, and fully replicated to neighboring servers and clients, and have expensive rules for who can see what, when, and where, then you can cut that in ten. If you're a typical RPG, you can design towards the high end of that. If you're a military simulation, you find yourself at the lower end (but then, your customer might have money to spend on hardware :-)

Quote:For 10k players, you're aiming for a total staff of approx 5-15, for 50k players you want 8-20, all depending upon your game etc.


I can second these numbers.

There's also a question of man-hours versus hardware cost. If your people cost you $10k/month, and you can buy a $1k server to solve a problem that would take a person one week to solve, then buying the server makes more sense. I imagine that if your team is based in some country with cheap labor, the equation would look very different -- although what the size of the market would be is then less clear (trying to support the US market from abroad is a tough nut to crack).
enum Bool { True, False, FileNotFound };
Quote:Original post by hplus0603
I don't know what country and state you're in. In California, junior programmers cost at least $5k/month, and people who are experienced go for much more than that. Customer service might be cheaper, but there's still rent, and power, and cooling, and bandwidth, and hardware leasing... $10,000/month wouldn't work at all around here for a company size 3-7.
I`m from Slovakia as can be seen from the header of the thread. This means I can get junior programmers in my area for about $300 per month. Still, if I offer $500 per month, they`ll be lining up in front of my door (I`m in region with 23% unemployment rate (highest in whole country) where average salary is about $300). True, add 37% to that because of taxes&social insurance, but still it`s far from $5k as in California. Office holding 10 people costs around $300 per month.
Although, I`d have to add about 20% to that because of inflation and the fact that it wouldn`t start sooner that 2006/2007 IF we shall start the development later this year.

Quote:Original post by hplus0603Regarding players per server, that depends on your degree of security, how much simulation you do, how interactive it is, and all that. If all you're doing is bouncing a few packets a second between players that are close to each other, you can easily go to 2,000 on a single piece of modern hardware.
Well, and what about if all 2000 players are close to each other (not necessarily on same screen), but close enough to send packets about all 2.000 players ? How do I scale this into more servers ?

Quote:Original post by hplus0603After all, most routers are just regular computers, and do many more packets than that. If you do secure server-authenticated simulation at high simulation rates where each tool, attachment, vehicle, weapon, etc is a fully simulated object, and fully replicated to neighboring servers and clients, and have expensive rules for who can see what, when, and where, then you can cut that in ten. If you're a typical RPG, you can design towards the high end of that. If you're a military simulation, you find yourself at the lower end (but then, your customer might have money to spend on hardware :-)
I guess only time will tell. But I needed to know the worst scenario as to how many severs do I need to buy and setup and maintain.


Quote:Original post by hplus0603There's also a question of man-hours versus hardware cost. If your people cost you $10k/month, and you can buy a $1k server to solve a problem that would take a person one week to solve, then buying the server makes more sense. I imagine that if your team is based in some country with cheap labor, the equation would look very different
Could you elaborate more about what do you mean by the example of $1k server ? Like it has software/configuration that prevents some type of crashes/bugs/issues that are otherwise handled only manually ?

Quote:Original post by hplus0603although what the size of the market would be is then less clear
Did you mean to say that we`re just trying to adress home-country market ? LOL, I doubt I`d find 5 people here, this is Slovakia with most of people having dial-up being paid by time (i.e. the more you`re online the more you pay - pricing per minute). Those $5 they`d pay for 3 hrs of connection during day-time. Although there is pretty strong base of people having broadband (like me).
Naturally, since this is MMOG, we`ll try to adress the world market where I think it is possible to find 2.000 subscribers paying $5 each month. I could be wrong though of course. And of course it would have to be new people, since our game would hardly have features that would cause EQ2 players to quit and start here.

Quote:Original post by hplus0603(trying to support the US market from abroad is a tough nut to crack).
Well, I think that we could easily cover 18 hours per day of customer service, though 24/7 would be harder to achieve although most probably necessary. What do you mean by supporting US market from abroad ? Answering phone calls ? No problem with language here (except for salary these people require).

I still would like to know what do they usually mean when they say that 1 server is run by 50 PCs. Does it mean I`ll have to buy 100 PCs for two servers if I want each server to be able to handle 1.000 players ?

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

Quote:Original post by VladR
Well, and what about if all 2000 players are close to each other (not necessarily on same screen), but close enough to send packets about all 2.000 players ? How do I scale this into more servers ?


my guess is simply the game will lag horribly. i have never even heard of (and definetly never played) a MMORPG which could support 2000 players in the same area. Shadowbane, a commercial MMORPG which was designed from the start to support many players in a small area (fighting each other no less) could not handle this. in fact, when i was playing Shadowbane, it could not even handle 1/10th of that many players. even with 200 players the game would lag horribly and be in slow motion. theres really not much you can do about something like this.
FTA, my 2D futuristic action MMORPG
Quote:Original post by VladR
Thanks for feedback, here are my answers:

Quote:How many units did your previous games sell?

...


So. You mean "none", yes?

Sure, it's doable. But, in reality, not unless you have one or more MMOG experts on the team or you have some top 0.001% people in your team (hey, it's possible; just very unlikely).

I don't know your situation, I don't know what mega-genius you have, I'm just pointing out my experiences based on having worked with a lot of people in your position and they all went bankrupt, wound up the company, or simply gave up. And these were the ones with probably the best chances of success, carefully selected from hundreds.

Quote:
Naturally I googled already, I just hoped someone will provide a real-world feedback for the library they work with (e.g. like you).


Well, obviously I'd say the one I know and use and helped write is "the best", although I'd also say that BigWorld's one is the only other good one (all the rest are moderate to mediocre (butterfly, zona) or just crap (being kind, I'll simply mention no names - it's pretty obvious who the useless ones are when you look at their tech docs).

The other question is: how many of them can you afford? IIRC all the decent ones cost mahola...

Quote:
Questions :
1. Do you think that it`s impossible for one programmer to be adding new content and fixing bugs ?


Possible, yes. I've seen it done. However, before you get to 2k people you absolutely MUST have dedicated "content" programmers and "bug-fixing" programmers. Otherwise what happens is one of those two jobs doesn't get done properly...it's jsut too hard, mentally, for one person to handle the workload without getting so depressed they get no work done at all, or simply ignore one aspect.

Quote:
2. How many PCs are required for one server ? I heard stories of 50 PCs per server. What`s that mean ?


We've been through this: in the above conversation, PC == server.

What you're thikning about are clusters, and I wish everyone would call them that, because that's what they are, they are NOT servers. A cluster is a group of servers joined together to *simulate* a single server, but it is not (should not be) called "a server". Unfortuantely a significant nubmer of people insisit on muddying the waters :(.

By the way - does anyone think it's worth me writing an article on this stuff? I could do a followup to "How to build an MMOG" (I think it's in the FAQ, or else google for it as a Stratics article) which actually contains practical numbers (like the staffing estimates), actual links, resources, etc. A couple of people (including two publishers) asked me to write a *book* on this topic, but I simply don't have *that* much time at the moment...

redmilamber
Quote:Original post by hplus0603
Regarding players per server, that depends on your degree of security, how much simulation you do, how interactive it is, and all that.
...
If you do secure server-authenticated simulation at high simulation rates where each tool, attachment, vehicle, weapon, etc is a fully simulated object, and fully replicated to neighboring servers and clients, and have expensive rules for who can see what, when, and where, then you can cut that in ten.


Of course, only fools and the military (HLA is a strange acronym; those 3 letters are actually short for "painfully slow and too "H"igh-"L"evel to "A"ctually mean anything" :P :P) try to make all those thigns fully simulated objects without shortcutting :).
Quote:Original post by graveyard filla
Shadowbane, a commercial MMORPG which was designed from the start to support many players in a small area (fighting each other no less) could not handle this. in fact, when i was playing Shadowbane, it could not even handle 1/10th of that many players. even with 200 players the game would lag horribly and be in slow motion. theres really not much you can do about something like this.


Nah, that's just crap server design. The SB people had some great game- and client- developers but no real great server people IIRC.

Anyway, I vaguely remember one of them saying they'd fixed that 6+ months ago. I don't play it, so I can't confirm/deny. I do know that they have been worrying about other problems in the last three quarters, so I guess they got that fixed.

This topic is closed to new replies.

Advertisement