Logo Khaganat

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
en:serveur_tour [2016/12/28 17:57] – [The services] Domperssen:serveur_tour [2020/06/08 09:36] – Suppression d'une précision de langue inutile d'un lien externe neodarz
Line 1: Line 1:
-====== Khanat server - Overview ======+====== OpenNel Khanat Server - Overview ======
  
-Prerequisite: Our game server uses "RyzomCore", and all related documentation also applies to our game server: www.ryzomcore.org. +Prerequisite: Our game server uses RyzomCore / OpenNeL, and all related documentation also applies to our game server: www.ryzomcore.org. 
-\\ The alphabetical index page of their "wiki's" makes it possible to find a lot of useful information, tutorials(in English exclusively cons): https://ryzomcore.atlassian.net/wiki/display/RC/Reference+Guides+\\ The alphabetical index page of their "wiki's" makes it possible to find a lot of useful information, tutorials: https://ryzomcore.atlassian.net/wiki/display/RC/Reference+Guides
  
 ===== Some previous definitions ===== ===== Some previous definitions =====
  
  
-   * **Server**: by //server// we refer to the physical machine on which our universe rotates. As(an abuse of the languagewe can one also use the term server for talking about the programs/services of the game running it.+   * **Server**: by //server// we refer to the physical machine on which our universe is running. As an abuse of the language we can one also use the term server for talking about the programs/services of the game running it.
    * **Shard**: It is an instance of the game universe. Each instance is independent(ex: Aniro and Aristopole formerly on Ryzom) and represents the world in which players circulate.(Note: you can run two //shards// on the same server)    * **Shard**: It is an instance of the game universe. Each instance is independent(ex: Aniro and Aristopole formerly on Ryzom) and represents the world in which players circulate.(Note: you can run two //shards// on the same server)
    * **Service**: A service is a program that runs on the server. The game universe is managed entirely by a dozen services that share different tasks, for example: the service //AI// manages the mobs while the service //IOS// manages the "chat channels". These services are run on the server, but can be distributed on several machines with even different OS(windows + linux for example).    * **Service**: A service is a program that runs on the server. The game universe is managed entirely by a dozen services that share different tasks, for example: the service //AI// manages the mobs while the service //IOS// manages the "chat channels". These services are run on the server, but can be distributed on several machines with even different OS(windows + linux for example).
  
  
-In our case, (as our first single serve), a virtual machine named "kh-dev" was running Debian Squeeze 7 and installed on a real physical server: "ninm.net". +In our case, (as our first single serve), a virtual machine named "kh-dev" was running Debian Squeeze 7 and installed on a real physical server: "ninm.net". Our second server run on Debian Jessie 8 and our third is a virtual machine also under Debian Jessie 8.
-Our second server __will__ run on debian soon.+
  
 ===== Starting and stopping game services ===== ===== Starting and stopping game services =====
Line 60: Line 59:
 __Details of the services:__ __Details of the services:__
  
-  * **AES** (//Admin Executor Service//): This service allows to launch AND kill the other services, and also to collect information about the various services of the machine(on which it runs).+  * **AES** (//Admin Executor Service//): This service allows to launch and kill the other services, and also to collect information about the various services of the machine where it runs.
  
-  * **AS** (//Admin Service//): When services are spread over several machines, then there's a unique administration service called //AS// which coordinates all //AES// tasks for correct order sending.+  * **AS** (//Admin Service//): When services are spread over several machines, there's a unique administration service called //AS// which coordinates all //AES// tasks for correct order sending.
  
-  * **AIS** (//AI Service//): The purpose of this service is to manage the RN's of the world(mob behavior). An //AIS// service is responsible for a specific geographical area, as for example on Ryzom, there are six //AIS// services running(one for every continent).+  * **AIS** (//AI Service//): The purpose of this service is to manage the AI's of the world(mob behavior). An //AIS// service is responsible for a specific geographical area, as for example on Ryzom, there are six //AIS// services runningone for every continent.
  
   * **BMS** (//Backup Manager Service//): This service manages the loading/saving of the "player data". This data is saved(to the disk) in an special "archive format". Each //shard// has two //BMS// services: one master and one second in slave mode.   * **BMS** (//Backup Manager Service//): This service manages the loading/saving of the "player data". This data is saved(to the disk) in an special "archive format". Each //shard// has two //BMS// services: one master and one second in slave mode.
  
-  * **EGS** (//Entities Game Service//): One //EGS// service per //shard//, this service manages the status of each avatar, missions, items, Guilds, rules of the game(eg, spells, combat, harvest, craft, etc.), etc. It is a central/vital service and without it... the game can NOT RUN!!+  * **EGS** (//Entities Game Service//): One //EGS// service per //shard//, this service manages the status of each avatar, missions, items, Guilds, rules of the game(eg, spells, combat, harvest, craft, etc.), etc. It is a central service and without it the game can't run.
  
-  * **GPMS** (//Global Position Manager Service//): One per //shard//,  it knows the position of each entity(avatar, mobs, etc ...), determines who sees who, and then gives the information to //FES//, it ALSO handles collisions.+  * **GPMS** (//Global Position Manager Service//): One per //shard//,  it knows the position of each entity(avatar, mobs, etc ...), determines who sees who, and then gives the information to //FES//, it also handles collisions.
  
   * **IOS** (//Input Output Service//): One per //shard//, this service takes care of the chat channels, all the texts displayed as well as their different versions(Translation).   * **IOS** (//Input Output Service//): One per //shard//, this service takes care of the chat channels, all the texts displayed as well as their different versions(Translation).
Line 76: Line 75:
   * **NS** (//Naming Service//): One per //shard//, it's a pure "network service" whose role is to coordinate the other services. It keeps a list of each service launched, it's ports, etc.. It's a kind of "//translation page//", //DNS // as we say in computer slang.   * **NS** (//Naming Service//): One per //shard//, it's a pure "network service" whose role is to coordinate the other services. It keeps a list of each service launched, it's ports, etc.. It's a kind of "//translation page//", //DNS // as we say in computer slang.
  
-  * **WS** (//Welcome Service//): One per //shard//, it takes care of the connection process and authentication of the player before returning it to the service //FES//(of the shard).+  * **WS** (//Welcome Service//): One per //shard//, it takes care of the connection process and authentication of the player before returning it to the service //FES//(of his shard).
  
   * **TS** (//Tick Service//): One per //shard//, it is a very simple service that manages the game time(date/time) and allows the synchronization of all services.   * **TS** (//Tick Service//): One per //shard//, it is a very simple service that manages the game time(date/time) and allows the synchronization of all services.
Line 84: Line 83:
   * **SU** (//Shard Unifier Service//): Unique service, it handles functions not specific to the shard, like the teleportation of a player from one shard to another, it also manages the process of player connections.   * **SU** (//Shard Unifier Service//): Unique service, it handles functions not specific to the shard, like the teleportation of a player from one shard to another, it also manages the process of player connections.
  
-  * **Front End Service** //Front End Service//: One or more per shard, this service is the one that manages the game client, sending it the different events but also by calculating properties changes to send to it __without saturating bandwidth.__ All communications from the customer go through this service which then routes those calls to the right services. If there is more than one //FES// service for a //shard//, then the connections are distributed uniformly between the different //FES//. This makes it possible to distribute the load between several machines(if necessary).+  * **FES** (//Front End Service//): One or more per shard, this service is the one that manages the game client, sending it the different events but also by calculating properties changes to send to it __without saturating bandwidth.__ All communications from the customer go through this service which then routes those calls to the right services. If there is more than one //FES// service for a //shard//, then the connections are distributed uniformly between the different //FES//. This makes it possible to distribute the load between several machines if necessary.
  
   * **SBS** (//Session Browser Service//): Similar to //FES//, it handles Rings sessions.   * **SBS** (//Session Browser Service//): Similar to //FES//, it handles Rings sessions.
Line 94: Line 93:
   * **DSS** (//Dynamic Scenario Service//): Ring?   * **DSS** (//Dynamic Scenario Service//): Ring?
  
-  * **PDSS** (//Persistent Data Service//): This service creates archives for regularly do backups of files containing information about avatars. It is also able to extract some information to generate "player stats". Not used!!+  * **PDSS** (//Persistent Data Service//): This service creates archives for regularly do backups of files containing information about avatars. It is also able to extract some information to generate "player stats". Not used.
  
-  * **MOS** (//Monitor Service//) (not used!!)+  * **MOS** (//Monitor Service//)(not used)
  
-  * **LAS** (//Log Analyzer Service//) (not used!!)+  * **LAS** (//Log Analyzer Service//)(not used)
  
-  * **RBS** (//Reference Builder Service//) (not used!!)+  * **RBS** (//Reference Builder Service//)(not used) 
 + 
 +===== Liste des ports ===== 
 + 
 +  * admin_service.cfg 
 +    * WebPort = 49995 
 +  * login_service.cfg 
 +    * WSPort = 49999 
 +    * WebPort = 49998 
 +    * ClientsPort = 49997 
 +  * admin_executor_service.cfg 
 +    * ASPort="46701" 
 +  * admin_service.cfg 
 +    * ASWebPort="46700" 
 +    * ASPort="46701" 
 +  * ai_service.cfg 
 +    * SUPort = 50505 
 +  * backup_service.cfg 
 +    * WebPort = 49970 
 +    * ListeningPort = 49990 
 +    * WebPort = 49898 
 +    * L3BSPort = "49950" 
 +  * common.cfg 
 +    * AESPort="46702" 
 +  * dynamic_scenario_service.cfg 
 +    * ASWebPort="46700" 
 +    * ASPort="46701" 
 +    * AESPort="46702" 
 +    * SUPort = 50505 
 +    * SUGlobalPort = 50503 
 +    * L3BSPort = "49950" 
 +    * L3SlaveBSPort = "49951" 
 +    * L3MasterLGSPort = 49992 
 +    * LGSBSPort = 49994 
 +    * L3LGSBSPort = 49995 
 +    * BasePort = 51400 
 +  * entities_game_service.cfg 
 +    * AESPort="46702" 
 +    * SUPort = 50505 
 +    * SUGlobalPort = 50503 
 +    * L3MasterLGSPort = 41292 
 +    * L3SlaveLGSPort = 49993 
 +  * frontend_service.cfg 
 +    * FSUDPPort = 47851 
 +  * input_output_service.cfg 
 +    * AESPort="46702" 
 +    * SUPort = 50505 
 +    * SUGlobalPort = 50503 
 +    * L3MasterLGSPort = 41292 
 +    * L3SlaveLGSPort = 49993 
 +  * logger_service.cfg 
 +    * LGSL3Port = 41292 
 +  * naming_service.cfg 
 +    * BasePort = 51000 
 +  * session_browser_server.cfg 
 +    * SBSPort = 48851 
 +  * shard_unifier_service.cfg 
 +    * SUGlobalPort = 50503 
 +  * welcome_service.cfg 
 +    * SUPort = 50505 
 + 
 +<hidden>jeanluc@tomate:~/ryzomcore$ rgrep Port code/*/*/*.cfg 
 +code/nelns/admin_service/admin_service.cfg:WebPort = 49995; 
 +code/nelns/login_service/login_service.cfg:WSPort = 49999; // port for the welcome service connection (default is 49999) 
 +code/nelns/login_service/login_service.cfg:WebPort = 49998; // port for the web server (default 49998) 
 +code/nelns/login_service/login_service.cfg:ClientsPort = 49997; // port for the clients connection (default 49997) 
 +code/ryzom/server/admin_executor_service.cfg:ASPort="46701"; 
 +code/ryzom/server/admin_executor_service.cfg: "gw_aes.transportCmd aes_l3c(connect addr="+AESHost+":"+AESPort+")", 
 +code/ryzom/server/admin_executor_service.cfg: "asc_gw.transportCmd l3c(connect addr="+ASHost+":"+ASPort+")", 
 +code/ryzom/server/admin_executor_service.cfg: "aes_gw.transportCmd l3s(open port="+AESPort+")", 
 +code/ryzom/server/admin_service.cfg:ASWebPort="46700"; 
 +code/ryzom/server/admin_service.cfg:ASPort="46701"; 
 +code/ryzom/server/admin_service_default.cfg://ASWebPort="46700"; 
 +code/ryzom/server/admin_service_default.cfg://ASPort="46701"; 
 +code/ryzom/server/admin_service_default.cfg: "moduleManager.createModule AdminService as webPort="+ASWebPort, 
 +code/ryzom/server/admin_service_default.cfg: "as_gw.transportCmd l3s(open port="+ASPort+")", 
 +code/ryzom/server/ai_service.cfg:SUPort = 50505; 
 +code/ryzom/server/ai_service.cfg:SUAddress = SUHost+":"+SUPort; 
 +code/ryzom/server/backup_service.cfg:WebPort = 49970; 
 +code/ryzom/server/backup_service_default.cfg:ListeningPort = 49990; 
 +code/ryzom/server/backup_service_default.cfg:WebPort = 49898; 
 +code/ryzom/server/backup_service_default.cfg:// Port for the Layer 3 interface of the backup service 
 +code/ryzom/server/backup_service_default.cfg:L3ListeningPort = 49950; 
 +code/ryzom/server/backup_service_interface.cfg:L3BSPort = "49950"; 
 +code/ryzom/server/common.cfg:AESPort="46702"; 
 +code/ryzom/server/common.cfg: "gw_aes.transportCmd aes_l3c(connect addr="+AESHost+":"+AESPort+")", 
 +code/ryzom/server/dynamic_scenario_service.cfg:ASWebPort="46700"; 
 +code/ryzom/server/dynamic_scenario_service.cfg:ASPort="46701"; 
 +code/ryzom/server/dynamic_scenario_service.cfg:AESPort="46702"; 
 +code/ryzom/server/dynamic_scenario_service.cfg:SUPort = 50505; 
 +code/ryzom/server/dynamic_scenario_service.cfg:SUGlobalPort = 50503; 
 +code/ryzom/server/dynamic_scenario_service.cfg:L3BSPort = "49950"; 
 +code/ryzom/server/dynamic_scenario_service.cfg:L3SlaveBSPort = "49951"; 
 +code/ryzom/server/dynamic_scenario_service.cfg:L3MasterLGSPort = 49992; 
 +code/ryzom/server/dynamic_scenario_service.cfg:LGSBSPort = 49994; 
 +code/ryzom/server/dynamic_scenario_service.cfg:L3LGSBSPort = 49995; 
 +code/ryzom/server/dynamic_scenario_service.cfg:"gw_aes.transportCmd aes_l3c(connect addr=localhost:"+AESPort+")", 
 +code/ryzom/server/dynamic_scenario_service.cfg:SUAddress = SUHost+":"+SUPort; 
 +code/ryzom/server/dynamic_scenario_service.cfg:BasePort = 51400; 
 +code/ryzom/server/entities_game_service.cfg:AESPort="46702"; 
 +code/ryzom/server/entities_game_service.cfg:SUPort = 50505; 
 +code/ryzom/server/entities_game_service.cfg:SUGlobalPort = 50503; 
 +code/ryzom/server/entities_game_service.cfg:L3MasterLGSPort = 41292; 
 +code/ryzom/server/entities_game_service.cfg:L3SlaveLGSPort = 49993; 
 +code/ryzom/server/entities_game_service.cfg:SUAddress = SUHost+":"+SUPort; 
 +code/ryzom/server/entities_game_service_default.cfg: "glob_gw.transportCmd l3c(connect addr="+SUHost+":"+SUGlobalPort+")", 
 +code/ryzom/server/entities_game_service_default.cfg: "lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")", 
 +code/ryzom/server/entities_game_service_default.cfg: "lgs_gw.transportCmd slaveL3c(connect addr="+SlaveLGSHost+":"+L3SlaveLGSPort+")", 
 +code/ryzom/server/frontend_service.cfg:FSUDPPort = 47851; 
 +code/ryzom/server/frontend_service_default.cfg://FrontendPort = 47851; 
 +code/ryzom/server/frontend_service_default.cfg:ListenAddress = FSListenHost+":"+FSUDPPort; 
 +code/ryzom/server/input_output_service.cfg:AESPort="46702"; 
 +code/ryzom/server/input_output_service.cfg:SUPort = 50505; 
 +code/ryzom/server/input_output_service.cfg:SUGlobalPort = 50503; 
 +code/ryzom/server/input_output_service.cfg:L3MasterLGSPort = 41292; 
 +code/ryzom/server/input_output_service.cfg:L3SlaveLGSPort = 49993; 
 +code/ryzom/server/input_output_service.cfg:SUAddress = SUHost+":"+SUPort; 
 +code/ryzom/server/input_output_service_default.cfg: "glob_gw.transportCmd l3c(connect addr="+SUHost+":"+SUGlobalPort+")", 
 +code/ryzom/server/input_output_service_default.cfg: "lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")", 
 +code/ryzom/server/input_output_service_default.cfg: "lgs_gw.transportCmd slaveL3c(connect addr="+SlaveLGSHost+":"+L3SlaveLGSPort+")", 
 +code/ryzom/server/logger_service.cfg:LGSL3Port = 41292; 
 +code/ryzom/server/logger_service.cfg:"lgs_gw.transportCmd l3s(open port="+ LGSL3Port +")", 
 +code/ryzom/server/naming_service.cfg:BasePort = 51000; 
 +code/ryzom/server/session_browser_server.cfg:SBSPort = 48851; 
 +code/ryzom/server/session_browser_server.cfg:"moduleManager.createModule SessionBrowserServerMod sbs suAddr="+SUHost+":49999 listenPort="+SBSPort+" ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")", 
 +code/ryzom/server/shard_unifier_service.cfg:SUGlobalPort = 50503; 
 +code/ryzom/server/shard_unifier_service_default.cfg:    "glob_gw.transportCmd l3s(open port="+SUGlobalPort+")", 
 +code/ryzom/server/welcome_service.cfg:SUPort = 50505; 
 +code/ryzom/server/welcome_service.cfg:SUAddress = SUHost+":"+SUPort; 
 +</hidden> 
 + 
 +{{tag>Outils}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
en/serveur_tour.txt · Last modified: 2021/12/03 19:19 by 127.0.0.1

Licences Mentions légales Accueil du site Contact