MMO Server Roadmap
From Seoushi Games
This page is to layout the design and how it will eventually evolve to become more complex as functionality get implemented.
Contents |
Step 1
Functionality and Definitions:
A Client - is a player on the game world.
A Patch - server is a basic http server that diffs the game files and makes sure the client is up to date.
A Gateway - is the single point of connection between the player and the game world. The gateway handles all communications for players, login in to the game, database queries such as items and character creation.
A Database - is an instance of mysql, postgresql or another premade database server. Right now I'm leaning towards postgresql although this isn't really important. It holds account information, items, player characters and everything data related to the game besides art assets.
A World Simulator - handles all the areas in the world, npcs and chat.
Step 2
Changes
Two server types were added. The Login server takes functionality from the gateway and handles all login and character creation related functionality. The Query server is also split from the gateway and it acts as a middle man between all database transactions, it will take messages and convert them into sql and message back the results. The rest of the servers act the same as before. World simulator was shortened to world for space on the diagram, it's functionality has not changed.
Step 3
Changes
One server type has been added. The Chat server offloads work from the world server for all chatting functionality. The other changes are just for scalability. The world server can now be split into parts of the world, this allows for more complex worlds and more players. The login server can now be cloned, meaning duplicate functionality so more players can login faster.
Step 4
Changes
This is what I consider the final product, anything more will be extra and not planned. This just extends some more scalability for servers, multiple Chat, Gateways, Query and Database server.