~vitty/armagetronad/trunk-armagetronad-breakpad

« back to all changes in this revision

Viewing changes to doc/installation.txt

  • Committer: nemostultae
  • Date: 2006-11-26 23:45:44 UTC
  • Revision ID: svn-v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs:7d95bf1e-0414-0410-9756-b78462a59f44:armagetronad%2Ftrunk%2Farmagetronad:6373
Converted installation doc to reStructuredText.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
:Copyright: 2006 The Armagetron Advanced Developer Team.
 
2
 
 
3
.. contents::
 
4
 
 
5
==============
 
6
 Installation
 
7
==============
 
8
 
 
9
-------
 
10
Windows
 
11
-------
 
12
 
 
13
Run the executable, select a directory to install Armagetron Advanced into and
 
14
enjoy. Start menu entries and a desktop shortcut will be created for you. To
 
15
uninstall, start the uninstaller from the start menu.
 
16
 
 
17
--------
 
18
Mac OS X
 
19
--------
 
20
 
 
21
1. Mount the armagetronad-*version*.macosx.dmg disk-image.
 
22
 
 
23
2. Drag the “Armagetron Advanced” application to any location on you
 
24
hard-drive.
 
25
 
 
26
-----
 
27
Linux
 
28
-----
 
29
 
 
30
All systemwide installation has to be carried out as root. Installation from a
 
31
source archive is recommended, as Armagetron Advanced will be tailored for
 
32
your system and missing libraries will be identified and pointed out to you.
 
33
Only as a last resort, you should choose the binary archives. The binary RPMs
 
34
and Debian packages are a reasonable choice if your system supports them and
 
35
you can get hold of the corresponding library packages in the right versions.
 
36
 
 
37
It is very important that Armagetron Advanced and all of its dependencies are
 
38
built with the same compiler. The different versions of gcc tend to be
 
39
slightly binary incompatible with each other, and on complex projects like
 
40
this one these small glitches tend to cause unexplainable problems. The
 
41
distributed binaries are compiled with gcc 3.3, and we test source
 
42
compatibility with 3.4 and 4.0 regularly. Yes, theoretically the binary
 
43
interface for C code (ABI) did not change, but be prepared for problems
 
44
nevertheless.
 
45
 
 
46
Required libraries
 
47
------------------
 
48
 
 
49
- `LibXML2 <http://xmlsoft.org>`_ version 2.6.0 or later for map file
 
50
  parsing.
 
51
 
 
52
- OpenGL or `Mesa <http://mesa3d.sourceforge.net>`_ for rendering.
 
53
 
 
54
- `SDL <http://libsdl.org>`_ version 1.2.x for input and sound output).
 
55
 
 
56
- `FreeType 2 <www.freetype.org>`_ for font loading.
 
57
 
 
58
- `FTGL <http://homepages.paradise.net.nz/henryj/code/index.html>`_ for font
 
59
  rendering.
 
60
 
 
61
- `SDL_image <http://libsdl.org/projects/SDL_image/>`_ version 1.2.x for
 
62
  the textures which itself needs the libraries.
 
63
 
 
64
- `libpng and zlib <http://libpng.org/pub/png/pngcode.html>`_ (they should be
 
65
  included in your distribution).
 
66
 
 
67
- Binary versions only: libstdc++ 5.0.7 (any 5.x.y or whatever came with your
 
68
  System if it uses GCC 3.2 or higher should do). Use `rpmfind`_ or `google`_
 
69
  to find a RPM with that library for your system. Sorry, Debian users: I
 
70
  don't know what you need to do; use the source packages instead.
 
71
 
 
72
.. _rpmfind: 
 
73
    http://rpmfind.net/linux/rpm2html/search.php?query=libstdc%2B%2B5.0.7
 
74
.. _google: http://www.google.com/search?q=libstdc%2B%2B+5.0.7
 
75
  
 
76
Optional libraries:
 
77
 
 
78
- `SDL_mixer <http://libsdl.org/projects/SDL_mixer>`_ 
 
79
 
 
80
You should take a look at the `Linux Distribution Field Report`_ to check
 
81
how likely it is for Armagetron Advanced to work on your PC.
 
82
 
 
83
.. _Linux Distribution Field Report: 
 
84
    http://wiki.armagetronad.net/index.php/Linux_Distribution_Field_Report
 
