How many servers?

Started by
20 comments, last by hplus0603 18 years, 3 months ago
Quote:Original post by liorm
so now it comes from 2 sources - not only a number.. almost a fact!


It really does depend on your code. I would assume EVE's servers are well tuned by professional software engineers and designed to run with minimal memory footprint and CPU time. Your game might not be coded the same way.

All of this depends exactly on your code, and nothing else at all. Run some load tests and use that as a basis for comparison.
Advertisement
Thanks again. I didn't get upset at all, was good discussion. About our current game, its a web-server based one, so it wouldn't really tell anything about the action MP game coming up. About the question, asking for some numbers out of the thin air, as I said, I need to put a financial plan, so I just need a very raw number - based maybe on best optimized code. Of course in the real world we would design, write, optimize, test, load, rewrite etc. But I needed some assumptions to get started.
Honestly then on todays hardware try for 1000 per server.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

plan on spending anywhere from $10k to $30k a month.

Actualy, why dont you tell us this instead: What network middleware are you going to be using (if any), there ARE some numbers related to these. If your using torque for instance, tell us this. Also, where are you planning on purchasing the servers from, or what type of hardware do you want them to have. for instance a new dual xeon would be just as good if not better then 3 lower end machines, if not more.

You can come up with a more accurate number, but we need to know what your programming with? What type of game you are making? Some details on the game itself (we need to know what alls going through the line). Any network middleware? Etc.
Quote:Original post by liorm
Thanks, but still I would like some numbers. Let's try that from a different perspective. Perhpas anyone knows how many servers Everquest uses? How many servers his game company used? etc.


For a relatively old mmofpsrpg where the physical simulation engine was built into the rendering system so each server had to run a modified non rendering version of the client software, the required capacity was one server per zone. The game had around 300-400 zones of variable size plus smaller instanced zones, so a relatively big pc based cluster was used to support a player base around 5000 online users. Compared to this the server and bandwidth costs of wow are relatively low. It all depends on the algoriths used. (for this game the use of 1 server per 16 users was the most extreme I've ever seen)

Viktor

ps:
Imho seeing dozens of discarded bullet shells correctly bouncing off from a thin window frame in an mmo game with thousands of users online is certainly worth the server cost.
Everybody looks at the "100,000" number, but that's not simultaneous.

Question: How many SIMULTANEOUS users do you need?
Question: How many of those will interact in one big clump? I e, how many other users can I potentially see on my screen at the same time?

Someone said "load testing" but the OP thought this meant "testing under load".

Question: Do you have synthetic load testing applications? I e, can you generate hundreds of fake clients, and log them into a server you have in your office?
Question: If you log in these fake clients, how many of them can you have logged in before the server croaks?

A single server might only be able to serve 30 players, if those players are playing Counter-Strike Source. The same server might be able to serve 3,000 players if those players are playing Ultima Online. The scalability really does depend on your code!

Answer these four questions, and we might be able to give you a much better answer.

If you don't have the software written yet (so you can't test it), then you need to figure out what number of players to aim for per zone/instance/server. You should also remember that game design will usually make it so that players are not evenly distributed (unless your game looks more like Counter-Strike than like, say, Planetside or City of Heroes).
enum Bool { True, False, FileNotFound };
I know a lot of people have tried to tell this to you, so I'll try and say it a different way.

The usage any certain application has on a server is completely dependant to that application. For instance, running a text based game I might be able to support 1000 users on a single server, but someone who runs a CS server can only support around 32 or so. Or even someone with another text based game might only support 500 users per server because his code isn't as optimized as mine, or he uses different methods in his code than myself. That's if all those different applications are running on the same specced machine.

I could run 1000 users on one machine with my text based game, but if I use a different server, I might only squeeze 750 maximum, due to the limitations of that server. Again, there is really no way at all to even give you a ballpark of how many servers you will need for whatever application you're using, because there are way too many variables to calculate even a rough ballpark.

If you would like though, I could throw some random numbers out for you, and you can choose which one you would like to go with for the number of servers you would need :)

5
62
57
24
82
33
95

But really, all joking aside, no one will be able to even give a ballpark that's worth 2 cents.

Quote:Original post by Mike2343

If you have 100k subscribers for your application you have number to work with. Give us those and we can help. Throw us a bone here. Ultima Online had like 300 users per server then some guys rewrote it themselves using C# and got it to like 2500 users I think it was. There, that's a new number to add to your fact :)

Mike



Anyone know if that C# rewrite of UO server reflected being run on newer CPUs (UO may not have upgraded their server machines for several years) AND did they do something like switch from TCP to UDP (TCP connections have alot of overhead and the 300 old UO may have been ettributed to something like that?? I seem to recall 2500 TCP connections arent viable on one machine.


For the roiginal poster, what kind of bandwidth requirements are there per used?? Even if its webbased game, if it has alot of update data to send regularly it adds up. A high per server machine bandwidth can be just as significant a limitation as CPU requirements.

Quote:I seem to recall 2500 TCP connections arent viable on one machine.


You recall wrong. They didn't change the UO client, so clearly they didn't change network protocols.

"Viable" is relative -- how much time do you want to spend in the kernel, versus how much time do you want to spend running your server code? Also, "viable" is relative to how you structure your program, and what particular hardware you're using (I seem to recall a fancy multi-processor server for that UO experiment).
enum Bool { True, False, FileNotFound };
hplus0603: Wow, I never said client, I said server. Please don't snap at me AND put words in my mouth, not on Christmas eve atleast...

Actually they made a server backend using TCP instead of UDP and it was like 7800 users on the one server. They used very modern, high end hardware too.

Here's the thread:
http://www.gamedev.net/community/forums/topic.asp?topic_id=328479

Edit: My bad, apparently TCP was used already so no switch happened. Read the article for more info.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

This topic is closed to new replies.

Advertisement