The Unvanquished launcher, and an engine hotfix


Today we are pleased to announce version 0.1 of the Unvanquished Updater. And in addition, to tide you over until the coming major Unvanquished release, we have assembled the 0.51.2  hotfix release (see “The Unvanquished patch release” section below).

Unvanquished Updater v0.1 is available via the big blue buttons on the download page. The  updater (a.k.a. launcher) is now the recommended way to start Unvanquished. Before Unvanquished launches, you will see this splash:

Updater proposal flowchart by illwieckz
Flowchart by illwieckz detailing proposed enhancements to the updater. Since that time, its operation has become more complex.

Just wait a moment, and the game will automatically start, unless an update is found for the updater or the Unvanquished game.

Alternatively, click the settings button (gear in the top right corner) to change configuration or reinstall.

The launcher concept was already present in earlier versions, but only now is it fully realized. First of all, the entries in desktop menus (Windows Start Menu / Linux .desktop files / Mac Launchpad) now point to the updater, rather than the daemon executable.

Also quite importantly, it actually works 🙂. In previous editions, the launcher was really only usable on Linux. The Mac version simply did not work. On Windows, it was at least possible to start the game, but the user faced a UAC prompt (“Do you want to allow this app to make changes to your device?”) at every launch. Too annoying for everyday use, and even worse, this led to the game running as administrator.

In the new version, administrator privileges are requested only when needed (but note that admin is still always required for performing installation). Furthermore, when the updater is running as administrator, it knows how to start Unvanquished as a non-administrator process for the current user.

The Unvanquished patch release

Due to changes in OS libraries, the 0.51.1 binaries no longer run on some Linux and Mac machines. Therefore we have assembled the 0.51.2 hotfix release with binaries patched to avoid the problems. We already wrote about the Linux patch. The Mac patch consists of replacing the GLEW shared library with a newer one, which fixes this bug.

More updater improvements

Error handling

In previous versions of the updater, the UI typically froze or became unusable when an error occurred; it was often unclear what had happened. Now, errors are clearly indicated, for example:

Additionally, the launcher is resilient to network issues. For example, if it takes too long to check whether a new version exists, the updater shrugs, and proceeds to start the game (if installed).

Repair mode

It is something of a hidden feature from a UI perspective, but if you re-run the installation after having already installed (by clicking the settings icon on the splash screen and then installing), it will act as a “repair mode”. Any missing or incorrect files will be reinstalled, while thanks to the magic of hashing, it will not be necessary to download any files you already have.

This same logic means that if you use the updater to upgrade from 0.51.1 to 0.51.2, you will transfer a much smaller amount of data than if you had downloaded the universal zip.

unv:// URL opener

On Windows and Linux, we install protocol handlers which allow links beginning with unv:// to be opened from the browser. Thus, you can use unvanquished.net/servers and click the Connect links, as an alternative to the in-game server browser. In the latest updater version, Linux installation is improved so that the protocol handler works on more distros than before.

Others

  • Fixed Linux self-update function. If you are using the previous version of the updater on Linux, you’ll need to download the new one yourself, as this was broken in v0.0.5.
  •  Complete HTTPS support, used for all requests.
  • UI enhancements, for example visually indicating the disabled state of buttons.
  • When the Linux updater is run from a terminal, the game now runs successfully (instead of freezing) and is connected to the terminal.

Development

The Unvanquished launcher’s source repository can be found at github.com/Unvanquished/updater.