Ryzom Service Architecture
From EncyclopAtys
There are currently still 80 articles in preparation in the category "WIP"
Article in preparation. Please let the author finish it before you modify it.
The last editing was from Dorothée on 11.10.2020.
The last editing was from Dorothée on 11.10.2020.
This page is a stub, help us to improve it by expanding this article according to Ryzom Wiki's formatting standards |
Ryzom Core/Tutorials/Reference Guides/Ryzom Service Architecture
Service Architecture [1]
Terminology
- Server
- We often use this word to refer to physical server.
- Shard
- 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.
- Service
- 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 computer we can run the same shard on a unique server.
Ryzom Services
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
{clear}}
Last version 2020-10-12•ᐒ