Chapter 3. Upgrade

Table of Contents

CVAR Changes
Preparing to Upgrade
Shrubbot Conversion
Upgrade
After Upgrade

CVAR Changes

This section outlines CVARs which have changed significantly prior to Jaymod 2.1.4. If you are already running 2.1.4 then you should skip this section.

These CVARs will need to be updated in your server configs or these features may not work as expected.

g_censor

With release 2.1.0 and higher, g_censor is no longer a comma-separated list of words, and has changed to accept either { 0, 1 } to respectively { disable, enable } the censor feature.

The words list is now read from a censor.db located in the Jaymod directory. There is no practical limit to the number of words you can enter into this file. Jaymod expects one word per line, such as:

word1 
word2 
word3 
g_shrubbot

Prior to Jaymod 2.1.0 release, the Shrubbot feature of Jaymod was activated by setting g_shrubbot to the name of the shrubbot file. With release 2.1.0 and higher, this CVAR has changed to accept either { 0, 1 } to respectively { disable, enable } the shrubbot feature. The new equivalent file names are hardcoded to user.db and level.db and cannot be changed. If you fail to update this CVAR setting accordingly, shrubbot feature will be disabled.

g_xpSave

With release 2.1.0 and higher, g_xpSave no longer specifies a filename and has changed to accept { 0, 1 } to respectively { disable, enable } the XP-save feature. The reason for this is that XP data is now integrated into users.db.

Preparing to Upgrade

This section describes the pre-upgrade procedure.

  1. Check Minimum System Requirements.

    [Warning]Warning
    Older versions of ET may not work as expected, or may fail entirely. Using an older version is not recommended and is not supported.

  2. Shutdown server. For this example we will assume you are using the serverctl script bundled with Jaymod.

    [etserver]$ cd ~etserver/server1/
    [etserver]$ ./serverctl status
    [etserver]$ ./serverctl stop
    [etserver]$ ./serverctl status
    
  3. Backup Important Data. Before making any significant changes to your system, make sure to backup all your important data. Plan for the worst, hope for the best.

Shrubbot Conversion

This section is intended for server administrators migrating Jaymod from pre-2.1.0 to 2.1.4. If you have already migrated or migration does not apply, you should skip this section.

As of Jaymod 2.1.0 the data files have changed and are not compatible with older versions. In order to assist servers wanting to upgrade, we provide a Perl script which can convert most (not all) of the data from old shrubbot.cfg to the newer .db formats.

[Note]Note
The conversion script is written in Perl. Most LinuxOSX systems have this available and should be able to run the script. Windows systems typically do not have Perl available. You can either install Perl yourself, or find someone else (maybe a friendly Linux) whom you can trust and have run the script for you.

[Warning]Warning
Upgrades are only supported from Jaymod 2.0.X to Jaymod 2.1.4. Older versions may not convert as expected.

Data from shrubbot.cfg will be converted and placed into user.db and level.db. Other data found in .dat files is silently ignored and not converted.

Admin, level and permanent-ban records are converted. Temporary-ban records are not converted.

  1. Change to server's Jaymod directory as convert_shrub expects to find shrubbot.cfg in the current directory. Execute convert_shrub. The script usually has the correct file permissions and can find perl by itself on recent Linux systems, but for our example we will explicitly run it from your shell path.

    [etserver]$ cd ~etserver/server1/jaymod/
    [etserver]$ perl ~etserver/jaymod-2.1.4/linux/convert_shrub
    
  2. Examine the newly created .db files. The next time Jaymod server is launched it will read the files into memory. Then shutdown the server and the full (scrubbed) data will be written which is cleaner, and more rich than what convert_shrub can produce.

    [etserver]$ cd ~etserver/server1/jaymod/
    [etserver]$ less level.db
    [etserver]$ less user.db
    
  3. Rename shrubbot.cfg. This file is no longer required but is recommended to keep this file around if you want to compare the converted data. We rename it to show the file is no longer in use.

    [etserver]$ cd ~etserver/server1/jaymod/
    [etserver]$ mv shrubbot.cfg shrubbot.cfg.DISABLED
    

Upgrade

This section describes the main upgrade procedure.

  1. Extract Jaymod 2.1.4 distribution bundle available for download from http://jaymod.clanfu.org.

    [etserver]$ cd ~etserver
    [etserver]$ tar xzf jaymod-2.1.4.tar.gz
    
  2. Create a backup directory to hold files replaced during upgrade.

    [etserver]$ cd ~etserver/server1/
    [etserver]$ mkdir BACKUP
    
  3. Backup and copy new servercl script into place.

    [etserver]$ cd ~etserver/server1/
    [etserver]$ mv serverctl BACKUP/.
    [etserver]$ cp ~etserver/jaymod-2.1.4/linux/serverctl .
    
  4. Backup and copy new game server module into place.

    [etserver]$ cd ~etserver/server1/
    [etserver]$ mv jaymod/qagame.mp.i386.so BACKUP/.
    [etserver]$ cp ~etserver/jaymod-2.1.4/qagame.mp.i386.so jaymod/.
    
  5. Backup and copy new game server pak into place.

    [etserver]$ cd ~etserver/server1/
    [etserver]$ mv jaymod/jaymod-2.1.4.pk3 BACKUP/.
    [etserver]$ cp ~etserver/jaymod-2.1.4/jaymod-2.1.4.pk3 jaymod/.
    

After Upgrade

This section describes tasks that you must complete after the upgrade procedure.

Procedure

  1. Startup server. For this example we will assume you are using the serverctl script bundled with Jaymod.

    [etserver]$ cd ~etserver/server1/
    [etserver]$ ./serverctl status
    [etserver]$ ./serverctl start
    [etserver]$ ./serverctl status
    
  2. Remove the Jaymod 2.1.4 distribution bundle extract.

    [etserver]$ cd ~etserver
    [etserver]$ rm -r jaymod-2.1.4/