Ryzom server architecture
Added by virajithj over 4 years ago
Hi,
I am new to the Ryzom game and am curious about its server architecture. I have searched around and found only a couple of very brief articles on this issue which did not completely clear all the questions I had. I was hoping some one on the forums can help me with the following questions:
1) The wiki says that a single shard can be hosted by multiple servers. How does this work? In particular, can a player connect to any of the servers on this shard? Can the shard dynamically increase the number of physical servers on which it is deployed or is it pre-designed? Do the different physical servers in a single shard communicate a lot i.e. what is the bandwidth requirement for the network on which these physical servers communicate?
2) How is the persistent data related to a single user stored? Is a database used? Is this datastore distributed across all the servers in a single shard or is it stored on a single physical machine? Can the datastore be create on a machine which is different from any of the physical machines which are running the actual game server?
In general, is there a place where I can find a (detailed) documentation of how the game server is architected other than http://dev.ryzom.com/wiki/ryzom/ServiceArchitecture.
Thanks a lot,
Virajith
Replies (1)
RE: Ryzom server architecture - Added by sm3 over 4 years ago
Hello Virajith,
Let me first say I'm just learning myself, however, I can answer some of your questions:
1) A single shard is composed of a number of separate applications (ryzom_admin_service.exe, ryzom_ai_service.exe etc..) which do not have to run on the same machine with a few exceptions. It's just a matter of making the changes to each .cfg file for the running service so it knows where the other services reside for communication.
For educational purposes while you learn the system, everything can be run on one server, or you can run the DB server on a separate host if you choose to.
2) A MySQL database is used with Ryzom Core, however, it is only used for stuff like authorization to play the game and not for persistent user data. Persistent user data is stored in a proprietary file on the shard itself.
I hope this answers some of your questions, I do not fully understand everything myself. There is a lot to learn and the documentation is sparse for now!
sm3
(1-1/1)