« Previous -
Version 8/14
(diff) -
Next » -
Current version
Botanic, 02/23/2012 11:16 pm
PatchGen¶
First generate new product by running
patch_gen createNewProduct patch_game/game.xml
that creates default directory layout and xml files
Directory layout¶
* patch_game/ * patch_game/bnp - put your .bnp files here * patch_game/patch - this will have generated patch files. copy these to web server * patch_game/ref - patch_gen work files * patch_game/game.hist * patch_game/game.xml
Generate patch¶
Copy updated .bnp files to patch_game/bnp and run
patch_gen updateProduct patch_game/game.xml
xml file¶
<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=""/>
</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¶
lzma.exe can be found from http://www.7-zip.org/sdk.html
xdelta.exe from http://evanjones.ca/software/xdelta-win32.html
Warning!
On Windows 7 environments you may need to enable compatibility. To do this:- Right click on xdelta.exe and choose Properties
- Navigate to the Compatibility tab.
- Check "Run this program in compatility mode for" in the "Compatibility Mode" section.
- Choose "Windows XP (Service Pack 3)"
- Click OK.
- 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!
Patch using Web Services¶
1. By default the patch server uses port 43435. The complete footer specified by the fronted_service_default.cfg is :43435/patch.
2. Add new virtual host to httpd-vhosts.conf
Listen 43435
<VirtualHost *:43435>
<Directory "C:\ryzom_core_build\client_patch\patch">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
DocumentRoot "C:\ryzom_core_build\client_patch\patch"
ServerName localhost
</VirtualHost>
3. Copy generated patches to the DocumentRoot you specified.
- Create a new file in patch dir called "ryzom_open.version"
- Inside the new file put current version # space current version # line return
1 1
- make sure all patch files (.idx & _debug.xml) start with ryzom_5 digit patch #
ryzom_00001.idx ryzom_00001_debug.xml
- Open your favorite database editor and click on "nel" then click the table "domain".
- There's a domain with the id of 12, click to edit the fields patch_version.
- Replace "patch_version" with the version of your server version, in this case it would be 1.
- Replace "patch_urls" with the url of the PatchServer, in this case http://127.0.0.1:43435 , click save
6. Add IP/URL of web server to Client_default.cfg in the client directory.PatchServer = "http://127.0.0.1:43435"; PatchWanted = 1;
7. Start client and login. Patching should commence.

