
                         Alien Arena 2011
                           Version 7.52

1. Scope

This document includes information about the GNU-Linux/Unix
version of Alien Arena 2011.  Custom options and other
information specific to Alien Arena are included here.

For general information, licensing, and contributers, see the
README.txt and license.txt documents (in the docs/ subdirectory
in the distribution archive).

For generic information about installation, see the GNU INSTALL
document.

The Alien Arena HomePage URL is:
  http://red.planetarena.org/
There are links there to the Alien Arena Forum and other helpful
Internet resources.  The Alien Arena IRC channel is now served
by:
  irc.planetarena.org
The in-game IRC connects to #alienarena there.

2. Summary of changes for version 7.52

There are no changes to the build and install procedure.

Besides bug fixes, 7.52 has these additions and changes:

  * Four new levels. New and improved models and textures.
  * Improved graphics effects, including vegetation shadowmapping.
  * A passworded stats account system for registering player names.
  * The client's network packet send rate is limited when running at
    higher video frame rates.
  * Bot improvements: Skill cvar can be set to 3 to force all bots to
    high skill. Hit scan weapon aiming accuracy is more reasonable.
  * A new game mode that is a hybrid of rocket arena and insta.
  * The server browser shows server configuration settings, which
    includes a flag for non-stock modified servers.

Some previous version changes affecting build and install:

  * The Open Dynamics Engine (ODE) is integrated with the main program;
    so libode is, optionally, not required. ODE is written
    in c++, so g++ and libstdc++ are required to build and link the
    integrated ODE.
  * A configure option to disable document installation was added.
  * An installation path for the icon, icondir, was added and the icon was
    renamed to alienarena.png.
  * The server terminal may be configured to support color output.
  * The dedicated server was renamed to crx-ded.
  * The game.so shared library and LIBDIR variable were eliminated.

3. Installation

Alien Arena uses OpenGL for 3D graphics rendering.  Alien Arena
can be played on many computers.  However, not all computers have
3D acceleration hardware and drivers with adequate performance
for 3D game play.  A proprietary driver, such as those from
AMD/ATI and NVidia, is usually needed.

If you are installing Alien Arena using your distribution's
package manager, follow their instructions.  Distributions
install the user's configuration in places other than the default
"~/.codered" directory.  This is important if you want to create
the "arena/autoexec.cfg" file to customize your settings.  Search
for "arena/config.cfg" to find the configuration directory.

If you are reading this, you may have already unpacked the
distribution archive (aka, "tarball") into your HOME directory.
Otherwise, the terminal command line for unpacking the archive
is:
  $ tar -xzf alienarena-<some version numbers>.tar.gz
Or, using the graphical file browser, right click on the file
name, and left click on "Extract Here."  Then follow the
instructions below to build the program.

If the installation fails, check the error message for required
software packages that may be missing.  Alien Arena uses: X11,
OpenGL, OpenAL 1.1, Ogg-Vorbis, cURL, FreeType2, and JPEG.  Some
major distributions have "dev" versions of the libraries that are
needed to build programs.  These are not installed by default, so
you may need to install them using your distributions package
manager.  Version 7.52 does not require the ODE library (it is
integrated).  There is a configure option to use the system ODE
library (see below.)

For Ubuntu and similar systems, see the topic, "Getting Required
Packages with Synaptic", below.

For advanced configure options, see the topic, "Custom Configure
Options", below.  It is not necessary, but it would be a good
idea to take a look at those.

Using the terminal, change to the "alienarena-7.52" directory and
enter these commands:
  $ ./configure
  $ make
  $ sudo make install

To run:
  $ crx

Command line options to crx are NOT standard.  There is NO
"--help".  They follow a format inherited from Alien Arena's
Quake 2 roots.  Command line options are the same as console
commands using a '+' character prefix.  The details are beyond
the scope of this document; but a simple example is:
  $ crx +set maxclients 10

By default, 'sudo make install' will install the game programs
and data like this:

  /usr/local/
    bin/
      crx
      crx-ded  (dedicated server)
    share/
      alienarena/
        arena/
        botinfo/
        data1/
      doc/
        alienarena/
          <various documents>
      icons/
        alienarena.png

When the program is run, a directory is created in the user HOME
directory.  Various kinds of data (config files, downloaded data,
custom bot setups) are written there.  The default directory name
is ".codered/".  That can be changed using an environment
variable, COR_GAME.

For example:
  $ export COR_GAME=/home/user/.alienarena

Current settings are stored in ".codered/arena/config.cfg".  For
custom settings, create a file, ".codered/arena/autoexec.cfg".
Details about settings are beyond the scope of this document.  Go
to the websites, the forum and the IRC channel for more
information.

Following installation, intermediate files generated by the build
may be removed using:

  $ make clean

To uninstall the program and data that 'sudo make install'
installed, run:

  $ sudo make uninstall

The uninstall procedure may not remove all files and directories.
Some manual removal may be required.


4. Getting Required Packages with Synaptic

