Ryzom Service Architecture
From Ryzom Wiki
Service Architecture 
- We often use this word to refer to physical server.
- This is an instance of the Ryzom universe. Currently, we have 3 shards, one for the French community, one for the German one and the last one for people who speak English. All shards are independent and there's almost no link between shards.
- A service is an executable, that is running on Servers. For example, we have a service that manage the AI. We can create heterogeneous shards with some Windows server and GNU/Linux server where some service will run on the Windows and other on the GNU/Linux.
The architecture is completely modular. In 2004, a Ryzom shard ran on 8 servers and now, with the power of new computers, we can run the same shard on a single server.
Here is a list of what the services do in Ryzom:
- AES (Admin Executor Service)
- There's one AES per physical server. It manages the shard by launching other services on the server, kill them, get some information about the services.
- AS (Admin Service)
- There's one AS that coordinate all AES. It's the central point to get/send command to AES.
- AIS (AI Service)
- We can have one or more AIS per shard. The goal of this service is to handle the AI in Ryzom. An AIS is responsible for a geographic area. For example, in Ryzom, we have 6 AIS, one per continent.
- BMS (Backup Manager Service)
- There's 2 BMS (a master and a slave) for all the shards. They manage the saving/loading of data like player characters, guilds... Data are saved in the hard disk using specific file format.
- EGS (Entities Game Service)
- One per shard. It manages all players state, game play rules, missions, items, guilds, ... It's a central point service.
- GPMS (Global Position Manager Service)
- One per shard. It knows where all entities (players, ai) are and check collision.
- IOS (Input Output Service)
- One per shard. Manage all chats, texts, localizations...
- NS (Naming Service)
- One per shard. It's a low level service that coordinate all other services. It knows which services are launched, on which port, it's like a yellow page.
- WS (Welcome Service)
- One per shard. Used in the login process, this service check and route the player to the good FES.
- TS (Tick Service)
- One per shard. A simple service that manage the game time and sync all services.
- MS (Mirror Service)
- One per server. A service that use shared memory and communication to sync data across servers so all services can access quickly to all necessary information.
- SU (Shard Unifier Service)
- One. Manage the things that are not related to a specific shard. For example, teleporting a player from a shard to another shard. Also manage the login of players.
- FES (Front End Service)
- One or more per shard. It's the interface with the Ryzom client. It handles the messages and route them to the necessary service. If you have 2 FES on a shard, clients connection will be spread equally on both service.
- SBS (Session Browser Service)
- Same number as FES. It manages sessions (mainly used by the Ring).
- MFS (Mail Forum Service)
- LGS (LogGer Service)
- DSS (Dynamic Scenario Service)
- PDSS (Persistent Data Service)
- Create some archive to backup regularly the stored files that contains player character information and also be able to extract some information to do some stats or tests. (not use)
- MOS (MOnitor Service) (not use)
- LAS (Log Analyser Service) (not use)
- RBS (Reference Builder Service) (not use)
- Créé par Matt Raykowski; Oct 11, 2012. https://ryzomcore.atlassian.net/wiki/spaces/RC/pages/884873/Ryzom+Service+Architecture
Last version 2020-10-12•ᐒ