How to release an update
From TheManaWorld
This article is for reference purpose
The features described in this article are already implemented in the game. The article should describe how a certain aspect of the game currently works. You may of course edit this article to improve the description of the circumstances. Your opinions or improvement suggestions about the described aspects themself are of course appreciated, too. But please put these on the discussion page of this article to keep facts and fiction separated.
This article assumes that you're familiar with our update system.
Contents |
Preparation
Determine the list of files you want to include in your update. For files under version control, a list of changed files can be determined using svn diff --summarize -r A:B (Subversion 1.4 and newer).
Creating the archive
Create a .zip file which contains the updated files. The contents should be considered inside the data directory, so primary directories are maps, graphics, etc.
On Linux the easiest thing to do is probably to put the list of files to update in a file. A zip file can then be easily created using the following command:
# Go to the directory containing the data files cd data # Add the list of files to update to a .zip file cat filelist | zip -@ update.zip
On Windows it is probably easier to put all the updates in their own directory hierarchy, and zip up that.
Upload the archive
The client downloads updates from http://updates.themanaworld.org/ by default. The updates are hosted on Platyna's server and Bjørn or ElvenProgrammer can update files on request.
Update the resources file
The list of updates to download is retrieved from http://updates.themanaworld.org/resources2.txt. The name of the archive should be added to the end of this file together with its adler32 checksum. A simple tool is available to make this task easier (adler32.c). It can be used on the update server as follows:
adler32 new-update.zip >> resources2.txt
Finally, test your update by logging in with the client and verifying that your update was indeed effective.
Also, be sure to check whether the new update obsoletes any previous ones on the updates analysis page.
