What is Required When Building An MMORPG Server?

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 14, 2005 at 04:34

Ok, im a little new at the server side of things, since all i have done since i was younger is software develpment for small business, and home use, when i was 11 i started into graphical software, and games, since then i have moved up to know Basic, Visual Basic, C, PhP, and Html. I am a skilled artist when it comes to 3D modeling, and more so texturing, so if any of you need assistance in that department, I would be more than glad to help.

All i need to know is how, and with what do i need to start a game server?

Cruse

51 Replies

Please log in or register to post a reply.

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 14, 2005 at 06:08

I really, really need a texture artist and 3D modeler. Please!
I’m not the most knowledgeable about server-side architecture but I would recommend checking out RakNet http://www.rakkarsoft to get the source and find out for yourself.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 14, 2005 at 11:29

ok well, i need to know what file types you need the models created in, and and what models/textures you need?

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 15, 2005 at 02:04

just .3ds files will work fine. I have to say though, I will need a sample of your work before I can just say “go for it, you’re on the team”.

Email me on django@white-epsilon.com with some samples and we can get talking then :)

Thanks.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 15, 2005 at 02:16

Alright…Done, but i still need some help with this server stuff, lol

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 15, 2005 at 03:40

Yeah, sorry about the hijack.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 15, 2005 at 03:49

It’s alright, stuff hapepens, anyways, i would like to take a look at whatever you have, it sounds really interesting judging by your posts… is that a possibility?

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 15, 2005 at 04:58

Which game. The one describd in the fantasy trading post has been merged into a different project. I can’t really talk about that too much, other than to say it is a wacky project that will create a unique MMO.

The other one, White Epsilon is best viewed at the website. You can mail me for more info and access to the page I show developers with key features in some detail.

BTW: I can’t mail you, AOL says it bounces as it is unsolicited email. My mail daemon gave up :lol:

9ae274824eec26b76ac84803709c92fe
0
ray648 101 Sep 15, 2005 at 07:34

Im part way through doing the server side for my game currently so I may be able to help you out a bit. Server design greatly depends on what sort of game you are developing. For example, a FPS server would probably use UDP connections and would have a high data flow through it, where as the server for my RPG uses TCP connections with a relativly low data flow.

A basic game server loop may look something like this:
1 - Check for new connections from clients
2 - Check for any clients who have disconnected
3 - Check for data from existing clients
4 - Act on data received
5 - Send new data to clients if needed
6 - Loop back to 1

If you want to know anything specific, ask and ill see what I can do.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 15, 2005 at 17:58

Well, i am setting up a game that is sort of both RPG/FPS but with other attributes as well, what would be the best for that? UDP?

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 15, 2005 at 22:33

Yes. UDP is faster than TCP/IP as the packets aren’t verified on arrival. If you are going to have FPS elements, you want speed.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 16, 2005 at 02:57

ok thanks, and would you know how to by chance or where i could find out how to integrate the website and the game server together?

16b0289b40fe01679830c3093960cc95
0
awood 101 Sep 16, 2005 at 12:25

If you use a database for your game server (e.g. MySQL) you could write up a PHP script that would interface with the database. For example, if you were to store player stats in your database, your website could query the database for the the top 25 most dangerous players in your RPG realm.

Look into MySQL and PHP documentation to see how this can be done.

Da26e799270ce5e8b62659ed77b11cef
0
Axel 101 Sep 16, 2005 at 13:32

Please don’t give him bad advice. Calling a PHP site over HTTP is much too slow for things like that.

MySQL has C libraries for interfacing it and there are C++ OOP wrappers aswell.

16b0289b40fe01679830c3093960cc95
0
awood 101 Sep 16, 2005 at 18:02

@Axel

Please don’t give him bad advice. Calling a PHP site over HTTP is much too slow for things like that. MySQL has C libraries for interfacing it and there are C++ OOP wrappers aswell.

There is some sort of misunderstanding here (very possibly on my end). I was suggesting that one could use their webserver to interface with the MySQL database using PHP.

Of course the gameserver will interface the MySQL database using C++ wrappers.

If this notion is incorrect, I would be interested in knowing the better way to do things.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 17, 2005 at 01:39

so which is it guys?

6aa952514ff4e5439df1e9e6d337b864
0
roel 101 Sep 17, 2005 at 08:09

I guess that they mean one MySQL database with two different ways to interface with it for two different purposes. 1. The game server itself should use direct MySQL commands preferable using a library, for its game logic. 2. You can use the same database for statistics (number of registered users, activity, etc.) that people can browse online, using PHP.

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 17, 2005 at 08:31

