Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

  • patch_game/ 
    • bnp - put your .bnp files here
    • patch - this will have generated patch files. copy these to web server
    • ref - patch_gen work files
    • game.hist
    • game.xml

 

Generate Patch

Copy updated .bnp files to patch_game/bnp and run:

Panel
patch_gen updateProduct patch_game/game.xml 

Example XML

Code Block
<xml>
    <_Categories>
      <_Category>
          <_Name type="STRING" value="main"/>
          <_IsOptional type="SINT32" value="0"/>
          <_IsIncremental type="SINT32" value="0"/>
          <_Files type="STRING" value="main.bnp"/>
          <_Files type="STRING" value="sound.bnp"/>
          <_Files type="STRING" value="textures.bnp"/>
      </_Category>
      <_Category>
          <_Name type="STRING" value="unpacked"/>
          <_IsOptional type="SINT32" value="0"/>
          <_UnpackTo type="STRING" value="./"/>
          <_IsIncremental type="SINT32" value="1"/>
          <_Files type="STRING" value="exedll.bnp"/>
      </_Category>
      <_Category>
          <_Name type="STRING" value="optional"/>
      </_Category>
 </_Categories>
 <_IndexFileName type="STRING" value="game.hist"/>
 <_PatchDirectory type="STRING" value="patch_game/patch/"/>
 <_BnpDirectory type="STRING" value="patch_game/bnp/"/>
 <_RefDirectory type="STRING" value="patch_game/ref/"/>
 <_NextVersionFile type="STRING" value="patch_game/ryzom_open.version"/>
</xml>
 
<_Files> node in each category will tell which .bnp files are being tracked.

Directory entries or IndexFileName can also be absolute like bnp's in 'r:/game/ryzom/data', patch will be put to 'w:/webroot/patch_game' and history is kept in 'c:/game.hist'

External Tools

You will need two additional external tools to facilitate generating the patches.

Warning

On Windows 7 environments you may need to enable compatibility. To do this:

  1. Right click on xdelta.exe and choose Properties
  2. Navigate to the Compatibility tab.
  3. Check "Run this program in compatility mode for" in the "Compatibility Mode" section.
  4. Choose "Windows XP (Service Pack 3)"
  5. Click OK.
  6. Run xdelta.exe and confirm that you wish to allow the program to make changes to your system.

 

 

Patch Generated

1. Create a folder inside the client directory and name it "unpack".
2. Place the ryzom_00000.idx inside the "unpack" folder created in step number one.
The 5 digits is the server version, if your server version is 1 you will have to replace 000000 to 00001
3. Open your favorite database editor and click on "nel" then click the table "domain".
4. There's a domain with the id of 12, click to edit the fields patch_version.
5. replace "patch_version" with the version of your server version, in this case it would be 0, click save.

6. Make sure to change your client cfg file to "PatchWanted = 1;" 
7. Open the client and watch it patch your client files!

 

Build

...

Client for patching

Tip

Your client

...

must be

...

built in with FINAL_

...

Edit the code to allow you to specift the patch server

...

VERSION enabled.

You will need to modify the client source code to enable the client, when built in FINAL_VERSION, read the patching variables from the configuration file. In FINAL_VERSION the client will ignore these configuration variables by default.

  1. Edit code/ryzom/client/src/client_cfg.cpp

...


 

...

  1. And add the following:

    Code Block
    READ_STRING_FV(RingReleaseNotePath)
    READ_STRING_FV(ReleaseNotePath)

...

  1. Configure the client_default.cfg with the appropriate URLs:

    Tip

    PatchServer should be the URL to the patch_game directory.

    Panel
    borderStyledashed
    PatchServer = "http://

...

  1. 127.0.

...

  1. 0.

...

  1. 1:43435/patch";

...

  1. RingReleaseNotePath 

...

  1. = "http://

...

  1. 127.0.

...

  1. 0.1:43435/patch/index.php";

...

 

...

  1. RingReleaseNotePath is the

...

  1. URL to your release notes file

...

  1. . The client does pass a $ver value so you can use that

...

  1. to have different notes per version

...

  1. for example in a

...

example file:

...

  1. PHP file. Here's an example:

    Code Block
    languagehtml/xml
    titleRelease Notes: index.php
    <html>
      <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"

...

  1. >
      </head>
      <body>
        <h1>Saturday, Febuary 25 2012</h1>
    
        <h2>RELEASE</h2>
        <p>After much work and a few years we are proud to present the first official release of 

...

  1. Ryzom Core.</p>
        <br>
      </

...

  1. body>
    </html>

...