Jump to content
  • Advertisement

Archived

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

GroZZleR

Server Clusters -- How exactly do they work?

This topic is 5395 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

I''ve been reading up on network setups, and I''ve reached a small hitch on server clusters. How exactly do they work? Specifically, for game. I can understand something like, a login server, a database server and the main game server form a server ''cluster''. But its just not what I invision. I guess my two theories on how they work are like this: A) The login server polls all the servers in the cluster for who has the least connections. The login server hands the connection to the server with the least amount of connections. Not quite sure how the game would continue to run this way. I guess there''d be one central server that controls things like AI and things of this nature? B) ''Zoned'' areas. The world is split into 4 quadrants, and each server handles one quadrant of the world. The ''quadrant server'' handles both AI and player connections. Perhaps both are valid ways to do clusters? Any insight here would be fantastic.

Share this post


Link to post
Share on other sites
Advertisement
Every MMORPG that I know of handles server clustering by zoning. For example, the original Ultima Online setup was four servers each controlling a quarter of the game world. There''s an urban legend about a guy crashing a shard by moving back and forth across a border again again. Other games, such as Everquest are divided into explicit zones.

One trick you can do if you know the IP or hostname of a server for an MMORPG is to try get the domain names of all the hosts on the same subnet. Sometimes how the hosts are named can be instructive as to how they''ve set up their clustering.

Share this post


Link to post
Share on other sites
I am reading a book about design of MMORPG. And they basically always divide the map into areas. Some are obvious, for example you enter a dungeon and it puts you on a server that handles the dungeon. Some are not so obvious, when you have a very large map, and so you just split it at some interval, but you have to keep some overlayered areas.
For example if your map is 100 miles long, then server 1 would be responsible for 0-50 of those, and server two would be responsible for 50-99 of those. If a character is standing on 50''th mile, it might be on either server1 or server2, depending on where that character came from. The character would still be on the same server as he was before. Thats because if he was to go back - no server to server data transfer would be necessary.

The book also talks about dynamically figuring out where the map should be separated. I guess if you have some areas which are overly populated, you should have a separate server for them. And if some areas are empty, you can just put them all on one server. As more characters migrate to it, you can dynamically assign a different server to handle that 1 area.


http://www.anywherenotes.com - never lose another note again.

Share this post


Link to post
Share on other sites
When you run from the 49th mile, with a Lesser Schmoo chasing you, across the line to the 51st mile, how to make you move to the next server, and the Lesser Schmoo follow you, and everyone on the way see both of you at the right place, is an interesting problem. Certainly solvable (most systems use some server area overlap, and create ghost shadow objects), but interesting.

We use a quadtree to map world area to specific servers. This has scalability problems when you want a lot of servers with very detailed lines (i e, meter precision for a planet-sized world) but works for more limited worlds.

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!