How to release an update

From TheManaWorld
Jump to: navigation, search

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.

Preparation

Determine the list of files you want to include in your update. For files under git version control, a list of changed files can be determined using git diff --name-status A..B.

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. [[Category:Content Development]