How does the grid work?
From Diversia wiki
Contents |
What is the decentralized grid?
The server grid in Diversia is totally decentralized, there is no central server that is managing the layout of the grid. This means that there is not one huge world that every server is part of, a server doesn't even have to be part of a grid or there could be multiple grids that are not connected to each other.
Advantages
- Server owners do not have to depend on a third party that provides the centralized server. The situation where the third party that provides the centralized server stops hosting this server or goes out of business does not exist any more.
- While hosting a server does take some resources, you are not forced to hire a server from a third party. You can run the server yourself.
- Server owners can decide with whom they link so they can link with servers or grids with similar themes and goals.
So in short server owners have full control over their server and their participation in a grid (or none if they wish so).
Disadvantages
- There is less control over the total grid because there is no centralized server.
- Giving things a (monetary) value is harder in a decentralized world because there is not a single authority that manages the values and flow of money. If two servers want to give (monetary) value to their objects and also share these between both servers, they will have to agree on some kind of conversion rate. But even then it's still easy for a server owner to generate a lot of fake money and take it to the other server.
- The software required to work with the grid is more complex.
How does it work?
Server side
Servers can link with up to 4 other servers, one in each direction (north, east, south and west). Once two server owners have decided to link their servers on one of the directions they both agree on a password and change their database to link the servers. The servers then add each other to the trusted server list and create the link. Both servers send out the changes to the grid structure to all their clients so that the clients can update their view of the grid as well.
Client side
Clients start by connecting to one server. Once the client is connected to a server, that server sends information (name, IP address, port, etc..) about the neighbouring servers to the client. The client adds these neighbours to the grid view and attempts to connect to all new servers. The process then starts over again for all new servers so that more servers in the grid can be discovered. This process stops after some time because the client does not connect to new servers that are more than 3 grid positions away.
Animation
The following flash animation might clear some things up, it was made for a presentation where someone was explaining the server grid so there's no audio or captions. It can be found here: http://multiverse.gohla.nl/animation/ mirror Press space to advance the animation.

