Logo Khaganat

Differences

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

Link to this comparison view

en:installation_d_un_serveur_de_patchs [2016/11/22 21:01] Domperssen:installation_d_un_serveur_de_patchs [2021/12/03 18:19] (current) – external edit 127.0.0.1
Line 6: Line 6:
 It's usually a fast and easy process ones configured. It's usually a fast and easy process ones configured.
  
-The patching commences when the client(on startup) compares it's own Lirria.version(residing in folder: /unpack or data?) file against the patch server(residing in: /patch_service/patch_game/Lirria.version). +===== How it works! ===== 
-IF the patch version(of this file) has a:  + value(bigger value), the client then receive the updated content +The patching commences when the client(**on startup**) compares it's own **Lirria.version**(residing in folder: ''/unpack'' or ''/data'') file **against the patch server**(residing in: ''/patch_service/patch_game/patch/Lirria.version''). 
-to it's folder: /unpack OR /data (or both depending on configuration). +**IF** the patch version(of this file) has a:  + value(**bigger value**), the client then receives the updated content 
-It then unpackes the "data" and installs it accordingly to the information given by the "patch".+to it's folder: ''/unpack'' __or__ ''/data'' (__or both depending on configuration__). 
 +It then **unpacks** the "data" and **installs** it accordingly to the information given by the "patch".
  
 To make all this happen, a procedure is needed for creating the files, support for the operations, and even a dedicated service(via Apache) must be in place for the connecting clients. To make all this happen, a procedure is needed for creating the files, support for the operations, and even a dedicated service(via Apache) must be in place for the connecting clients.
Line 84: Line 85:
 ~/patch_service$ nano patch_game/ryzom.xml ~/patch_service$ nano patch_game/ryzom.xml
 </code> </code>
- 
-Detailed "syntax explanation" of this file are given in another article: ([[https://khaganat.net/wikhan/en:syntaxexmlpatchserver|The syntax of the patch server .xml files]]). 
  
 And now, we will simply create the implementation of the file: '' patch_lirria.bnp '', intended for copying into the client data subdirectory: '' /user ''  to do tests. And now, we will simply create the implementation of the file: '' patch_lirria.bnp '', intended for copying into the client data subdirectory: '' /user ''  to do tests.
-Our configuration file will look like this:+ 
 +<WRAP center round info 90%> 
 +Now you need to(if you haven't done so already)edit the ryzom.xml file. 
 +This because the patch service needs to know WHAT files to offer to the client(as an update). 
 + 
 +Detailed "syntax explanation" about this file(ryzom.xml) are given in another article: ([[https://khaganat.net/wikhan/en:syntaxexmlpatchserver|The syntax of the patch server .xml files]]). 
 +It explains how to configure the file for proper operation. 
 +This guide will continue with the DEFAULT example below(and is only for testing purpose). 
 +</WRAP> 
 + 
 + 
 +Our(DEFAULT) configuration file will look like this:
 <code xml ryzom.xml> <code xml ryzom.xml>
 <xml> <xml>
Line 149: Line 159:
 </code> </code>
  
-<WRAP center round info 90%> 
  
-OBS: It is possible that you will encounter a warning during this operation, but it is not considered 
-a serious one(so just ignore it): 
- 
-WRN a8ded740 patch_gen_common.cpp 59 GeneratePatch <Unknown>: 'xdelta delta patch_game/empty patch_game/bnp/patch_lirria.bnp patch_game/patch/00000/patch_v1_00000.patch' failed with error code 256 
- 
-Of importance here is to get to the end: ''Generating client index: patch_game/patch/00000/ryzom.idx...'' 
-</WRAP> 
  
 === Creating the Release Note === === Creating the Release Note ===
-Now, let's continue and create a info file(at the root directory of the patch) that will serve to disseminate information about patched data. This will be a .php file.. and it will be able to receive different client informations:+Now, let's continue and create a info file(at the root directory of the patch) that will serve to disseminate information about patched data. This will be a .php file.. and it will be able to receive following client informations:
   * version: The patch version ;   * version: The patch version ;
   * lang: The language of the client ;   * lang: The language of the client ;
   * ca: The Shard connection   * ca: The Shard connection
   * startPage : <wrap tip>to define</wrap>   * startPage : <wrap tip>to define</wrap>
-So.. let's create a simple html file:+So.. let's create a simple php index file(with html content):
 <code bash> <code bash>
 ~/patch_service$ nano patch_game/patch/index.php ~/patch_service$ nano patch_game/patch/index.php
Line 189: Line 191:
 We will assume that you already have a functional Apache server, and that you just have created a new VirtualHost. If the "home" directory(of the user who manages the server) is named "compil", it must have these parameters(if not, needed to be adapted according to your own parameters): We will assume that you already have a functional Apache server, and that you just have created a new VirtualHost. If the "home" directory(of the user who manages the server) is named "compil", it must have these parameters(if not, needed to be adapted according to your own parameters):
  
-Our wish here is to have a simple address(without port for the patch server), which will be in the form of: +Our wish here is to have a simple address(with port for the patch server), which will be in the form of: 
 <code bash> <code bash>
-http://lirria.khaganat.net/patch+http://lirria.khaganat.net:43435
  
 (Our game server being installed at): http://lirria.khaganat.net (Our game server being installed at): http://lirria.khaganat.net
Line 243: Line 245:
  
 <code bash> <code bash>
-cd ~/patch_service && sudo chown -R compil:www-data patch_service | chmod g+w -R patch_service+cd && sudo chown -R compil:www-data patch_service | chmod g+w -R patch_service
 </code> </code>
  
Line 249: Line 251:
  
 We must then notify the customers that the patch number "1" is ready to be distributed. We must then notify the customers that the patch number "1" is ready to be distributed.
-This will be done by using the file ''Lirria.version''(There will be two including the one previously created) located in the directory ''patch'', served by Apache:+This will be done by using the file ''Lirria.version'' located in the directory ''/patch'', served by Apache:
 <code bash> <code bash>
 cd ~/patch_service && nano patch_game/patch/Lirria.version cd ~/patch_service && nano patch_game/patch/Lirria.version
Line 274: Line 276:
 <code xml|client_default.cfg> <code xml|client_default.cfg>
 PatchWanted          = 1; PatchWanted          = 1;
-PatchUrl = "http://lirria.khaganat.net/patch";+PatchUrl = "http://lirria.khaganat.net:43435";
 RingReleaseNotePath = "http://lirria.khaganat.net/patch/index.php"; RingReleaseNotePath = "http://lirria.khaganat.net/patch/index.php";
 </code> </code>
Line 298: Line 300:
 <code xml|client_default.cfg> <code xml|client_default.cfg>
 PatchWanted          = 1; PatchWanted          = 1;
-PatchUrl = "http://lirria.khaganat.net/patch";+PatchUrl = "http://lirria.khaganat.net:43435";
 RingReleaseNotePath = "http://lirria.khaganat.net/patch/index.php"; RingReleaseNotePath = "http://lirria.khaganat.net/patch/index.php";
 </code> </code>
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
en/installation_d_un_serveur_de_patchs.1479848460.txt.gz · Last modified: (external edit)

Licences Mentions légales Accueil du site Contact Inclusion