🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Multi-server theory...

Started by
2 comments, last by kalldrex 23 years, 2 months ago
I''m probably going to attempt this anyway but i was wondering what you guys would think about this. Basically my archeatecture (i know i cna''t spell, you odnt have to point that out :p i type too fast for my own good ) is where say you have 3 server computers set up on a network. The first computer is the "hub" basically and what it does is it routes all the information to the designated computer. You could have it where one computer handles players, other items etc... (this is for an MMORPG without zones aka one big map) or you could have it so that every bit of data goes to the other computer. i.e. 5 players enter the game, 3 items, and 2 monsters. the "hub" machine would route the information of 3 players, 1 item, and 1 monster to one computer and 2 players, 2 items, and 1 monster to the other server. Then those computers designated to do that task does the calculations for those monsters/players/items/etc... so the information is split up then sends it to the hub machine to be routed to the clients that it''s supposed to. is this clear or do i need ot elaborate more?
ALL YOUR BASE ARE BELONG TO US!!!!
Advertisement
It depends on the type of game, but you should consider the overhead of the routing will add. Why not make direct connection to the 2ndary servers, once the hub has established where the player belongs. I''ve heard that Asherons Call uses a similar system and im sure other MMORPGS uses them too. Though such distrubited server setup is used for much larger player population than 5, if your not going to be support 100+ i wouldn''t suggest such a complex server archiecture.

-ddn
The way I'm planning my multi-server architecture for my tile-engine game is as such:

1) The part of the game map handled by the server in question is represented by a range field in a settings file.

For example ...

TOP=0
BOTTOM=4095
LEFT=0
RIGHT=4095

... would have the server only read information stored in the game map between these coordinates. (Since the map is 4096x4096 then this also means one server handles the whole game).

2) Each individual server handles its own processes; movement, AI, character actions, etc. No server touches other servers' processes. If an event must cross boundaries, then the server "transmits" the data to the other servers' data lists. Each server is responsible for its own data.

3) If one server goes down, then data stored in other servers may not transmit to other servers, and the game state should be able to go into a "pause" state, until the down server goes back online. Perhaps allow an override for the remaining servers that are able to go online, to remain online so players may continue onward without worrying about other areas in the game.

I'm also planning a front-end that can be used from any server (or even any external location that has internet access and an admin password), to control all servers. This could be useful to pull up stats from any server at any location, or view bandwidth problems or server load at any location, listed on a per-server basis.

It should prove to be an interesting project, to say the least



MatrixCubed
http://MatrixCubed.org








Edited by - MatrixCubed on April 17, 2001 6:57:25 PM
well yeah all 3 computers would be on a LAN.
ALL YOUR BASE ARE BELONG TO US!!!!

This topic is closed to new replies.

Advertisement