First Start Windows Installation Mac OS X Installation Linux Installation Network Play Configuration FAQ Redistribution

Linux Installation

General comments

All installation has to be carried out as root. Installation from a source archive is recommended, as Armagetron 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.

The executable should not be started directly, as it will not find its data files. Instead, call the scripts installed in /usr/local/bin.

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 2.95.3, sometimes I do tests with gcc 3.3 and gcc 3.2.2.

Required libraries

Installation

Source archive

Unpack the archive and change into the unpacked directory; type

./configure
gmake install
Everything will be copied to /usr/local/games/armagetron. Should there already be a version, make will fail; use gmake update. 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
armagetron --uninstall
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.

Binary RPM

Type

rpm -i filename.rpm
The RPM build is quite untested, so it may be that it has registered too many dependencies and you are not allowed to install it; you may use the additional switch --nodeps to ignore these errors. However, you may then end up with a broken installation.
The documentation can then found in /usr/share/doc/packages/armagetron. To uninstall, type
rpm -e armagetron

Source RPM

Type

rpm --rebuild filename.src.rpm
This should build binary RPMs suitable for your system in /usr/src/redhat/RPMS/i386 ( RedHat ) resp. /usr/src/packages/RPMS/i386 ( SuSE ); you may have to look into the other subdirectories of RPMS to find them. Proceed as described in the previous paragraph.
Alternatively, type
rpm -i filename.src.rpm
This should extract a source package in /usr/src/.../SOURCES you can handle like described in the first section. You can surely ignore all failed dependencies with --nodeps since the dependencies were all there when you built the package. ( It is possible, if not likely, that the automatic dependency generation of RPM produces junk. )

Binary archive

Unpack the archive and change into the unpacked directory; type

./install
Everything will be copied to /usr/local/games/armagetron. Type
armagetron --uninstall
to uninstall.

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/armagetron_dedicated and can be invoked by

armagetron_dedicated
If you want it to run in the background, start it with the command line
armagetron_dedicated --daemon

The dedicated server will read its configuration from /usr/local/games/armagetron_dedicated/config and ~/.armagetron/var.

Result

The contents of the installation directory should be something like this:

bin (the directory with the executables and scripts)
models (the directory for the cycle models)
sound (the directory for sound files)
textures (the directory for textures and the icon)
doc (the documentation you are just reading)
language (the game's text messages)
config (static configuration files)
var (game logs and custom configuration)

The system wide configuration is stored in /etc/armagetron (default) or /usr/local/games/armagetron/config, depending on your distributors choice.

Additionally, if you installed the moviepack/moviesounds from the addons page, you'll see the two directories

moviepack
moviesounds

containing ONLY files and no subdirectories. When you have run Armagetron, you'll see the additional files

highscores.txt,ladder.txt,won_matches.txt and won_rounds.txt (score statistics files)
user.cfg (Armagetron custom configuration file)

Inside ~/.armagetron/var, You may want to create your own configuration files

autoexec.cfg (config file read at every start)
inside ~/.armagetron/var or the config subdirectory for your custom modifications; that way, they don't get overwritten by the defaults the next time you install an update.

Command line switches

-h, +h, --help get help
-v, +v, --version print version number
--datadir systemwide data directory; read game data (textures, sounds and text) from this directory.
--userdatadir user data dir; try to read all game data from this directory first.
--configdir read game configuration (.cfg-files) from this directory.
--userconfigdir user configuration directory; try to read the configuration from here first.
--vardir save game logs, highscores and user configuration in this directory.
-f, +f, --fullscreen start in fullscreen mode
-w, +w, --window, --windowed start in windowed mode
-d, +d, --daemon allow the dedicated server to run as a daemon (will not poll for input on stdin)

The various directories you can set have the following impact on how the game loads and saves files.( Usually, you don't have to bother about it; there are reasonable defaults. But if you want to do some meddling with the data, these options are your ticket. )

Data

Sounds, textures and models will be first looked for in the directory specified with --userdatadir. If they are not found there or if --userdatadir was not used, they are looked for in the directory specified with --datadir. This directory defaults to the current directory if not specified.

Configuration

(I'll leave out the bits about "if option xxx is not set" from now on ) Configuration files are first looked for in --userconfigdir, then --userdatadir/config ( the dir passed to --userdatadir, appended with /config ), then --configdir and finally --datadir/config.

Logs and user configuration

Log files ( game results, the settings made in the in game menu ) are loaded from --vardir, then, if not found there, from --userdatadir/var and finally from --datadir/var. They are only saved in the first of these directories that was specified.

The starter scripts will use the options --datadir /usr/local/games/armagetron --userdatadir ~/.armagetron --configdir /etc/armagetron. So, your personal configuration will sit in ~.armagetron/var.

Play

Type

armagetron
as a normal user to play.

In case you want to install a permanent server: in /usr/local/games/armagetron_dedicated/rc.d is a a System V init script; putting soft link to it into /etc/init.d/... will start the server as the user "armagetron" as a background process when your system starts. Feel free to adapt it to your needs.


This document was created by Manuel Moos

Last modification: Tue Oct 14 09:46:43 CEST 2003

First Start Windows Installation Mac OS X Installation Linux Installation Network Play Configuration FAQ Redistribution