Upgrades

  • [manage]
  • [code]
  • [upgrade]

At some point there will be a new version of Ares code available and you’ll want to upgrade the code on the game server.

Basic Upgrades

There are a few special conditions that require advanced upgrade procedures.

Scenario Special Handling
Custom Code Changes See Upgrading With Custom Code Changes
Non-Standard Server See Upgrading With a Custom Environment
Release notes say “restart required” See Upgrade With a Restart
Release notes have an “Upgrade Notes” section. Follow the special instructions in the notes.

If none of those apply, upgrades are super easy.

From the web portal (in v0.54 and higher):

  1. Go to Admin -> Manage -> Upgrade.
  2. Select ‘Upgrade’.
  3. Check the output for errors.

-or- From the game (in your usual MU client):

  1. Type upgrade/start to do the first part of the upgrade.
  2. Check the output for errors.
  3. When the first part has finished and all errors resolved, type upgrade/finish to complete the upgrade.

Upgrade With a Restart

Some upgrades affect the core game engine and require that the game be shut down and restarted. The release notes or the upgrade process will tell you when a restart is required.

To restart the game:

  1. Type upgrade/start to do the first part of the upgrade.
  2. Check the output for errors. If there are any, you will need to resolve them first. See Resolving GitHub Conflicts or ask for help.
  3. When the first part has finished and all errors resolved, use the shutdown command in-game or Admin -> Manage -> Shutdown from the web portal to shut down the game. (See Shutting Down the Game for help.)
  4. Log into the server shell and run bin/startares from the aresmush directory. Alternately, you could reboot the entire server.

Upgrading With Custom Code Changes

When you start touching the core code (outside of community plugins or custom hooks), your upgrade process becomes more involved.

If you have your own GitHub fork, here’s how you upgrade:

  1. Update your fork to get the latest Ares code into your repository. This will vary depending on what tool you’re using, and you can find many GitHub tutorials online. The Using GitHub video tutorial gives an example walkthrough using GitHub Desktop.
  2. Make sure any conflicts are resolved. See Resolving GitHub Conflicts.
  3. Make sure your game is set up to pull code from your own fork. See Using GitHub if you
  4. Continue the normal upgrade process, using either the Basic Upgrade or Upgrade with a Restart depending on whether the upgrade requires a game restart.

If you are not using GitHub, you really should. When you have custom code, upgrades become nigh-impossible without GitHub, and you’re on your own if you attempt it.

Resolving Conflicts

When you change core code, there’s a risk that you change something that ALSO changes in core. This results in something called a “merge conflict”. For example - you changed a button from A to B, but core changed it from A to C. You’ll have to decide whether you want the button to be B, C, or some hybrid of the two.

See Resolving GitHub Conflicts for details.

Upgrading With a Custom Environment

Custom environments are not officially supported. The upgrade scripts are designed with the standard install environment in mind. If you have a custom environment, you may need to tweak paths (notably the standard install directories of /home/ares/aresmush and /home/ares/ares-webportal) or other commands.

Upgrading Community Contribs

Community contributions (plugins or themes) are upgraded independently from the main code. See Upgrading Plugins.

Upgrading the Server OS

See Server OS Upgrades.