ODCP (open database connection protocol (I think that is what it is called)) allows you to connect and use SQL lines in basically any code. There are SQL wrappers for C++ and C# and anything else you care to name aswell.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 18, 2005 at 01:50

Cool, thanks guys, i am buying a game server soon, what specs do you think i would need to run a server with, oh say, 100,000 people playing a futuristic FPS?

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 18, 2005 at 05:06

A cluster. A big cluster. You have a futuristic MMOFPS?? Any idea tell of what it is?

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 18, 2005 at 05:39

lol, if i gave that out, now i wouldn’t be the only one with that idea now would I….lol….I may disclose it to you eventually, just not quite yet, while all I have are Map designs, Drawings, Gameplay, Char Models/Drawings, and a few other things, that at this time, i am way too tired to even think about all of…

6aa952514ff4e5439df1e9e6d337b864
0
roel 101 Sep 18, 2005 at 09:04

maybe an undesired comment, however it may help you: with your current knowledge (at least, the knowledge you show here) you aren’t able make a 100,000 player FPS in the next few years. this doesn’t sound friendly, but better realize that before you get depressed.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 18, 2005 at 14:06

@roel

maybe an undesired comment, however it may help you: with your current knowledge (at least, the knowledge you show here) you aren’t able make a 100,000 player FPS in the next few years. this doesn’t sound friendly, but better realize that before you get depressed.

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!

6aa952514ff4e5439df1e9e6d337b864
0
roel 101 Sep 18, 2005 at 16:43

My reply was a direct answer to your openings post: What is Required When Building An MMORPG Server? I think that it is very fair what I said, again, you don’t have the knowledge and it will be very hard for you to achieve the things you aim at. Even when you can work on it for 10 years you might have a MMORPG with the technology people used 10 years ago, so nobody will care.

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.

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Sep 18, 2005 at 19:08

I’d recommend trying to make a 2d multiplayer game - some simple cool mechanic like jump’n’bump. Just trying to move little avatars around in 2d is hard enough to do well, never mind simulate a whole freaking world :)

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 18, 2005 at 21:45

Guys, i have already made a 3D game in the past through which 4 people can could connect simoultaneously and play together, i think i know what im looking for, and its not criticism, and its not 2d, so either post on useful things like where to find the best information, or don’t bother with me, and let me find a way myself, I could care less if im using technology from 10 years ago, 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 have fine communication skills, or else i would not be in sales in the top 5 in my market, and secondly, i have people helping. So here is a good idea, if you want to sound all inquisitive, and intelligent, why don’t you actually help instead criticize, what is the point of criticizing someone who is looking for information on a server, i dont need you help on a game or game type, or else that would have been the SUBJECT of this thread, dont ya think? so now im back at square one, and i would like it if you would not try to “Help Me” anymore Roel. Post your critiques in other’s threads or start your own maybe (Get Your Game Citiqued Here) i bet you will have only a few that care to ask you about servers if you going to criticize their games, so go play elsewhere

763a6d2f1760e2baf46bc0ba3cc9fd07
0
Xanas 101 Sep 18, 2005 at 22:55

@Lord_Raven

Cool, thanks guys, i am buying a game server soon, what specs do you think i would need to run a server with, oh say, 100,000 people playing a futuristic FPS?

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.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 18, 2005 at 23:06

I realize that, but if you read the posts afterward, i even said that i dont care if it takes me 10 years to get to that point, but im just trying to get people to give me a better idea like you have, with the 5000 people, but i really just need specs on maybe that amount right there, 5000 people or even 2000 people, just give me an idea of what this server needs to be built of? everyone is beating around the bush telling me what is NOT possible, instead of telling me what is, so lets hear it guys, tell me what is possible…. i dont want to hear start out with a few hundred, i know im gonna need the space for about 2000 guaranteed! <- what kind of server would that consist of?

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 18, 2005 at 23:42

It is hard for us to give positive advice. We get so many people telling us what they obviously can’t do, that we have trouble telling can from can’t. Your expectations sound unrealstic so people automatically go into “MMORPG Newbie” mode. Sorry if you can actually do it, or are doing theoretical research. We just are tired of seeing people attempting the impossible.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 18, 2005 at 23:45

thats fine, but at the same time, i need specs on a server period. i dont know who else to go to.

763a6d2f1760e2baf46bc0ba3cc9fd07
0
Xanas 101 Sep 19, 2005 at 16:20