Tools and packages required to build Alien Arena may not be
installed.  For Ubuntu and similar systems, installing them is
easy with the graphical Synaptic Package Manager.  Select the
following packages.  Other packages that these depend on will be
automatically selected for installation.  This list is based on
Ubuntu 10.10.

  build-essential
  libx11-dev
  libgl1-mesa-dev
  libxxf86vm-dev
  libxxf86dga-dev (optional)
  libopenal-dev
  libjpeg8-dev (or libjpeg62-dev)
  libvorbis-dev
  libcurl4-gnutls-dev
  libode-dev (optional)
  libfreetype6-dev


5. Troubleshooting Tips

When the game program exits, it stores settings in "config.cfg".
The default location for this file is
"/home/<user>/.codered/arena/", but it might be elsewhere
depending on your distribution.  Sometimes it helps to delete
config.cfg, and then re-enter menu settings.  For persistent
storage of custom settings, create a file named "autoexec.cfg" in
the same directory as "config.cfg".  Settings in "autoexec.cfg"
will override settings in "config.cfg".

If the game does not run smoothly, graphics settings may need to
be adjusted.  Also, a different or updated video driver may be
needed.  Enable the video frame rate display in the "Game
Options" menu by setting "display fps" to yes.  There are
settings in both the "Game Options" and "Video Options" sections
that affect performance.  The maximum frame rate is set with the
console variable ("cvar"), "cl_maxfps".  Sometimes lowering that
from the default "90" will help.  Get more information on the
Forum, Websites, and IRC channel.

If you have errors that output messages about "ODE", setting the
"ragdolls" option to off in the Game Options menu may help.

There are known sound problems related to PulseAudio and OpenAL
on some systems.  Check for for information on OpenAL
configuration using "~/.alsoftrc" in your distributions shared
doc directory.

The mouse may behave badly (always pointing up, for instance).
This can usually be fixed by setting the console variable (cvar),
"in_dgamouse", to zero.  Put this line into the "autoexec.cfg"
file:
  set in_dgamouse "0"
Alternatively, when building the program, use this configure
option:
  --without-xf86dga

For advanced users (if you do not know what this means, it is ok
to ignore it): Testing shows that some CFLAGS settings can give a
little performance improvement.  Add CFLAGS="<put options here>"
to the ./configure command.  Some to try, depending on system
hardware are:
  * -O3 (-O2 is the default)
  * -march=core2 or -march=native
  * -msse, -msse2, -msse3 or other sse options, and -mfpmath=sse
If you modify CFLAGS, you probably also want the "--disable-
silent-rules" configure option.


6. Custom Configure Options

Run './configure --help' for a list of options.  Note that many
of the options are built-in and some are not meaningful or useful
for Alien Arena.  Options are entered on the command line in the
usual way; the help output has the details.  Refer to the GNU
INSTALL document for general details.

To build the dedicated server only, use the following configure
option:
  --disable-client

By default, configure produces a status message giving
information on the configuration.  To hide that message, use:
  --disable-build-status

To rename the programs, use the standard configure option.  For
example:
  --program-transform-name='s/crx/alienarena/'

To install to a different location, use the standard configure
option.  For example:
  --prefix=/usr/local/games

To specify an installation location for the icon, use the
following option.
  --with-icondir=DIR

To use the system-supplied libode, rather than the integrated
ODE, use this option:
  --with-system-libode
Due to variations in the way libode may be built, this is may not
work.  It may be preferable to use the system library, however,
if it was built with double precision math.  If 'pkg-config
--cflags ode' returns -DdDOUBLE, it is probably safe to use the
system library.  The integrated ODE is built using these compile
options:
  * -DdDOUBLE
  * -DdTRIMESH_ENABLED
  * -DdTRIMESH_OPCODE
  * -DNDEBUG and -DdNODEBUG
Using a libode built with -DdSINGLE makes ragdolls excessively
"raggedy".  Other libode build variations will likely result in
program failure.

To disable installation of documents, use the following option.
  --disable-documents

The server terminal will output color if the following option is
used.  This converts Quake-style color codes to ANSI color
escapes.  (It is not enabled by default because some terminal
configurations may not support ANSI color escapes.)
  --enable-ansi-color

Other Alien Arena custom options are intended mostly for
developer use.  If you use them, it is assumed that you know what
you are doing.


7. Tools

Tools/fuse.tar.gz contains a game server browser.  See documents
in that package for details.

Tools/LinuxScripts contains tools for server management.  See the
README there for details.


8. Alternate Install

This configures the installation to use the "traditional", single
directory, in-place install.  It does not define DATADIR, and the
executables need to be in the top game directory.  Normally, this
install would be done somewhere in your HOME directory.  Root
privileges would not be required to write the game data.  The
configure option for renaming of the executables is not
supported.

If you are a map-builder, you should use this option.  Some
mapping tools may not work with the "standard" install.

If you regularly update to the latest development code from the
Subversion Repository, you may prefer this option.

The two install methods are not mutually exclusive.  With some
care, it is possible to use both.

The configure option is:
  --enable-alternate-install

Following the usual 'make', it requires

  $ make install-alternate

This just copies the executables to the top game directory.  The
effect of using any other 'install' make target is "undefined".
