Guides › Server

Updating LonelyIce and packages

Before you start

  • Make a backup: Maintenance › Backups › Back up now (Backups and restoring).
  • Stop the server and close the game. Plugins and databases only change while the server is off.

Updating LonelyIce itself

LonelyIce does not update itself. A new version is a new download that you unpack over the old one.

  1. Quit LonelyIce completely: Quit in the tray menu, or close the window when it does not minimize to the tray.
  2. Unpack the new release into the same folder and let it replace the files there: LonelyIce.exe, the libraries beside it, worldserver.exe, authserver.exe, the setup folder and the plugins that come with the release.
  3. Start LonelyIce.exe.

Keep these when you replace the files; they are yours, not part of the release:

Keep What it is
lonelyice.ini (next to LonelyIce.exe) the launcher's settings: game folder, server folder, storage, backups, catalogs
the server folder (configs, db, data, logs, backups) your settings, databases, game data and backups; it is next to LonelyIce.exe only if you chose that in the wizard
plugins (next to LonelyIce.exe) the packages you installed, including disabled ones in plugins\.disabled

If you unpack the new version into a different folder instead, copy lonelyice.ini and the plugins folder into it (and the server folder, if it was next to the old LonelyIce.exe).

New database updates

A release can bring updates for the databases in setup\sql.pak. When the launcher sees a sql.pak that differs from the one your databases were built from, the Events list shows:

setup\sql.pak has new database updates: they are applied when the server starts.

You do not have to do anything else. The next time you press Start or PLAY (or the server starts with the launcher), the launcher first brings the databases up to date: the wizard's install page opens with the Databases step alone, the Events list says "Bringing the databases up to date before the server starts", and when it is done the page closes by itself ("Databases are up to date") and the server starts as usual; with PLAY the game follows. Your accounts, characters, realm name and settings stay as they are.

If the update fails, the message names the part that failed; the details are in the logs folder of your server folder. Retry runs it again; closed after a failure, the page drops the start, and the next start tries again.

This works for server folders the wizard set up. With databases on a database server, the update runs on that server.

A new version can also change a server setting once, on its first start: this is how existing installations got EnablePlayerSettings = 1 in worldserver.conf, which lets plugins such as Transmogrification remember each character's choices. If you change such a setting back afterwards, it stays as you set it.

Running the wizard again

You can still open Maintenance › Server data › Setup wizard… on an existing installation, for example to build the navigation maps later. It does not reset anything:

  • The Realm step starts from your current Realm name, Rates and Random bots. They are changed only if you change them there.
  • When the databases exist, the account fields may stay empty ("leave login and password empty to keep your accounts as they are"). A login you enter is added if it does not exist; an account that exists keeps its password and rights. When the databases need no update, the account fields are not shown at all.
  • Parts that are already in place, such as vmaps, are not built again.

Updating packages

Packages (plugins) update from the Plugins page:

  1. Stop the server.
  2. Open Plugins › Updates. Check for updates reloads the catalogs; Update updates one package, Update all every enabled one that has a newer version.
  3. Start the server.

The main page also tells you when updates exist ("Plugin updates available: 2"), and the Plugins button shows their number. From the command line:

LonelyIce.exe --pkg update
LonelyIce.exe --pkg update lonelyice.qol

An update replaces the plugin's folder. Your settings for the plugin are in configs\modules in the server folder and stay as they are. An update is all or nothing: if a download or a check fails, or a folder cannot be replaced, every plugin stays at the version it had (Installing packages).

The catalog offers only packages built for your version of LonelyIce. After you update LonelyIce itself, check Updates on the Plugins page: packages built for an older version are not loaded by the new server (see Troubleshooting).

What happens on the next server start

Installing, updating, enabling, disabling or removing a package changes only files. The launcher says "Databases and the client follow on the next server start", and this is what the next start does:

  • Plugin SQL. When the set of plugins or the contents of their SQL files changed since the last start, the server applies the plugins' SQL to the databases. The log shows "Plugins changed since the last start: applying their SQL". Only files that were not applied before run; a file whose contents changed is looked at again.
  • Game table patches. Plugins that change game tables (spells, items and the like) get their changes applied; the changes of a plugin that is gone or disabled are taken back. A disabled plugin keeps its ids, so enabling it again brings back the same spells and items.
  • Client patch. When the launcher knows your game folder, the server also rebuilds the client patch that carries those changes to the game. A patch-<language>-4.MPQ of your own that LonelyIce did not write is kept as .bak (or .bak2, …) instead of being overwritten.
  • Add-ons. When you press Play, the launcher copies the add-ons of your plugins into the game ("Preparing the client: plugin add-ons…") and removes the ones no plugin needs any more.

Removing a plugin does not remove the tables its SQL created; they stay in the databases, unused.