Hello,
Im trying to design a mmo
.
Well, first of all i design it in my brain and this is the result:
Server architecture
- Big persistant world divided in realms and each realm in secctions.
- Each realm have 2 sections and sections are indepent servers that manage the world as independent things.
- Central server that log users in and balance traffic
Data Base Architecture:
- Players.
- Chars. They have the section Id, and when they log in I can realocate in the correct server.
- Servers(Realm and secctions).
- The World inside each secction, it mean X,Y,HeightmapType,MaskTexture.
-GenericObject.
- Object position in each secction.
For the client y use IrrWizzard convined with arras shTileTerrainSceneNode and for the network I use RakNet.
I explaint it better:
The arras shTileTerrainSceneNode can be placed an heightmap where do you want, i create different type of grayscale map and the server's data base give me what i need to put in each case.
The visible map only shows 3x3 matrix of this kind of terrains and create a message that inform me if I moved out of the center tile, if it is i move the tiles and his objects and retieve data from my servers section.
Raknet uses a sincronitzation option with objects shared, I use this to alocate objects in the terrain querying the database only for objects there are in my terrain tile and adjacents ( if u are in a border of the tile u can see)
this bring my this Netmsg
Inside tile.
IdPaquet,Secction server, X,Z,angle
Outside tile.
IdPaquet,Secction server,TX,TZ, X,Z,angle
If I attack another client y only send that I attack, server calculates and return me how damage i make. Then i don't need to send every time my stats to other clients.
And much more but not enought time xD, bye bye