Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Multiplayer Server Architecture Questions


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 kressilac   Members   -  Reputation: 110

Like
Likes
Like

Posted 29 November 1999 - 07:45 AM

Hi folks. I have a question concerning massively multiplayer games. In an effort to create one, my developers and I are uncertain about the approach we should take to the server design. We have 90% of it complete and are left with a couple of questions.

Our architecture consits of three components. A connection manager/command parser, a player character manager, and a world content manager. The player character manager handles keeping track of PCs and all things related to them. The connection manager/command parser, here forth called the game server keeps track of all skills and commands, and coordinates the resources of the game so they can be displayed properly in the client. Combat will also take place in the game server. The world manager takes care of handling all of the objects and NPCs in the game. It is where the zones are defined, resets occur, and where new zones are installed.

A client connects into the game server(through some YTBD firewall scheme) and the game server is responsible for matching a PC with that socket descriptor. From here all communication within the world goes through the game server. The benefit of this is that additional game servers can be brought up to serve more players as needed. These games servers can access the world server and the PC server in paralell and we have scalability taken care of. Since each of the three servers communicate through a protocol(custom designed), we should be scalable and reliable.(assuming built in redundancy coding)

The question: I would like to have the best performance possible while maintaining 5000+ players on at one time. Mind you the game is 2 years away. Given the above architecture are there any blatant things you can see that might be missing or considerations that look to be miseed? I know this is a broad question, but I am only really looking for a validation of sort that would indicate we are not headed in a blatantly wrong direction. My gut tells me no but I thought I would throw it on the board here and see what the rest of you have to say.

Thanks
Kressilac

ps The alternative to this is to create on massive executable to forgo the protocol between servers. Another alternative is the use of threading or COM in conjunction with the servers as a way to encapuslate interoperabilitiy and inter-server-communication. Your thoughts?

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

[This message has been edited by kressilac (edited November 29, 1999).]


Sponsor:

#2 kressilac   Members   -  Reputation: 110

Like
Likes
Like

Posted 29 November 1999 - 07:45 AM

Just as a clarification, the possibilities we came up with are:

1 Three modules Game Server, PC Server, World Server all communicating through some interprocess communication protocol custom designed.

2 One large executable.

3 Using NT threads, or COM to code the servers above.

Kressilac

ps A 4th possibility would be to combine the PC server and Game Server into one server and leave the world server seperate. This will bring the PC list closer to the descriptor list but restrict us in scalability. Performance could be greater this way though.

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





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS