Armagetron Advanced: Documentation
Author: Manuel Moos

First Start | Installation | Network Play | Configuration | FAQ | Redistribution

# Installation

## General comments

All systemwide installation has to be carried out as root. Installation from a source archive is recommended, as Armagetron Advanced will be tailored for your system and missing libraries will be identified and pointed out to you. Only as a last resort, you should choose the binary archives. The binary RPMs and Debian packages are a reasonable choice if your system supports them and you can get hold of the corresponding library packages in the right versions.

It is very important that Armagetron and all of its dependencies are built with the same compiler. The different versions of gcc tend to be slightly binary incompatible with each other, and on complex projects like this one these small glitches tend to cause unexplainable problems. The distributed binaries are compiled with gcc 3.3, and we test source compatibility with 3.4 and 4.0 regularly. Yes, theoretically the binary interface for C code (ABI) did not change, but be prepared for problems nevertheless.

## Required libraries

- LibXML2 version 2.6.0 (some binaries: 2.6.12) or later for map file parsing
- OpenGL or Mesa for rendering
- SDL version 1.2.x (Simple Direct Media Layer) for input and sound output
- SDL_image version 1.2.x for the textures which itself needs the libs
- pnglib and zlib (they should be included in your distribution)
- Optional: SDL_mixer
- Binary versions only: libstdc++.so.6 (any version that came with your System if it uses GCC 4.1 or higher should do).

## Installation

### Source archive

Unpack the archive and change into the unpacked directory; type

    ./configure
    gmake install

Everything will be copied to /usr/pkg/games/armagetron. Should there already be a version, it will be overwritten (see the section on multiple versions if you want to keep your old version around). If gmake is not found on your system, try make; however, only GNU make is supported. To build the dedicated server, add the option --disable-glout to the configure script. To change the installation path, use the option --prefix=new_path. Type

    uninstall-armagetronad-0.2.9.0.1

to uninstall.

Please report it if this procedure gives you errors you cannot resolve; the goal is to make it work on as many systems as possible.

### Non-Root install

You have the option to install the game as a regular user in your home directory. To do so, use the --prefix directive of rpm or the configure script to point to a place in your home directory, i.e.

    ./configure --prefix /home/username/usr

You can then start the game with

    /home/username/usr/bin/armagetronad

or, if you add /home/username/usr/bin to your executable search path, like normal.

### Multiple versions

If you give the additional option --enable-multiver to configure, all installation directories and executables will get the suffix 0.2.9.0.1. Symbolic links will be created to your convenience. This allows to install multiple versions in parallel, where armagetronad will always start the last installed version.

## Dedicated Server

To install the dedicated server from binaries, follow all the procedures above with the corresponding download files; the server will be installed in usr/local/games/armagetronad-dedicated-dedicated and can be invoked by

    armagetronad-dedicated-dedicated

Use the --disable-glout option of configure to build a dedicated server when you are installing from source.

An init.d style start/stop script called armagetronad-dedicated will be installed into /etc/init.d, so you can use your standard system utilities to let it be started at boot time. By default, it runs the server under the userid armagetronad-dedicated-dedicated (which gets created at installation) and logs activity in /var/games/armagetronad-dedicated-dedicated. You can change these settings in the configuration file /etc/armagetronad/rc.config. Unfortunately, the only way to give commands to the server when it is run this way is to put them into everytime.cfg which is read every round or through the ingame admin.

## Play

Type

    armagetronad

as a normal user to play.

This document was created by Manuel Moos

Last modification: 2026-08-12

First Start | Installation | Network Play | Configuration | FAQ | Redistribution