What is Required When Building An MMORPG Server?
Posted 18 September 2005 - 05:39 AM
Posted 18 September 2005 - 09:04 AM
Posted 18 September 2005 - 02:06 PM
I would like to be able to have 100,000 players, however i know this is a difficult task, but if there is enough demand do you not think that i could expand into at least 50,000 players?...Is it not possible, AT ALL? Well, I think so, so i am going to pursue that, I don't care if it takes me 10 years, I am ONE person right now, trying to fulfill a 7 -year dream of creating games. So if you wanna tear me down send a PM, cause i copy and paste the forums into files, and i don't want your negative garbage, when i have obviously posted because i know i do not have the knowledge & experience.
Have A Nice Day!
Posted 18 September 2005 - 04:43 PM
Be fair to yourself, if the answer on your question is not the exact answer you wanted to hear you call it 'negative garbage'... Another thing you need for your MMORPG is good communication skills, as you can't do it all on your own. Like learning to consider other people's opinion even when they say things you don't want to hear. Maybe work on that first.
Posted 18 September 2005 - 07:08 PM
Posted 18 September 2005 - 09:45 PM
Posted 18 September 2005 - 10:55 PM
This is way outside of normal expectations, and it's why you got the latter comments that you did and may not have understood.
MMORPGs today don't have this many people on at one time. Most servers I've seen shoot for the ~5000 mark or so each and even these require more than a normal person could afford. If you don't have 100k $ even thinking about supporting game servers yourself for 100,000 is impossible, and I think even that's probably far too low if you add in maintenance costs and such. That's a LOT of people.
And an FPS, that's a game that requires more bandwidth than most others. Look at something like world of warcraft, it runs at about .1 - 1 kbyte/sec at most times with some spikes for each user. An FPS requires 4-5 times that becuase of the speed of the game (this is just my checking with utilities that measure bandwidth usage).
Nevertheless, I think especially since you are wanting to do a game on your own you should shoot for a more realistic user limit. 100,000 is pretty unreasonable to expect online for an Indie game at least to start. Maybe down the road with time and quality you could get to that point but it's better to start out slow and much easier to balance as well that way.
Posted 18 September 2005 - 11:06 PM
Posted 18 September 2005 - 11:42 PM
Lead Designer/Project Manager - White Epsilon
Posted 19 September 2005 - 04:20 PM
Lets say this, for NWN one could run a server without about 60 people on at any time on a 1mbit/1mbit type connection rate (up and downstream). Obviously upstream is what you need and what most ISPs offer less of, it's typical for an ISP to only give you about 256 kbit or 512 kbit (which = 32 & 64 kbyte/sec )
Anything less than 256 kbit upstream isn't good as a server for anything more than 5 players.
In terms of server cpu/ram requirements, you would want something pretty decent in NWN for 64 players. At least a 2.4 ghz P4 with 1 gig of ram?
Raise that to 5000, and you see the problem, that's a LOT more players. That requires a cluster of computers seperating the player load of considerably higher specs each than NWN. Lets say you can do it on 10 dual core AMDs that cost 1500 each with 2g ram each. That's about 15k$.
And of course, I know nothing about writing server software designed to use a cluster so I'm not really the person to ask but it's just an example of the amount of power you would need given the size of players. The amount of actual cpu power required for your game would be dependent on a lot of things. If we assume the server is perfectly optimized and uses efficient routines it depends on what kind of and how much collision detection you are using (most mmorpgs dump a good deal of collision detection to lower the requirements) and various other things.
I think it's best to start coding what you want to do, learn what you need to do to make the basic client/server to the best of your abilities, and then from there find out what it takes to run a reasonably small amount of players. As you get better at coding and more people help you on the project you'll find ways of making it more efficient as well as extending the cpu power.
I wouldn't buy anything outright today though planning on it working in any number of years. Chances are that prices will go down by the time you actually need the power and so you'd just be using a lot of money for nothing.
Posted 19 September 2005 - 07:15 PM
because, then Ed_Mack (no offense) suggests making a 2d multiplayer game, now what is the purpose? that is from almost 10 years ago, now. whats the difference, I have a vision, one which you could not probably comprehend, anyone like yourself is not going to believe in such an idea to help me, I...
I'm going to be a tiny bit defensive. You did not make clear any previous experience, and for someone without any my suggestion was a good one. Now we know more about you, it's a lot easier to discuss with you.
I'm sorry if we offended you, but when you hang around here you find a lot of people take massive projects on without realising it and we try to help them.
Knowing what I do now, I do feel excited to see how your project goes :)
Posted 19 September 2005 - 10:35 PM
Posted 20 September 2005 - 04:41 AM
Posted 20 September 2005 - 04:05 PM
Hardware aside, there are tons of software requirements too, far too many to discuss. At all costs, you need to have a concrete design. I’m not just talking about story boards and ideas, but actually low level stuff. Things like the packet protocol, structure of each message, what type of messages, what group of messages, how to parse them (generalized parser or ad-hoc [software quality vs. performance]), and so on. MMO games are without a doubt focused entirely on network structure. Graphics and other front-end components should come second. Layout your player and world data structures. Write down _everything_ the game needs and plan out the architecture. Focus on the quality of your efforts instead of quick code-n-dash attempts. This way if the project fails or you want to change to a different theme, you can reuse your components. Above all, your server needs to be scalable. MMO are not popular because they have cool ideas, but because they can be expanded on. The more robust you design your server; the easier it is to make alterations.
Again, it all comes down to design (it will save you months of development time). If you’re not familiar with UML, now is a good time to learn it. If you have access to MS Visio 2003, you can produce pretty good UML diagrams with it. If not, try searching around the web for free ones. You can also use UML to produce relational schemas for your database model. Remember, with MMO games 80% of the game is on the server. The other 20% (client side) is just the graphical representation of the server data.
Posted 21 September 2005 - 02:01 AM
downstream = num players * bytes per command * commands per second
upstream = downstream * 2
CPU load factor = 2 * processing time per command * num players * commands per second
For an MMOFPS with 5000 people playing estimates would get this:
downstream = 5000 * 64 * 2 = 640KB/s
upstream = 1.28 MB/s
CPU load factor = 2 * 1/1000 * 5000 * 2 = 20
This is all guesstimates. I'm assuming 8 bytes per command (could be 4 too). And I'm assuming that you'll get about 2 commands a second and that commands can be processed in about a millisecond.
Do note that the downstream estimate is 640 kilo bytes and not bits per second. So it's quite a lot when you put 5000 on one server.
The load factor tells you about how many processes you'll have per second - which is 20. But that just gives you a very vague idea of what CPU specs you'll need. It should not be used to determine CPU specs. Whether you'll need a 500MHz cpu or a dual 3 GHz CPU only a profiler can tell you.
I may have gotten the formulas off a little bit. I think the upstream should be multiplied by the number of players, not 2. But I can't remember, and I can't find the post from which I originally got the formulas. But anyway, CPU is not what you should worry about with so many players. It's the bandwidth that'll be a bitch.
You might want to type in "Game Server Rental" in google and check out the server specs being offered and how many players they can handle on average depending on the type of game. That should give you an idea of how many servers you'll need to handle 5000.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users