Well, there are articles on this forum about running your own MMORPG. Radu has written a set of pretty good articles and he does somewhat cover the server issue. (check the articles/tutorials link at the top)

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.

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Sep 19, 2005 at 19:15

@Lord_Raven

Guys, i have already made a 3D game in the past through which 4 people can could connect simoultaneously and play together,
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 :)

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 19, 2005 at 22:35

Thank you Ed, and sorry for bitin your guy’s heads off, i was a little grumpy the other day anyways, and i think that feeling like i wasted 8 years of my life learning about these things to have someone tell me, it isn’t possible, is not going to go well with me, however i do find the previous posts more useful, and am very thankful for that, however,im not really big on P4’s i must stick with AMD as the #1 Gamer’s Processer, unless you guys absolutely think that P4 is better???

763a6d2f1760e2baf46bc0ba3cc9fd07
0
Xanas 101 Sep 20, 2005 at 02:59

Not me, AMD all the way baby! :)

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 20, 2005 at 03:17

Cool, thats the way to go, then

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Sep 20, 2005 at 04:41

I think you’ll be going the tech-startup route, of packing as many cheap/free servers as you can find into your garage. Then you just need marketting and a bit of luck :)

Ea1e202bbd97524308adb219c6c33a73
0
Methulah 101 Sep 20, 2005 at 08:04

Thats what my “file cluster” is :)

6837d514b487de395be51432d9cdd078
0
TheNut 179 Sep 20, 2005 at 16:05

For starters, you can’t anticipate what your hardware requirements are until after you finish the design (or possibly even development) of the game. There are of course minimum requirements. For starters, you need dedicated game servers and dedicated database machine(s). Databases are an absolute must for anything “massive”. Odds are you’ll use MySQL since it’s free. Secondly, you should target your server platform on a *nix box. You can easily get double (at minimum) the performance on a *nix box over Windows. With enterprise grade kernels you can maximize your sever loads. And of course, pending on how efficient you design your packet protocol, you can later evaluate the bandwidth requirements.

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.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 20, 2005 at 16:36

Thank you Nut, i will certainly look into all of that, because i may need to alter mine a bit to get the best performance as you said, thank you for your input.

22b3033832c5c699c856814b0cf80cb1
0
bladder 101 Sep 21, 2005 at 02:01

There are some formulas you can use to determine a few things. Well actually get a very inaccurate idea of what you’ll need - but some idea nonetheless.

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.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 21, 2005 at 05:43

ok, thanks, ill check into it, however i am purchasing a small “Wanna-be” server that from a friend that owns a server company, and said that he may be able to get me a lot of Bandwidth, so i dunno if that is going to be my problem or not, hmm, anyways, the information is good, and thanks again, ill look into it.

6837d514b487de395be51432d9cdd078
0
TheNut 179 Sep 21, 2005 at 10:04

Network bandwidth requirements are a little more complicated with MMO software. Since it is a server-client architecture, you want to reduce bandwidth consumption by sending packets to groups of clients within the same node. So for a server with 100 people online, if 90 people are scattered across 90 different nodes and 10 are in the same node, you wouldn’t notify the other 90 people what the other 10 are doing. So instead of using 100 as your variable, you now have two equations. Also, the more tense the node is (more players, more monsters, more chat activity, more anything), the more bandwidth will be required for that node. Good MMO network engines will utilize a priority queue system. The 10 people in that one node will receive far greater attention then the others scattered across different nodes.

For network bandwidth, you also need to include two more things.
1) Overhead
The internet has two standard protocols. IP and TCP or UDP. Thus, you can have either TCP/IP or UDP/IP. IP is typically 20 bytes long (it can be longer). TCP is also typically 20 bytes, and UDP is 8 bytes. So your minimums:
TCP/IP: 40 bytes per packet
UDP/IP: 28 bytes per packet

Since with MMO it is extremely important to transfer the information, you need to use TCP. Since you’ll be spending more on overhead to transfer out information, you need to group packets together, compress them, and then send the package as one larger packet to the clients.

2) Congestion
The number and quality of routers you use will greatly affect the performance of the network. High quality industry routers ($$$) will perform much better than home-based routers.

While you may have plenty of bandwidth to play with, trust me when I say the cost of sending lots of data adds up. You should be very efficient wth your use of the network. Don’t just throw a bunch of information down the pipe inefficiently.

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 22, 2005 at 00:44

duelly noted! thanks

