A New Breed of MUSH Server


  • [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.

Updating Your Own Fork

If you are making custom code changes and have your own GitHub fork, you’ll need to update your fork to get the latest code from the main Ares repository. See upgrading forks.

Upgrade While Running

Many version upgrades can be done while the game is still running.

  1. Type upgrade in-game to commit any local changes and get the latest game code from GitHub. If you see any CONFLICT notices from the upgrade, you’ll need to edit the code on the server shell as explained in Resolving Conflicts below.
  2. Once any conflicts have been resolved, type upgrade/finish in-game to complete the upgrade.

Upgrade With a Restart

Some version upgrades require a game restart, particularly if game engine changes or there’s a major database update. Even if the version doesn’t require a restart, it’s still fine to do one. You’ll shut the game down, update the code, and then restart it. Total downtime should be a few minutes at most.

  1. Shut down the game using the shutdown command in-game or the web portal admin screen.
  2. Connect to the server shell and change to the aresmush folder.
  3. Use git commands or the bin/upgrade script to commit any local changes and get the latest game code from GitHub. If you see any CONFLICT notices from the upgrade, see Resolving Conflicts below.
  4. Type bin/startares to restart the game.

Important Note About Downgrades

Resolving Conflicts

Sometimes there may be conflicts between code that changed in the new version and code/configuration changes you’ve made yourself. When that happens, you’ll see a message during the upgrade like:

CONFLICT! Merge conflict in plugins/channels/channels.rb

You’ll need to edit the files in question to resolve the conflict. You’ll see lines like this where there are conflicts between your code and the main Ares code:

Some code.
<<<<<<< HEAD
your oriignal version will be in this section
the upgraded main Ares code will be in this section
>>>>>>> master

Edit the file manually to choose which version you want, and get rid of all the <<< >>> junk. The final file should look clean, like:

Some code.
your modified code

Sometimes, rather than dealing with the conflict it’s easier to just copy/paste the code for that file from GitHub and start fresh. Once you have the new main Ares version, you can redo your custom changes.

If you run into trouble resolving conflicts, don’t be shy about asking for help.