Recommended Posts

I imagine they are using several high power servers(in the 256mb or 1gig of ram ,ect). Generally they have each part of the map on a differnt server. Which is a reason like in some of them if you go so far you get a loading screen(they have to switch you to a differnt server). Speed?? I think most of them are pretty laggy no? But the thing they do is send as little data as possible.(like only data on players,creatures ect if you can see one or they are withen blank so many tiles range.)

0

Share this post

Link to post

Share on other sites

I would guess, also, that all those server (as in server app not server hardware) are under some variant of UNIX. Not to slam the windows world because they have their pluses too, but when you look for long term stability, good networking, and raw speed UNIX is you're best bet. I've done admin on UNIX and coded on both and lets just say if I was going to do a serious online RPG I would never even consider running my server on anything but UNIX, mainly for the reasons above.

The good thing though, is since you don't really worry so much at the server level about drawing and rendering and all that GUI stuff that the player wants you can make the server fairly cross platform as well. If you have GUI configuration managers for you're server you could also make those specialized clients, basically stripping you're server of all need to worry about rendering. That way, if at first you, could not afford a UNIX environment you could temporarily run it under NT.

Last, like the fellow said above, lots of memory, and multiple processors. Use threads as well if you can since these kind of apps are tracking so many objects and sessions at once.

Share this post

Link to post

Share on other sites

Hmm few things here. I have been running and coding the internet RPGs predecessor for a while now and here is what I have come to think. This stuff is in my business plan for an online RPG.

Real briefly you need more memory than 256Mb - 1Gb. The reason is that you will track everything in the game in lists and these lists can become quite large. Just think how many objects the world of UO has in it or how many monsters EQ has.

The number of processors is always better with more though under NT you really can't take advantage of SMP like you can under Unix because of the HAL layer in NT.

You should always send the smallest amount of data possible. If your starting the project now you do have the ability to plan for only cable/ADSL or better connections. In 2 years when your done this will be the standard. To accomodate this you will need fractional T3 links into your site at 6Mb minimum.

When thinking about the code. Use threads at a minimum. Since threads have overhead they can be slower if you mistakenly use them in a serialized process. Only use threads where nothing depends on the thread finishing. We have a single process handling connections and the main game loop. I will have a world manager process(not thread) managing the online world. this process will spawn threads to handle the resetting of zones. Having too many threads can overwhelm the system and you will get system lag.

The architecture you will use is fundamentally dependant upon your network bandwith, network design, server tasking, and design requirements. If you have a scripting language for NPCs then you will need something to process that component. As you add features they may or may not be suited for their own box. Make sure the backbone to the server cluster is at least Fast Ethernet. Anything less and you will have system lag with 1500 users.

My last piece of information is to have a very defined scope, and detailed documentation done before you start coding. If you don't hold scope in check, no matter how cool the enhancement is, you are bound to overload your hardware real quickly considering the scale of users.

Hope this helps.Kressilac

------------------Derek Licciardi

[This message has been edited by kressilac (edited December 22, 1999).]

Share this post

Link to post

Share on other sites

I'm totally with ya in this one Kaine. My email is jonathan_morris@hotmail.com. Anyone who can help us out would be greatly appreciated. The world of large-scale multi-player gaming seems to be a black art right now, so this appears to be a great way to start.

0

Share this post

Link to post

Share on other sites

If you want to learn about the server side while you wait for enough projects to start in this market, pick up a copy of any mud source code and try to get it running. That code will give you about 60% -70% of what you really need to know to get the job done. The rest of it is dealing with the graphical front end. Read about collision detection and packet loss/lag as well. MUDs don't usually have very complicated code to accomplish either of these and they will be the first few things you will have to deal with when writing the client.

The info is out there. Al you have to do is look. http://www.mudconnector.com will open your eyes to just how many people have already developed text based and graphical online RPGs already.