Ubuntu Installation

From Armagetron

Debian users

All of the instructions below should also just work fine for Debian systems. When you have to select your "Ubuntu Version", pick something reasonably old. Here's a list of them, with release dates. You'll also need to follow the complicated instructions, manually adding the ppa to sources.list.

Translation list:

  • for Debian 6 (squeeze), pick the 'maverick' Ubuntu build.
  • for Debian 5 (lenny), pick the 'hardy' Ubuntu build. Note that the -experimental package with trunk builds is not available and cannot be made available in any convenient way because both are missing libprotobuf.

Quick and Lazy: use binaries from our PPA

Preparing your System

Our Personal Packet Archive is here. Instructions how to activate it are there, too, but since this section is for the lazy, here's what you need to do: type

sudo add-apt-repository ppa:armagetronad-dev

into a console. This works for Lucid and up, so probably everyone by now. For hardy, there is still

The Complicated Way, for Hardy

First, you need to edit /etc/apt/sources.list and add the lines

deb http://ppa.launchpad.net/armagetronad-dev/ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main 
deb-src http://ppa.launchpad.net/armagetronad-dev/ppa/ubuntu YOUR_UBUNTU_VERSION_HERE main

YOUR_UBUNTU_VERSION_HERE is the short codename of your Ubuntu version, for example hoary, jaunty or karmic. Then, to avoid warnings about unknown signatures, you need to enter into a command line shell

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 98E6A0F3
sudo apt-get update

You only have to do the above steps once, you just may need to update the Ubuntu version whenever you upgrade your system (though I think that's handled automatically).

Installing the Stable Version

Is simple! To get the latest stable client, just enter the command

sudo apt-get install armagetronad

or, for the server,

sudo apt-get install armagetronad-dedicated

In the console. Your favourite package installation GUI should now also show our the armagetronad(-dedicated) packages. Your standard system update mechanism ("sudo apt-get update; sudo apt-get upgrade" for console freaks) will inform you when a new version is available. As soon as Ubuntu picks up our latest stable version into your distribution, the official Ubuntu build will replace our build.

Currently supported Ubuntu versions: Hardy Heron (8.04) and up.

Current Armagetronad version: 0.2.8.3

Future: at some point, we'll switch to 0.4 for the latest stable version; we'll have to leave older Ubuntu versions behind, then, they'll be stuck with 0.2.X. Those versions will still receive any bugfix updates we release, of course.

Other Versions

Other versions are distinguished by their package name. They do not share configuration data with the official releases or with each other so fatal bugs don't wipe out your precious instant chats (though you can make them share configuration by linking the ~/.armagetronad directories with each other if you wish) and can be installed in parallel without file system conflicts.

Armagetron Beta

consists of managed builds from stabilization branches, currently 0.2.8.3 leading to 0.2.8.3.2. Package names are armagetronad-beta(-dedicated). They should be reasonably safe to use for all purposes and any bugs they have anyway should be reported ASAP.

Armagetron Alpha

consists of automatic or early builds from stabilization branches, currently branch 0.2.8 leading to 0.2.9 (if anything). Package names are armagetronad-alpha(-dedicated). They may be a bit buggy, essentially like arbitrary snapshots from the stabilization branch. Use them if you want to help iron out bugs as early as possible before they enter beta builds. If you run servers with those builds, monitor them tightly for potential problems.

Armagetron Experimental

consists of builds from the trunk. New features may enter here any time in arbitrary broken state. Package name armagetronad-experimental(-dedicated). Use in production servers is not encouraged for anyone. Run those versions if you want to help shape new features before they get frozen in a bug-free, but useless state.

Armagetron Sty+CT

consists of builds from the sty+ct branch based on 0.2.8.Package name armagetronad-styct(-dedicated). This is the one with the crazy zone based game modes (shooting, ctf, styball) and limited scriptability.

Armagetron Sty+CT+AP

consists of the builds from sty+ct+ap branch based on 0.2.9. Package name armagetronad-styctap(-dedicated). This is the one with the functionality of sty+ct PLUS the features that aren't such as MAP/CONFIG_ROTATION, MAP/CONFIG_ QUEUING, teleport, death team zones for maps and many more!

Building from Source

Seen on forums written by ed:

grab some dependancies, make sure universe repos are enabled in your sources.list

For older Ubuntu Versions (<9.04)

Older versions don't have the versions of bzr available that are needed to fetch our current sources, so you need to point them to where they can get a good version. Add these lines to your /etc/apt/sources.list

deb http://ppa.launchpad.net/bzr/ubuntu hardy main
deb-src http://ppa.launchpad.net/bzr/ubuntu hardy main

then

sudo apt-get update

Get Dependencies

grab some dependancies, make sure universe repos are enabled in your sources.list (The code should all be typed on one line)

sudo apt-get install bison automake g++ python libxml2-dev libsdl2-dev libsdl2-image-dev
 libsdl2-mixer-dev libfreetype6-dev libftgl-dev libglew1.5-dev libpng12-dev libboost-dev 
libprotobuf-dev protobuf-compiler libboost-thread-dev

Checkout the latest 0.4 build from bazaar..

bzr co lp:armagetronad 
cd armagetronad

then compile...

./bootstrap.sh 
./configure
make 
sudo make install