Ryzom Service Architecture

From EncyclopAtys

Jump to: navigation, search
Cleanup
It has been suggested that this article should be rewritten or updated, because: this article not up-to-date.
Stub.png

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 computers, we can run the same shard on a single 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)





{clear}}

Category:Reference Guides

Last version 2020-10-12•