Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Ardaxus

Beginnings of a MMORPG server design - feedback wanted

This topic is 5837 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I have the beginnings of a massively multiplayer server design document done, with a basic overall plan on how I *think* might be a good way to do the server. I''d really like some feedback as just about the ONLY information on this topic I''ve been able to find anywhere on the net is in these forums. So anyway, what do you guys think so far? What do you think I''m doing wrong? What''s good? What needs improving? Would you like me to elaborate on anything? I''d also welcome any advice on alternative/new ways of doing things that I haven''t thought of. the link (150kb roughly) is http://www.hep10.com/internal/MMOGTechnicalDesignDocument.doc

Share this post


Link to post
Share on other sites
Advertisement
Seems reasonable so far. The World Server Message Hub sounds like a bottleneck, i''d be more inclined to use a central server that provides directory services to the other servers, and can control the other servers, keeping communications peer to peer wherever possible.

Share this post


Link to post
Share on other sites
4.1.1.2 Shutting down a game world for maintenance
1. Send a message to all logged in players to notify them of shutdown.
2. Close the login server to prevent additional players logging in.
3. Signal the message hub server that it is time to shut down. It will first notify the world state backup server to freeze its current state. Players are then disconnected and the world state backup server writes its content to the database server. Each of the additional servers then releases its memory and stops.



wrong order. I think it would be better to stop login server First. There might be a chance where a inlogging connection dosent get the shutdown message.

Share this post


Link to post
Share on other sites
Slide---> "Seems reasonable so far. The World Server Message Hub sounds like a bottleneck, i''d be more inclined to use a central server that provides directory services to the other servers, and can control the other servers, keeping communications peer to peer wherever possible."


What do you exactly mean by this, could you posible describe the steps to move a connection from one server to another? Or do you suggest to stream from the directory server to other dedicated servers?

Share this post


Link to post
Share on other sites
Keep a lot / most of the functionality in the Hub, just think of it as a directory service instead of a message queue, then let the zone / ai servers etc do look ups against the directory to identify which server the should be talking to. Have a look at how things like the Active Directory, JNDI etc provide these kind of services for distributed applications.

For the player server communication, i''d put in gateways - player to zone server bridges essentially, you can embed security logic, encryption etc in here and handle passing the player communications between servers as the player moves around.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
MUD-Dev. right... will look it up, thanks :D

Share this post


Link to post
Share on other sites
Ok, ive researched the directory services.. and what it seems to be is simply a highly optimized database for searching & reading...

So what use would a directory service be in this server diagram?

Share this post


Link to post
Share on other sites
I think what he means is a centralised listing of all current connections, registered servers, etc. i.e. a server would use it to find out what IP address to connect to when load balancing, login servers would use it to find out which map server to connect the player to, etc.

The original idea was to route all packets from each server to the hub server, which would automatically know the address of each server and route the packet to the correct location, but upon further thought, it makes sense to simply use it as a directory service and provide the IP addresses that each server needs to the servers themselves, and let the servers send to the correct location directly.

[edited by - Ardaxus on September 21, 2002 6:12:45 AM]

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!