Você está na página 1de 5

Client update system.

Short manual.
1) Usage commands. ./cpw show this list ./cpw install install this software ./cpw rsagen regenerate RSA keys ./cpw x executable patch executables with public RSA key ./cpw initial create a base build ./cpw new [revision_number] create new patch with next or revision_number version ./cpw revision [revision_number] create new patch with next or revision_number version ./cpw listgen regenerate filelists ./cpw listupdate regenerate filelists Structure of client update process can be found here http://dev.gouranga.ru/viewtopic.php?f=7&t=6 (Russian). 2) What we have to do to run patch server? Unpack dist archive, setup the program. Sign with our RSA keys patcher.exe and launcher.exe. Create a base build. Thats all! 3) Setup process. First of all, create MySQL table and user. To start installation process start program with install command, reply to program answers and wait while it create keys and database structure. [INFO 2009-10-26 18-00-33] Installing... [INFO 2009-10-26 18-00-33] Creating rsa keys... Loaded public key: Loaded private key: [INFO 2009-10-26 18-00-33] Saving keys. [INFO 2009-10-26 18-00-34] Input mysql server (eg, localhost): localhost [INFO 2009-10-26 18-00-39] Input mysql login (eg, pwu): pwu [INFO 2009-10-26 18-00-43] Input mysql password (eg, superpuperpassword): yoursuperpassword [INFO 2009-10-26 18-00-45] Input mysql database name (eg, pwu): pwu [INFO 2009-10-26 18-00-47] Saving config. [INFO 2009-10-26 18-00-47] Creating table. [INFO 2009-10-26 18-00-47] Install complete. Now unpack your client using provided instuctions. Afterwards place unpacked files under files/new/ 4) Upload your client to our patch server with your preferred way.

For base build createment I recommend clean client. You can download some of them at my forum http://dev.gouranga.ru/viewtopic.php?f=5&t=57 . Client can be uploaded in two distributions: fully unpacked (goto 6 to see what I mean) or packed (my choice). For unpacked client upload I recommend using 7zip archive. It saves filenames in UTF32-encoding, this will save our Chinese filenames. Do not forget to fix links under patcher/server/updateserver.txt and element/userdata/server/serverlist.txt ! 5) Signing of patcher.exe and launcher.exe. Place patcher.exe and launcher.exe to the root of program folder. Run these commands (Attention! OS Linux is register-safety!): ./cpw x patcher.exe ./cpw x launcher.exe 6) Client unpack. To unpack under Linux youll need wine. Install it from repository. After that you can run following commands separately:
find . -depth -type f -name *.pck -exec wine pwpack.exe -x {} \; find . -depth -type f -name *.pck -exec rm -f {} \;

Updateserver, like a client, consists of three folders: patcher, launcher, element. You need to perform unpacking of each one to its mirror under files/new/. Ex, file loginpage.ini from pack configs.pck will be here: files/new/element/configs/loginpage.ini.

Screenshot below shows how patchdir need to be look like. File output.txt is a sample of adding a file to a client. This way you can add your links to website and donate. Theres no way to add new pck-archive! The most difficult part is pck-archives in subdirectories they need to be unpacked properly. Examples of such files are reportbugs/Bug.pck and help/script.pck. Contents of these files needs to be unpack like the sample: file help/script.pck/help/script/list.txt should be placed under help/script/list.txt. Watch third screenshot for details.

# elements: <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR>

bbsfiles building configs cursors data facedata fonts gfx grasses help info interfaces litmodels loddata maps a01 a02 a03 a04 a05 a06 a07 a08 a09 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21

<DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> 5.750.784 716.800 135.168 196.608 24.576 450.560 258.352 72.704

<DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR> <DIR>

models music reportbugs sfx shaders surfaces textures trees userdata elementclient.exe elementskill.dll ftdriver.dll ifc22.dll immwrapper.dll speedtreert.dll unicows.dll zlibwapi.dll

a22 a23 a24 a25 a26 a27 a28 a29 a31 a32 a33 b01 b05 b06 b30 login world

Folder /files/new/element/ doesnt have to contain any package!

7) Base build. Afterwards unpacking youll need to create a base build of the patch-server. The process can take a long time (70000 files and MySQL querys!). After you done this, goto config/patcher.conf and change remove-files to true. This will remove this files next time. ./cpw initial 8) Final steps. Now you need to grand user an access. This is regulary done by nginx or Apache. Ex, Apache only needs a symbolic link to files/CPW/ in your site root. After that, create files/CPW/info/ folder and place there file named pid, containing the number from clients patcher/server/pid.ini file, usually 101 or 131. 9) Patch creation. New files must be placed under files/new/ . You can place files that are already in the server theyre checked with md5. ./cpw revision

Você também pode gostar