Alien Arena 2011 Version 7.53 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. 2. Resources 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 (Internet Relay Chat) channel is now served by: irc.planetarena.org The in-game IRC connects to #alienarena there. There is a Server Browser on the Web at: http://chaingun.org/alienarena/tools/browser/ There is a Subversion (SVN) repository for Alien Arena. See the topic "Getting Alien Arena from SVN" below. 3. Changes for version 7.53 The Autotools build uses autoconf 2.68, and automake 1.11. The m4 macros are updated and configure.ac modified accordingly. There are no major changes to the build procedure from earlier 7.5x versions. The complete version 7.53 changelog is available at: http://icculus.org/alienarena/changelogs/7.53.txt Following are some highlights. Visual and performance improvements: * Significant performance increases on high settings from extending implementation of VBO (Vertex Buffer Objects). * IQM and MD2 model rendering improvements. * Grass/vegetation rendering improvements. * Model precaching improvements. Game-related updates: * New CTF map based on dm-zion2k9: ctf-zion2k9 * New TCA map, tca-invasion, derived from ctf-invasion using new entity definition feature. * Improvements to bot AI navigation, aiming and movement. * CTF scoring improvements. * Speed-hack detection (sv_enforcetime) improvements. * Optional player lights ("DM Lights") for non-team games. Other: * Additional video resolutions in menu and other menu additions. * Player password account system and statistics improvements. * Client to server packet rate limit lowered to approx. 60 pps. See the section "Notes about Console Variables" below. There are some new and changed "cvars". 4. 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. 5. Requirements Alien Arena uses OpenGL for 3D graphics rendering. Not all computers have 3D acceleration hardware and drivers with adequate performance for 3D game play. While some systems may perform ok with open source drivers, a proprietary driver, such as those from AMD/ATI and NVidia, is often needed. The Video Settings menu may be used to override the automatically selected performance level. Online performance will vary depending on the network connection between the client and the server. Servers with *lower* ping will usually perform better. Playing online may require firewall configuration. These ports are used by the program: * UDP 27900 for the master server. Used for getting server list. * UDP 27901 for the client. * UDP 27902 for account/stats system password validation. * UDP 27910 is the default for a server, but is often configured otherwise. * TCP 6667 is the default for in-game connection to the IRC channel. The cURL library is used to retrieve map resources, player ranking information, and current version information from these URLs: * http://icculus.org/alienarena/sv_downloadurl * http://stats.planetarena.org * http://red.planetarena.org/version/crx_version 6. Installation 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. Two installation alternatives are PlayDeb and Desura. If using those, follow their installation procedures. PlayDeb is at http://www.playdeb.net/. Desura is at http://www.desura.com/. The version available with a distribution or the game distribution services may not be the latest. 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.53 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.53" directory and enter these commands: $ ./configure $ make $ sudo make install To run: $ crx In the menu, Single Player will run a simple pre-configured local game. For more single player options, go to the Host Server menu. Setting "public server" to no will keep your local game from being broadcast with the master server list. For multiplayer, online play, first enter your player name and a password in the Player Setup menu. Then go to the Join Server menu to find a Server. (Yes, we know the menu system needs updating and there are plans to do that.) 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. 7. 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 8. Notes about Console Variables (cvars) New or changed server cvars: * sv_enforcetime - setting to 1 enables speed hack detection. (May give false positives.) * skill - for bot skill. setting to 3 forces all bots to skill level 3. * insta_rockets - a game mode combination of Instagib and Rocket Arena. * g_dm_lights - 1 enable, 0 disable DM Lights. New client cvars: * gl_usevbo - enables the use of Vertex Buffer Objects for better performance. * cl_dmlights - 1 enable, 0 disable DM Lights when enabled on server. Alien Arena is based on Quake games. Many of the cvars are the same as Quake 2. More information can be found on the Forum and on the Web. 9. Troubleshooting and Configuration 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 with some versions of those sound drivers. Check for for information on OpenAL configuration using "~/.alsoftrc" in your distributions shared doc directory. If you have a high resolution mouse, you may need to set the mouse sensitivity cvar. The cvar name is "sensitivity" and it may be set to fractional values between 0.0 and 1.0. Use the console to determine the value, then put it in autoexec.cfg. 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. 10. 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. 11. 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. 12. 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". 13. Getting Alien Arena from SVN The repository has the latest development version of Alien Arena. It contains tools and other resources that are not a part of the regular distribution. The SVN repository may be browsed at: http://svn.icculus.org/alienarena/trunk/ Anonymous read-only checkout is available using this command: svn co svn://svn.icculus.org/alienarena/trunk alienarena More information about Subversion may be found at: http://subversion.apache.org/