85
 
 
86
 
 
87
Installation — Source archive
 
88
-------------------------------
 
89
 
 
90
Unpack the archive and change into the unpacked directory; type::
 
91
    
 
92
    ./configure
 
93
    gmake install
 
94
 
 
95
Everything will be copied to ``PREFIX/games/armagetron``. Should there already
 
96
be a version, it will be overwritten (see the section on multiple versions if
 
97
you want to keep your old version around). If ``gmake`` is not found on your
 
98
system, try ``make``, however only GNU make is supported.
 
99
 
 
100
To build the dedicated server, add the option ``--disable-glout`` to the
 
101
configure script. To change the installation path, use the option
 
102
``--prefix=new_path``. Type::
 
103
 
 
104
    
 
105
    uninstall-armagetronad-<VERSION>
 
106
    
 
107
to uninstall.
 
108
    
 
109
Installation — Binary RPM
 
110
-------------------------
 
111
 
 
112
Type::
 
113
 
 
114
    rpm -i filename.rpm
 
115
 
 
116
The RPM build is quite untested, so it may be that it has registered too many
 
117
dependencies and you are not allowed to install it; you may use the additional
 
118
switch ``--nodeps``. However, you may then end up with a broken installation.
 
119
 
 
120
Installation — Source RPM
 
121
-------------------------
 
122
 
 
123
 
 
124
Type::
 
125
 
 
126
    rpm --rebuild filename.src.rpm
 
127
 
 
128
This should build binary RPMs suitable for your system in
 
129
``/usr/src/redhat/RPMS/i386`` (RedHat), ``/usr/src/packages/RPMS/i386`` (SuSe)
 
130
— you may have to look into the other subdirectories to find them. Proceed as
 
131
described in the previous section. Alternatively type::
 
132
 
 
133
    rpm -i filename.src.rpm
 
134
 
 
135
This should extract a source package in ``/usr/src/.../SOURCES`` you can
 
136
handle like described in the “Installation — Source archive” section. You can
 
137
surely ignore all failed dependencies with ``--nodeps`` since the dependencies
 
138
were all there when you built the package. (It is possible, if not likely,
 
139
that the automatic dependency generation of RPM produces junk.
 
140
 
 
141
 
 
142
Non-Root install
 
143
----------------
 
144
 
 
145
You have the option to install the game as a regular user in your home
 
146
directory. To do so, use the ``--prefix`` directive of ``rpm`` or the
 
147
``configure`` script to point to a place in your home directory, i.e.::
 
148
    
 
149
    ./configure --prefix /home/username/usr
 
150
 
 
151
You can then start the game with ``/home/username/usr/bin/armagetronad`` or,
 
152
if you add ``/home/username/usr/bin`` to your executable search path, like
 
153
normal.
 
154
 
 
155
Multiple versions
 
156
-----------------
 
157
 
 
158
If you give the additional option ``--enable-multiver`` to
 
159
``configure``, all installation directories and executables will get the
 
160
suffix <GAME-VERSION>. Symbolic links will be created to your convenience.
 
161
This allows to install multiple versions in parallel, where ``armagetronad``
 
162
will always start the last installed version.
 
163
 
 
164
Binary archive
 
165
--------------
 
166
 
 
167
Unpack the archive and change into the unpacked directory; type::
 
168
    
 
169
    ./install
 
170
 
 
171
Dedicated Server
 
172
----------------
 
173
 
 
174
To install the dedicated server from binaries, follow all the procedures above
 
175
with the corresponding download files; the server will be installed in
 
176
``usr/local/games/armagetronad-dedicated`` and can be invoked by
 
177
``armagetronad-dedicated`` Use the ``--disable-glout`` option of configure to
 
178
build a dedicated server when you are installing from source.
 
179
 
 
180
An init.d style start/stop script called armagetronad will be installed into
 
181
/etc/init.d, so you can use your standard system utilities to let it be
 
182
started at boot time. By default, it runs the server under the userid
 
183
armagetronad-dedicated (which gets created at installation) and logs activity
 
184
to /var/games/armagetronad-dedicated. You can change these settings in the
 
185
configuration file CONFIGPATH/rc.config. Unfortunately, the only way to give
 
186
commands to the server when it is run this way is to put them into
 
187
everytime.cfg which is read every round or through the ingame admin.