Fedf98926c19bd6c57ce0106ba0d431d
0
ParadigmShift 101 Sep 22, 2005 at 04:32

Hi Lord_Raven,

Even disregarding the “n00b” reaction and taking you seriously, it doesn’t seem like you’ve given enough information to give you actual processing/bandwidth requirements, to determine what kind of hardware to buy or algorithms to use. But my most general-purpose advice is this:

Be rigorous about your game design, and realistic in your expectations. If you have 100,000 registered users, spread out among various time zones, you will probably get a concurrency of about 10,000. (Based on the statistics from Second Life – a shameless plug but check it out at secondlife.com) How big will your world be? How many people will be within sight of each other at one time? There are several ways to scale:

  1. Shards - Bring up several noncommunicating servers or server grids, and assign players uniformly to the separate grids. That way if you’re making a profit on 100 players, you can make the same profit on 1000.

  2. Designed obstacles - Make it impossible for people to all congregate in one place (e.g. AC’s portal storms) and tie up all your processing power or bandwidth on one machine.

  3. Gradual server handoffs - Ensure that players spend most of their time away from region borders, to allow more time for handoffs between servers (WoW has cities in the middle of regions, and when you travel between non-adjecent regions it shows a “Loading” screen)

History shows very, very few pieces of software that have gone 10 years with a enormous userbase and not undergone considerable change. Give yourself room to expand by focusing on modularity, abstraction, and good coding habits so that when you hit that 1000-user barrier, you can identify the problem and refactor.

Help that helps!

Tom

12edaae048641de0cc6b35784abaa1ec
0
Lord_Raven 101 Sep 22, 2005 at 22:10

Thanks Tom, Your Input Is GREATLY Appreciated!!!

D9e3e3d72d6e18c9874aa3c78124921d
0
K_Sin 101 Oct 14, 2005 at 10:25

I hope you know n00b to 0ldy rule. What ever your MMO it has to attract more n00bs than 0ldys leave. otherwise it dies (obvious yes).
But to do this you have to add things that give someone about 1 months enjoyment and not something that gives enjoyment after 1 month. Its just I’ve seen a fare few MMO’s fail completely cos they ignored this.
So I hope your game has airships cos otherwise you’s lost my vote ;)

Even if you think your idea is the best thing since God others may dissagree and when they do you dont have 100,000 users.

Just a warning to let you know your ideas must be loved by about 900,000 not 100,000 cos people move on. And boy do they move quick.

Fd496fd0b311b6215ef090e24e7cf0c7
0
claymore1977 101 Oct 14, 2005 at 13:24

Call it fate or whatnot that I stumbled upon this Thread. Lord Raven: A few friends and I are in startup phase of a project that sounds very similar in structure…. if not content. Although we haven’t set an upper bound for the goal of population load on the servers, we do expect a fair amount.

We are in the same boat as you… wanting to accomplish this, having the drive and some tools and skills, but not exactly knowing the correct path to get there. I do lots of reading, coding, trying, failing, trying again, failing again, finding simpler way to do it, getting frustrated, crying, trying again, celebrating cause it works, getting bummed out when I realize I have accomplished goal #4 of 158223.

We are trying to do this as smart as possible to mitigate the effects of: learning while doing, learning fast enough to catch up with the rest of the MMO community, lots and lots of rework, and not trying to re-invent the wheel at every turn.

What I have learned after about a year or so of just planning is that the whole damn project is a “Chicken or the Egg” scenario. Example: Server structure depends on code base and data transfer goals….. data transfer depend on expected community population base….. population depends on, initially, advertisement and demos, but eventually on game performance and content….game performance depends on server structure….

We joke around and way that we figure to have this ready and go live about the time when mankind gets a base on the Mars. LOL
For me, however, and apparently unlike many people on this thread, the journey to the goal, the frustration, hardships, failure, successes and victories is the best part for me. What’s the point of having a kick ass game when you can’t look back and say, “Hey man, remember that time we stayed up for 36 hours straight trying to finish up the event handler for that one class? It was sure hard to do drunk.” </Philosophy>

I would love to chat with you about ideas, pros/cons about your project. A summation of my project is a Sci-Fi based FP MMORPG that encompasses all the things we liked about many other MMOs and all the things we would have liked to see or see fixed in many other MMOs.

617a1a8c828954a69bbd75f79fc73e39
0
cyberkilla 101 Mar 15, 2006 at 01:23

Guys, you aint kidding!

Its very difficult to find the right server, and the right game structure
to ensure your game doesnt fall FAST:P

I have a Text Based MMORPG, in its infancy, but it needs
a dedicated server if its going anywhere soon:P

Its called FutureRP and its at www.futurerp.net
I considered the making of a 2d or 3d game, but i like to keep things
as accessable as possible. Who the heck doesnt want to blow some guys
head apart while hes supposed to be doing work:P

Im rather pleased with my choice of game style and genre, as
it means anybody with access to a standard web browser can play.

Dont get me wrong! I plan to make a 3d/isometric version in the distant future:P
I like play games, and i like to make them, so having a job where i can make a game, and play it, and hopefully get paid is not a bad deal:P

9275cef0ad2f15ec1813d63b0c5b0fad
0
rogerdv 101 Mar 23, 2006 at 20:12

Do you want to buy a game server? 2 CPUs minimum (true CPUs, not HT), if the server is multithreaded. Lots of memories and fast disk (sata or scsi). You also need a low latency line, with at least some mbps of bandwidth.

617a1a8c828954a69bbd75f79fc73e39
0
cyberkilla 101 Mar 31, 2006 at 23:05

Thanks for the offer:P

But ive already purchased a 64bit 3GHz server:P
Ya, i know its not 2 cpus, but its holding up good for now:P
I just need to use my brain, and optimise code when possible:)

Im leaning towards AJAX if anybody is having similar trouble;)

58e46aa002ca1df0b310d912a243f29a
0
adias 101 Jan 02, 2007 at 01:14

There are many issues to consider before building a mmorpg.

First of all you need a good server fast/robust and i sugest one based on IOCP (completion ports, OS- must be 2000,xp higher….doesnt work in 95,98,ME) programed with c++. I heard here that udp is faster than tcp. Its correct but unless you dont need connection oriented protocol, go for it. I dont agree using that because with udp, you must do some checksum/ order packets when you receive 1, which is transparent over tcp. That is an extra code you must do before assemble “The message” (Packet 2 can come first than packet 1, and so on….).

Then you must consider how the game should work, Many ppl in some room, or session game procedure. First case you have an example of Anarchy-online or muonline, the other you can think on diablo that 8 ppl enjoy the same session. Those specs has different techics.
There is an hardware limit to put 100000 ppl playing that in same time. A great MMORPG plays about 10000-15000 at same time….over that isnt possible to work (Many data to process/per sec besides handling all sockets….).

What about http for that database in mysql. Could be even aspx over informix. The speed is not critical in a website than working with mmorpg server. “I can wait 20 secs opening a dam page…” “But i cant play wit this lag (or bad code \^\^)”

Ok, lets be real: mastering IOCP is a painfull task because you must work with API of windows plus c++,plus Threads,plus Threads Synchronization, plus sockets handling :=) (Read Programming winsocks in windows, or something like that)

Second approach, WSA. I never used it but its the second candidate looking for some beenchmarks over net (check google).

Third candidate, c# with System.Net.Sockets with assync calbacks - Its not supposed to be a block server \^\^. Its a non-blocking server but the problem of this is memory. That kind of programming spends too much memory hence you must set up the callbacks (begin accept, end accept, begin read,end read,begin send….etc) per socket….Each task its achived by setting threads to do the job in background.

The game…2D, 3D? Directx,or opengl?

What memory format for MAP/Characters/ models/textures/ light / Collision detection alghoritms, Physics (Gravity, car turn or flying a ship…) AIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII- Artificial Inteligence (like some people \^\^)
, special effects ,etc,etc,etc,etc.

Dont put a sound stream over the socket \^\^. Just assign a byte that the client reads and plays localy(where the wave is stored in client game)

Final: Its a difficult task….but not impossible.
There are some aproachs, not 1 is correct but it simple can be.

You are trying to do a good game at first attempt with 100,000 clients ????Can you????
I want to join \^\^!

”…not event in 10 years…” =====>>>>Bah, the value of the information is the content plus the speed we can get it.
Be realistic,

Everybody talks here about the server……Is that enought????? ITS A GREAT HELP!!!!!! But its that enought??????

António Dias (sorry for my bad inglish):cool2:

58e46aa002ca1df0b310d912a243f29a
0
adias 101 Jan 02, 2007 at 01:27

Im a programmer:yes: and i wasnt build for speaches:surprise:

Soon i have time i will put some decente document here. I promise.

Dam, a text MMORPG=>SUX :=) or….i must sell the video card with 256 Megs.

Have a nice day and a good YEAR.