<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Quilted</id>
	<title>Spring - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://springrts-wiki.p2004a.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Quilted"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Quilted"/>
	<updated>2026-11-08T21:39:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16457</id>
		<title>SetupGuide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16457"/>
		<updated>2007-07-28T22:18:08Z</updated>

		<summary type="html">&lt;p&gt;Quilted: /* TASClient */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Linux Setup Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Which Version To Install ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0.75b* has just been released. This affects some parts of this guide. Currently this guide is PARTIALLY updated. I will remove this notice when the pages are fully up to date.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To play online, you must have the same version as everyone else in the game.&lt;br /&gt;
&lt;br /&gt;
Most people should get the current release, version 0.75b2. There are usually&lt;br /&gt;
between 100 and 200 people online in the lobby, and if you want to play with&lt;br /&gt;
them, you need this.&lt;br /&gt;
&lt;br /&gt;
Older versions should only be interesting to software archeologists.&lt;br /&gt;
&lt;br /&gt;
If you want to see the bleeding edge, you can checkout svn head of spring, but&lt;br /&gt;
it can not be used to play with people who have the release, so you are&lt;br /&gt;
practically limited to playing against nemo. This is mainly interesting for&lt;br /&gt;
people who want to contribute to the project, for testing, finding bugs and&lt;br /&gt;
fixing them, and implementing new features. Head can be seriously broken from&lt;br /&gt;
time to time, or not even compile.&lt;br /&gt;
&lt;br /&gt;
=== Installing With Package Managers On Various Distributions ===&lt;br /&gt;
&lt;br /&gt;
If there is a package for your distributions preferred package manager, it is&lt;br /&gt;
recommended to use it instead of compiling the program yourself from sources.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Etch (Debian 4.0 Stable) With APT ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb etch spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Sid (Debian Unstable) With APT ====&lt;br /&gt;
&lt;br /&gt;
The current .deb for Sid is broken, because it depends on some boost packages&lt;br /&gt;
of version 1.33 that are not installable on sid, which has only 1.34. A&lt;br /&gt;
slightly more complex way to install is necessary:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt; /usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Ubuntu (any version) With APT ====&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.33, then all you need is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.34, you have to do it the same way as debian unstable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Gentoo With Portage ====&lt;br /&gt;
&lt;br /&gt;
Make an overlay for portage, download the ebuilds, and extract to populate the overlay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /usr/local/portage&lt;br /&gt;
echo &#039;PORTDIR_OVERLAY=&amp;quot;/usr/local/portage&amp;quot;&#039; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
wget http://download.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2 ||&lt;br /&gt;
    wget http://download2.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2&lt;br /&gt;
tar xjf spring-ebuilds-0.74-r3.tar.bz2 -C /usr/local/portage/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are not running unstable (~x86), do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;games-strategy/spring               ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-base-ota      ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-xta       ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-gundamrts ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-nanoblobs ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some packages need to be built with certain use flags set, this makes sure it happens:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;media-libs/libsdl    X opengl&amp;quot;     &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
echo &amp;quot;dev-libs/boost       threads&amp;quot;      &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
emerge media-libs/libsdl dev-libs/boost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add yourself to the group &amp;lt;code&amp;gt;games&amp;lt;/code&amp;gt;. Don&#039;t do this as root, do this as&lt;br /&gt;
the user you normally use to play (you have to relogin afterwards to make it&lt;br /&gt;
work):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
gpasswd -a $(whoami) games&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally emerge spring itself, along with some datafile packages (ignore the&lt;br /&gt;
use flags for spring ebuild):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge unzip spring spring-base-ota spring-mod-xta spring-mod-gundamrts&lt;br /&gt;
emerge spring-mod-nanoblobs&lt;br /&gt;
etc-update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/bin/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing 0.74b3 From Source ===&lt;br /&gt;
&lt;br /&gt;
If there is no package tailored for your distribution, you have to install from sources manually. Doing this for distributions where packages are available is not recommended.&lt;br /&gt;
&lt;br /&gt;
==== Getting The Source ====&lt;br /&gt;
&lt;br /&gt;
You can either download the source as a 4.7MB tarball (recommended) or get it&lt;br /&gt;
from the subversion repository. Either way, the result is the same for 0.74b3.&lt;br /&gt;
&lt;br /&gt;
===== Downloading A Tarball =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.75b2_src.tar.bz2&lt;br /&gt;
tar xjf spring_0.75b2_src.tar.bz2&lt;br /&gt;
cd spring_0.75b2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Checking Out From Subversion =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install subversion # if you are not on debian, figure it out&lt;br /&gt;
svn co https://taspring.clan-sy.com/svn/spring/tags/taspring_0.74b3 /tmp/spring_0.74b3&lt;br /&gt;
cd /tmp/spring_0.74b3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Getting The Dependencies ====&lt;br /&gt;
&lt;br /&gt;
For Etch (debian 4.0 stable) and Sid (debian unstable), I&#039;ve confirmed the&lt;br /&gt;
following to be the minimal set that is necessary to get. I have not tested&lt;br /&gt;
with any version of Ubuntu, but the line is probably almost identical if not&lt;br /&gt;
the same. Quilted tested with ubuntu fiesty fawn on july 28 2007 WORKS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install scons build-essential zlib1g-dev libfreetype6-dev&lt;br /&gt;
aptitude install libsdl1.2-dev libopenal-dev libglew-dev libboost-dev&lt;br /&gt;
aptitude install libboost-thread-dev libboost-regex-dev libdevil-dev&lt;br /&gt;
aptitude install python2.4-dev zip&lt;br /&gt;
aptitude install libsablevm1-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has been tested to work with a clean install of gentoo 2007.0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge dev-util/scons \&amp;gt;=media-libs/freetype-2.0.0 \&amp;gt;=media-libs/libsdl-1.2.0&lt;br /&gt;
emerge media-libs/openal =dev-lang/python-2.4\* media-libs/glew dev-libs/boost&lt;br /&gt;
emerge media-libs/devil app-arch/zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users of other distributions should be able to figure out the correct package&lt;br /&gt;
names from this. The scons configure will whine if you forget something, but it&lt;br /&gt;
does not check if you remembered to install zip, even though you still need it.&lt;br /&gt;
&lt;br /&gt;
==== Building And Installing ====&lt;br /&gt;
&lt;br /&gt;
The build will spew out warnings like the following, which you can safely ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
warning: division by zero&lt;br /&gt;
warning: &#039;q&#039; may be used uninitialized in this function&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure, build and install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
scons configure&lt;br /&gt;
scons&lt;br /&gt;
scons install&lt;br /&gt;
mkdir -p /etc/spring&lt;br /&gt;
echo &#039;$HOME/.spring&#039; &amp;gt; /etc/spring/datadir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/local/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/local/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Finalizing installation ==&lt;br /&gt;
&lt;br /&gt;
Now all the things you needed to run as root have been done. Some stuff needs to be done by the user who is going to play spring.&lt;br /&gt;
&lt;br /&gt;
I&#039;m assuming bash here, but you can use anything you like to do it of course.&lt;br /&gt;
&lt;br /&gt;
=== Making Data Directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/.spring/{base,maps,mods}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting Maps ===&lt;br /&gt;
&lt;br /&gt;
You need at least one map to succesfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/13/Maps/ Unknown Files, Map Section] and download at least one map. Save it under ~/.spring/maps/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the map name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
=== Getting Mods ===&lt;br /&gt;
&lt;br /&gt;
You need at least one mod to successfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/14/Mods/ Unknown Files, Mod Section] and download at least one mod. Save it under ~/.spring/mods/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the mod name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
If you want to play mods based on Total Annihilation, for example XTA, AA, BA, then you have to do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://ipxserver.dyndns.org/games/spring/mods/xta/base-ota-content.zip&lt;br /&gt;
unzip -d ~/.spring/base base-ota-content.zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you need to own a copy of Total Annihilation, to download this file legally.&lt;br /&gt;
&lt;br /&gt;
If you want to view unit stats of mods, [http://modinfo.unknown-files.net/modit/modit.php this] is the site for you.&lt;br /&gt;
&lt;br /&gt;
=== Editing Settings === &lt;br /&gt;
Defaults should be usable, so you can ignore this until you want to maximise your eye candy or fps :)&lt;br /&gt;
&lt;br /&gt;
When you run spring the first time, it creates ~/.springrc which contains all the settings. It is a simple text file with name=value lines, most of which are pretty obvious and can be edited by hand.&lt;br /&gt;
&lt;br /&gt;
If you want a tool for editing the file, you can use Kloot&#039;s [http://members.chello.nl/mjtobi/Settings++.tar.gz Settings++]. Untar it anywhere and open it by typing &amp;quot;./Settings++&amp;quot; and edit away.&lt;br /&gt;
&lt;br /&gt;
=== Using LuaUI ===&lt;br /&gt;
&lt;br /&gt;
Spring UI is scriptable with Lua. This is called LuaUI, and it is not enabled per default.&lt;br /&gt;
&lt;br /&gt;
Replace LuaUI=0 with LuaUI=1 in your ~/.springrc to use LuaUI.&lt;br /&gt;
&lt;br /&gt;
Lua scripts for LuaUI can be found in [http://spring.unknown-files.net/category/19/Lua_Scripts/ Unknown Files LuaUI Section].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO need more stuff here.&lt;br /&gt;
&lt;br /&gt;
=== Installing Lobby Client ===&lt;br /&gt;
&lt;br /&gt;
To setup online games, you need a lobby client. There are several options to choose from.&lt;br /&gt;
&lt;br /&gt;
You can also use lobby client to setup single player matches against the AI. TODO more information about setting up tasclient to play against AI.&lt;br /&gt;
&lt;br /&gt;
==== Omni ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== UnityLobby ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== SpringLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but not yet ready enough for production use.&lt;br /&gt;
&lt;br /&gt;
Homepage of SpringLobby is [http://tc.serveftp.net/trac here].&lt;br /&gt;
&lt;br /&gt;
==== AFLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but is still in beta development. However, is usable for online multiplayer. See forum thread: http://spring.clan-sy.com/phpbb/viewtopic.php?t=8691&lt;br /&gt;
&lt;br /&gt;
==== TASClient ====&lt;br /&gt;
&lt;br /&gt;
This is a windows program, but it works just fine under wine in linux, and can be used together with native linux spring. I use it myself and recommend to use this temporarily until we all can migrate to SpringLobby or AFLobby.&lt;br /&gt;
&lt;br /&gt;
The only two downsides in using this are that you have to use wine (which should not be a big problem) and your rank won&#039;t increase as long as you use it (also because of win-linux binary interaction).&lt;br /&gt;
&lt;br /&gt;
Download the installer of Spring for Windows, and run it in wine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.75b2.exe&lt;br /&gt;
wine spring_0.75b2.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No configuration of wine should be needed, if your distribution is sane.&lt;br /&gt;
&lt;br /&gt;
Complete the install, and let it install to the default location, which is Program Files\Spring.&lt;br /&gt;
&lt;br /&gt;
Assuming you completed the earlier step of creating the data directories, now we need to link the windows and linux data together:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
WINESPRING=~/.wine/drive_c/Program\ Files/Spring&lt;br /&gt;
NATIVE=~/.spring/maps&lt;br /&gt;
&lt;br /&gt;
touch &amp;quot;${WINESPRING}/script.txt&amp;quot;&lt;br /&gt;
ln -s &amp;quot;${WINESPRING}/script.txt ${NATIVE}/script.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rm -r &amp;quot;${WINESPRING}/maps&amp;quot;&lt;br /&gt;
ln -s &amp;quot;${NATIVE}/maps ${WINESPRING}/maps&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rm -r &amp;quot;${WINESPRING}/mods&amp;quot;&lt;br /&gt;
ln -s &amp;quot;${NATIVE}/mods ${WINESPRING}/mods&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rm -r &amp;quot;${WINESPRING}/base&amp;quot;&lt;br /&gt;
ln -s &amp;quot;${NATIVE}/base ${WINESPRING}/base&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the windows-TASClient to be able to launch native linux spring, we need a wrapper exe in between them. Source code for wrapper exe is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;tchar.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NATIVE_SPRING_LOCATION TEXT(&amp;quot;/usr/games/spring&amp;quot;)&lt;br /&gt;
#define SPRING_VERSION_REPLY &amp;quot;Spring 0.75b2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  if (argc &amp;gt; 1 &amp;amp;&amp;amp; !strcmp(argv[1], &amp;quot;/V&amp;quot;))&lt;br /&gt;
  {&lt;br /&gt;
     puts(SPRING_VERSION_REPLY);&lt;br /&gt;
     return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  STARTUPINFO si;&lt;br /&gt;
  ZeroMemory( &amp;amp;si, sizeof(si) );&lt;br /&gt;
  si.cb = sizeof(si);&lt;br /&gt;
&lt;br /&gt;
  PROCESS_INFORMATION pi;&lt;br /&gt;
  ZeroMemory( &amp;amp;pi, sizeof(pi) );&lt;br /&gt;
&lt;br /&gt;
  // Start the child process.&lt;br /&gt;
  if (!CreateProcess(&lt;br /&gt;
    _tcsdup(NATIVE_SPRING_LOCATION), // No module name (use command line)&lt;br /&gt;
    GetCommandLine(),                // Command line&lt;br /&gt;
    NULL,                            // Process handle not inheritable&lt;br /&gt;
    NULL,                            // Thread handle not inheritable&lt;br /&gt;
    FALSE,                           // Set handle inheritance to FALSE&lt;br /&gt;
    0,                               // No creation flags&lt;br /&gt;
    NULL,                            // Use parent&#039;s environment block&lt;br /&gt;
    NULL,                            // Use parent&#039;s starting directory&lt;br /&gt;
    &amp;amp;si,                             // Pointer to STARTUPINFO structure&lt;br /&gt;
    &amp;amp;pi))                            // Pointer to PROCESS_INFORMATION structure&lt;br /&gt;
    {&lt;br /&gt;
      printf( &amp;quot;CreateProcess failed (%d).\n&amp;quot;, GetLastError() );&lt;br /&gt;
      return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  // Wait until child process exits. Wine actually does not know how to wait&lt;br /&gt;
  // for native linux process, so this will return instantly and your gametime&lt;br /&gt;
  // counter does not increase so you don&#039;t get any rank.&lt;br /&gt;
  WaitForSingleObject( pi.hProcess, INFINITE );&lt;br /&gt;
&lt;br /&gt;
  // Close process and thread handles.&lt;br /&gt;
  CloseHandle( pi.hProcess );&lt;br /&gt;
  CloseHandle( pi.hThread );&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might need to modify the define-lines in the beginning to match your location and version. Remember, the version reply must be exactly right, or your game just breaks totally in multiplayer or you can&#039;t even login to lobby server.&lt;br /&gt;
&lt;br /&gt;
Save this code to spring.cc for example, and then we need to install a windows-crosscompiler and compile a windows binary from it inside our linux box like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install mingw32&lt;br /&gt;
i586-mingw32msvc-g++ spring.cc -o ~/.wine/drive_c/Program\ Files/Spring/spring.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This assumed debian for installing the crosscompiler, but mingw32 is probably simple to install on other distributions as well.&lt;br /&gt;
&lt;br /&gt;
TODO should provide binary packages for this launcher, as all people don&#039;t have the possibility to set up cross compiler.&lt;br /&gt;
&lt;br /&gt;
Then you should make a script for launching TASClient. The script can be named tasclient for example, and just put it somewhere in your path and make it executable. The script code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env sh&lt;br /&gt;
cd ~/.wine/drive_c/Program\ Files/Spring&lt;br /&gt;
wine TASClient.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you should be able to type tasclient on the command line, and the lobby appears. &#039;&#039;&#039;This cd operation is necessary. If your working directory is not the same as TASClient.exe&#039;s location, it will just give access violations to you.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that every time when you have added new maps, the lobby client caches them and this will take some time, or a long time if you downloaded many maps since last time. Just wait patiently.&lt;br /&gt;
&lt;br /&gt;
Then you should register an account and login with it, and you should be ready to join an online multiplayer game from the list that appears.&lt;br /&gt;
&lt;br /&gt;
It&#039;s likely that you don&#039;t have the correct map or mod at this point, so just get them and join the game. You don&#039;t need to restart your lobby client after downloading the files.&lt;br /&gt;
&lt;br /&gt;
It&#039;s recommended that you spectate a couple of high rank games first, to get some idea of how the game should be played. Some hosts don&#039;t allow spectators, but most do.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== game dies with sounds/button9.wav &amp;quot;cant find wav file&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This or any similar error of not being able to find a specific file are usually because the mod you are using needs ota content, download &amp;amp; install as explained earlier in this document.&lt;br /&gt;
&lt;br /&gt;
==== Problems With Boost 1.34 ====&lt;br /&gt;
&lt;br /&gt;
If you get an error message when starting spring, which looks like the following but can be from any tdf file and the line numbers don&#039;t need to match either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Parse error in gamedata/explosion_alias.tdf at line 48 column 34 near&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you need this patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: rts/System/tdf_grammar.hpp&lt;br /&gt;
===================================================================&lt;br /&gt;
--- rts/System/tdf_grammar.hpp	(revision 1919)&lt;br /&gt;
+++ rts/System/tdf_grammar.hpp	(revision 3798)&lt;br /&gt;
@@ -99,6 +99,7 @@&lt;br /&gt;
             section(self.section) &lt;br /&gt;
             | gather_junk_line  // if this rule gets hit then section did not consume everything,&lt;br /&gt;
          ) &lt;br /&gt;
+        &amp;gt;&amp;gt; end_p&lt;br /&gt;
         ;&lt;br /&gt;
 &lt;br /&gt;
       gather_junk_line = &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save it to a file and go to spring source directory and say:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
patch -p0 &amp;lt; mypatchfilename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to have patch installed to be able to do this. After successfully patching, compile and install.&lt;br /&gt;
&lt;br /&gt;
==== If You Still Have Problems ====&lt;br /&gt;
&lt;br /&gt;
Join to #taspring on Freenode and tell me (semi_) that you have problems with installing, and I&#039;ll try to improve this guide to solve your problem, if I have time.&lt;br /&gt;
&lt;br /&gt;
However, generic linux problems not really related to installing this should be asked elsewhere.&lt;br /&gt;
&lt;br /&gt;
Prepare to tell me your distribution, which installation method you used, and what exactly is the error. Don&#039;t ask if I&#039;m here or not, just state your problem there and I&#039;ll look into it when I come back.&lt;br /&gt;
&lt;br /&gt;
Other common problems and solutions coming soon.&lt;br /&gt;
&lt;br /&gt;
==== Can&#039;t See Configure Options Before Configuring ====&lt;br /&gt;
&lt;br /&gt;
If you want to see the configure options, because of a bug in the buildsystem you have to have spring configured first. But if configure fails, you are out of luck. So I have listed the options here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scons --help&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
make: Nothing to be done for `all&#039;.&lt;br /&gt;
Succes building streflop!&lt;br /&gt;
Updating bitmaps.sdz&lt;br /&gt;
Updating springcontent.sdz&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
&lt;br /&gt;
platform: Set to linux, freebsd or windows&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: linux&lt;br /&gt;
&lt;br /&gt;
debug: Set to yes to produce a binary with debug information&lt;br /&gt;
    default: 0&lt;br /&gt;
    actual: 0&lt;br /&gt;
&lt;br /&gt;
syncdebug: Set to yes to enable the sync debugger&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
optimize: Enable processor optimizations during compilation&lt;br /&gt;
    default: 1&lt;br /&gt;
    actual: 2&lt;br /&gt;
&lt;br /&gt;
profile: Set to yes to produce a binary with profiling information&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cpppath: Set path to extra header files&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
libpath: Set path to extra libraries&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
fpmath: Set to 387 or SSE on i386 and AMD64 architectures&lt;br /&gt;
    default: 387&lt;br /&gt;
    actual: 387&lt;br /&gt;
&lt;br /&gt;
prefix: Install prefix used at runtime&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
installprefix: Install prefix used for installion&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
datadir: Data directory (relative to prefix)&lt;br /&gt;
    default: share/games/spring&lt;br /&gt;
    actual: share/games/spring&lt;br /&gt;
&lt;br /&gt;
bindir: Directory for executables (rel. to prefix)&lt;br /&gt;
    default: games&lt;br /&gt;
    actual: games&lt;br /&gt;
&lt;br /&gt;
libdir: Directory for AI plugin modules (rel. to prefix)&lt;br /&gt;
    default: lib/spring&lt;br /&gt;
    actual: lib/spring&lt;br /&gt;
&lt;br /&gt;
strip: Discard symbols from the executable &lt;br /&gt;
(only when neither debugging nor profiling)&lt;br /&gt;
    default: True&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
disable_avi: Set to no to turn on avi support&lt;br /&gt;
    default: False on windows, True otherwise&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
use_tcmalloc: Use tcmalloc from goog-perftools for memory allocation&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
use_mmgr: Use memory manager&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cachedir: Cache directory (see scons manual)&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
Use scons -H for help about command-line options.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LuaUI Crash Ingame ====&lt;br /&gt;
&lt;br /&gt;
LuaUI can crash during game, because some lua script you use has a bug. 0.75 should be resistant to this problem, but 0.74b3 is not. After crash, you won&#039;t see the bottom left tooltip box and top right resource bar anymore. Fear not, help is near:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/resbar 1&lt;br /&gt;
/tooltip 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These might not be necessary in 0.75 anymore at all.&lt;br /&gt;
&lt;br /&gt;
Also, you won&#039;t be able to change the build menu page with mouse anymore, but keys , and . do the trick.&lt;br /&gt;
&lt;br /&gt;
=== Tips ===&lt;br /&gt;
&lt;br /&gt;
* If spring hangs/crashes while in full screen mode, you can press ctrl+alt+backspace to restart X, so no need for a reboot.&lt;br /&gt;
&lt;br /&gt;
* Spring uses OpenAL for sound, Config your sound output i.e esd / arts / oss / alsa by editing /etc/openalrc or ~/.openalrc, example: (&amp;quot;&#039;(&amp;quot; is not a typo)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;(define devices &#039;(alsa))&amp;lt;br&amp;gt;(define speaker-num 2)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;(define alsa-out-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;br&amp;gt;(define alsa-in-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Adventurous people with an emu10k1 based card (sblive) can try the accelerated openal version. http://www.lost.org.uk/openal.html , don&#039;t submit audiobugs if you do.&lt;br /&gt;
&lt;br /&gt;
* If you really can&#039;t figure out how to get spring compiled, or you think there&#039;s a bug in the code or the buildsystem...&lt;br /&gt;
:* Just poke any developer on IRC:&lt;br /&gt;
::* channel &amp;lt;code&amp;gt;#taspring&amp;lt;/code&amp;gt; on [http://freenode.net/ FreeNode]&lt;br /&gt;
::* or channel &amp;lt;code&amp;gt;#sy&amp;lt;/code&amp;gt; on [http://www.quakenet.org/ QuakeNet]&lt;br /&gt;
:* Post it on [http://taspring.clan-sy.com/phpbb/ the forum]&lt;br /&gt;
:* or file a bug in our [http://taspring.clan-sy.com/mantis/ bug tracking system].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[Main_Page|&amp;lt;- Back to Main page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux Port]][[Category:Playing]]&lt;/div&gt;</summary>
		<author><name>Quilted</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16449</id>
		<title>SetupGuide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16449"/>
		<updated>2007-07-28T20:13:30Z</updated>

		<summary type="html">&lt;p&gt;Quilted: /* Getting The Dependencies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Linux Setup Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Which Version To Install ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0.75 has just been released. This affects some parts of this guide. Currently this guide is NOT updated. I will remove this notice when the pages are up to date.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To play online, you must have the same version as everyone else in the game.&lt;br /&gt;
&lt;br /&gt;
Most people should get the current release, version 0.75b2. There are usually&lt;br /&gt;
between 100 and 200 people online in the lobby, and if you want to play with&lt;br /&gt;
them, you need this.&lt;br /&gt;
&lt;br /&gt;
Older versions should only be interesting to software archeologists.&lt;br /&gt;
&lt;br /&gt;
If you want to see the bleeding edge, you can checkout svn head of spring, but&lt;br /&gt;
it can not be used to play with people who have the release, so you are&lt;br /&gt;
practically limited to playing against nemo. This is mainly interesting for&lt;br /&gt;
people who want to contribute to the project, for testing, finding bugs and&lt;br /&gt;
fixing them, and implementing new features. Head can be seriously broken from&lt;br /&gt;
time to time, or not even compile.&lt;br /&gt;
&lt;br /&gt;
=== Installing With Package Managers On Various Distributions ===&lt;br /&gt;
&lt;br /&gt;
If there is a package for your distributions preferred package manager, it is&lt;br /&gt;
recommended to use it instead of compiling the program yourself from sources.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Etch (Debian 4.0 Stable) With APT ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb etch spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Sid (Debian Unstable) With APT ====&lt;br /&gt;
&lt;br /&gt;
The current .deb for Sid is broken, because it depends on some boost packages&lt;br /&gt;
of version 1.33 that are not installable on sid, which has only 1.34. A&lt;br /&gt;
slightly more complex way to install is necessary:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt; /usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Ubuntu (any version) With APT ====&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.33, then all you need is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.34, you have to do it the same way as debian unstable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Gentoo With Portage ====&lt;br /&gt;
&lt;br /&gt;
Make an overlay for portage, download the ebuilds, and extract to populate the overlay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /usr/local/portage&lt;br /&gt;
echo &#039;PORTDIR_OVERLAY=&amp;quot;/usr/local/portage&amp;quot;&#039; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
wget http://download.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2 ||&lt;br /&gt;
    wget http://download2.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2&lt;br /&gt;
tar xjf spring-ebuilds-0.74-r3.tar.bz2 -C /usr/local/portage/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are not running unstable (~x86), do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;games-strategy/spring               ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-base-ota      ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-xta       ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-gundamrts ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-nanoblobs ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some packages need to be built with certain use flags set, this makes sure it happens:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;media-libs/libsdl    X opengl&amp;quot;     &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
echo &amp;quot;dev-libs/boost       threads&amp;quot;      &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
emerge media-libs/libsdl dev-libs/boost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add yourself to the group &amp;lt;code&amp;gt;games&amp;lt;/code&amp;gt;. Don&#039;t do this as root, do this as&lt;br /&gt;
the user you normally use to play (you have to relogin afterwards to make it&lt;br /&gt;
work):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
gpasswd -a $(whoami) games&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally emerge spring itself, along with some datafile packages (ignore the&lt;br /&gt;
use flags for spring ebuild):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge unzip spring spring-base-ota spring-mod-xta spring-mod-gundamrts&lt;br /&gt;
emerge spring-mod-nanoblobs&lt;br /&gt;
etc-update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/bin/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing 0.74b3 From Source ===&lt;br /&gt;
&lt;br /&gt;
If there is no package tailored for your distribution, you have to install from sources manually. Doing this for distributions where packages are available is not recommended.&lt;br /&gt;
&lt;br /&gt;
==== Getting The Source ====&lt;br /&gt;
&lt;br /&gt;
You can either download the source as a 4.7MB tarball (recommended) or get it&lt;br /&gt;
from the subversion repository. Either way, the result is the same for 0.74b3.&lt;br /&gt;
&lt;br /&gt;
===== Downloading A Tarball =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.75b2_src.tar.bz2&lt;br /&gt;
tar xjf spring_0.75b2_src.tar.bz2&lt;br /&gt;
cd spring_0.75b2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Checking Out From Subversion =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install subversion # if you are not on debian, figure it out&lt;br /&gt;
svn co https://taspring.clan-sy.com/svn/spring/tags/taspring_0.74b3 /tmp/spring_0.74b3&lt;br /&gt;
cd /tmp/spring_0.74b3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Getting The Dependencies ====&lt;br /&gt;
&lt;br /&gt;
For Etch (debian 4.0 stable) and Sid (debian unstable), I&#039;ve confirmed the&lt;br /&gt;
following to be the minimal set that is necessary to get. I have not tested&lt;br /&gt;
with any version of Ubuntu, but the line is probably almost identical if not&lt;br /&gt;
the same. Quilted tested with ubuntu fiesty fawn on july 28 2007 WORKS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install scons build-essential zlib1g-dev libfreetype6-dev&lt;br /&gt;
aptitude install libsdl1.2-dev libopenal-dev libglew-dev libboost-dev&lt;br /&gt;
aptitude install libboost-thread-dev libboost-regex-dev libdevil-dev&lt;br /&gt;
aptitude install python2.4-dev zip&lt;br /&gt;
aptitude install libsablevm1-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has been tested to work with a clean install of gentoo 2007.0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge dev-util/scons \&amp;gt;=media-libs/freetype-2.0.0 \&amp;gt;=media-libs/libsdl-1.2.0&lt;br /&gt;
emerge media-libs/openal =dev-lang/python-2.4\* media-libs/glew dev-libs/boost&lt;br /&gt;
emerge media-libs/devil app-arch/zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users of other distributions should be able to figure out the correct package&lt;br /&gt;
names from this. The scons configure will whine if you forget something, but it&lt;br /&gt;
does not check if you remembered to install zip, even though you still need it.&lt;br /&gt;
&lt;br /&gt;
==== Building And Installing ====&lt;br /&gt;
&lt;br /&gt;
The build will spew out warnings like the following, which you can safely ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
warning: division by zero&lt;br /&gt;
warning: &#039;q&#039; may be used uninitialized in this function&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure, build and install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
scons configure&lt;br /&gt;
scons&lt;br /&gt;
scons install&lt;br /&gt;
mkdir -p /etc/spring&lt;br /&gt;
echo &#039;$HOME/.spring&#039; &amp;gt; /etc/spring/datadir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/local/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/local/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Finalizing installation ==&lt;br /&gt;
&lt;br /&gt;
Now all the things you needed to run as root have been done. Some stuff needs to be done by the user who is going to play spring.&lt;br /&gt;
&lt;br /&gt;
I&#039;m assuming bash here, but you can use anything you like to do it of course.&lt;br /&gt;
&lt;br /&gt;
=== Making Data Directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/.spring/{base,maps,mods}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting Maps ===&lt;br /&gt;
&lt;br /&gt;
You need at least one map to succesfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/13/Maps/ Unknown Files, Map Section] and download at least one map. Save it under ~/.spring/maps/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the map name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
=== Getting Mods ===&lt;br /&gt;
&lt;br /&gt;
You need at least one mod to successfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/14/Mods/ Unknown Files, Mod Section] and download at least one mod. Save it under ~/.spring/mods/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the mod name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
If you want to play mods based on Total Annihilation, for example XTA, AA, BA, then you have to do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://ipxserver.dyndns.org/games/spring/mods/xta/base-ota-content.zip&lt;br /&gt;
unzip -d ~/.spring/base base-ota-content.zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you need to own a copy of Total Annihilation, to download this file legally.&lt;br /&gt;
&lt;br /&gt;
If you want to view unit stats of mods, [http://modinfo.unknown-files.net/modit/modit.php this] is the site for you.&lt;br /&gt;
&lt;br /&gt;
=== Editing Settings === &lt;br /&gt;
Defaults should be usable, so you can ignore this until you want to maximise your eye candy or fps :)&lt;br /&gt;
&lt;br /&gt;
When you run spring the first time, it creates ~/.springrc which contains all the settings. It is a simple text file with name=value lines, most of which are pretty obvious and can be edited by hand.&lt;br /&gt;
&lt;br /&gt;
If you want a tool for editing the file, you can use Kloot&#039;s [http://members.chello.nl/mjtobi/Settings++.tar.gz Settings++]. Untar it anywhere and open it by typing &amp;quot;./Settings++&amp;quot; and edit away.&lt;br /&gt;
&lt;br /&gt;
=== Using LuaUI ===&lt;br /&gt;
&lt;br /&gt;
Spring UI is scriptable with Lua. This is called LuaUI, and it is not enabled per default.&lt;br /&gt;
&lt;br /&gt;
Replace LuaUI=0 with LuaUI=1 in your ~/.springrc to use LuaUI.&lt;br /&gt;
&lt;br /&gt;
In 0.74b3, when you host games, you might crash more often when you use Lua, but this should be fixed in 0.75.&lt;br /&gt;
&lt;br /&gt;
Lua scripts for LuaUI can be found in [http://spring.unknown-files.net/category/19/Lua_Scripts/ Unknown Files LuaUI Section].&lt;br /&gt;
&lt;br /&gt;
In 0.74b3, you have to move LuaUI directory from your read-only data dir to your read-write data dir, to be able to customize it.&lt;br /&gt;
&lt;br /&gt;
TODO need more stuff here.&lt;br /&gt;
&lt;br /&gt;
=== Installing Lobby Client ===&lt;br /&gt;
&lt;br /&gt;
To setup online games, you need a lobby client. There are several options to choose from.&lt;br /&gt;
&lt;br /&gt;
You can also use lobby client to setup single player matches against the AI. TODO more information about setting up tasclient to play against AI.&lt;br /&gt;
&lt;br /&gt;
==== Omni ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== UnityLobby ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== SpringLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but not yet ready enough for production use.&lt;br /&gt;
&lt;br /&gt;
Homepage of SpringLobby is [http://tc.serveftp.net/trac here].&lt;br /&gt;
&lt;br /&gt;
==== AFLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but is still in beta development. However, is usable for online multiplayer. See forum thread: http://spring.clan-sy.com/phpbb/viewtopic.php?t=8691&lt;br /&gt;
&lt;br /&gt;
==== TASClient ====&lt;br /&gt;
&lt;br /&gt;
This is a windows program, but it works just fine under wine in linux, and can be used together with native linux spring. I use it myself and recommend to use this temporarily until we all can migrate to SpringLobby or AFLobby.&lt;br /&gt;
&lt;br /&gt;
The only two downsides in using this are that you have to use wine (which should not be a big problem) and your rank won&#039;t increase as long as you use it (also because of win-linux binary interaction).&lt;br /&gt;
&lt;br /&gt;
Download the installer of Spring for Windows, and run it in wine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.74b3.exe&lt;br /&gt;
wine spring_0.74b3.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No configuration of wine should be needed, if your distribution is sane.&lt;br /&gt;
&lt;br /&gt;
Complete the install, and let it install to the default location, which is Program Files\Spring.&lt;br /&gt;
&lt;br /&gt;
Assuming you completed the earlier step of creating the data directories, now we need to link the windows and linux data together:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
touch ~/.wine/drive_c/Program\ Files/Spring/script.txt&lt;br /&gt;
ln -s ~/.wine/drive_c/Program\ Files/Spring/script.txt ~/.spring/script.txt&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/maps&lt;br /&gt;
ln -s ~/.spring/maps ~/.wine/drive_c/Program\ Files/Spring/maps&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/mods&lt;br /&gt;
ln -s ~/.spring/mods ~/.wine/drive_c/Program\ Files/Spring/mods&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/base&lt;br /&gt;
ln -s ~/.spring/base ~/.wine/drive_c/Program\ Files/Spring/base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the windows-TASClient to be able to launch native linux spring, we need a wrapper exe in between them. Source code for wrapper exe is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;tchar.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NATIVE_SPRING_LOCATION TEXT(&amp;quot;/usr/games/spring&amp;quot;)&lt;br /&gt;
#define SPRING_VERSION_REPLY &amp;quot;Spring 0.74b3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  if (argc &amp;gt; 1 &amp;amp;&amp;amp; !strcmp(argv[1], &amp;quot;/V&amp;quot;))&lt;br /&gt;
  {&lt;br /&gt;
     puts(SPRING_VERSION_REPLY);&lt;br /&gt;
     return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  STARTUPINFO si;&lt;br /&gt;
  ZeroMemory( &amp;amp;si, sizeof(si) );&lt;br /&gt;
  si.cb = sizeof(si);&lt;br /&gt;
&lt;br /&gt;
  PROCESS_INFORMATION pi;&lt;br /&gt;
  ZeroMemory( &amp;amp;pi, sizeof(pi) );&lt;br /&gt;
&lt;br /&gt;
  // Start the child process.&lt;br /&gt;
  if (!CreateProcess(&lt;br /&gt;
    _tcsdup(NATIVE_SPRING_LOCATION), // No module name (use command line)&lt;br /&gt;
    GetCommandLine(),                // Command line&lt;br /&gt;
    NULL,                            // Process handle not inheritable&lt;br /&gt;
    NULL,                            // Thread handle not inheritable&lt;br /&gt;
    FALSE,                           // Set handle inheritance to FALSE&lt;br /&gt;
    0,                               // No creation flags&lt;br /&gt;
    NULL,                            // Use parent&#039;s environment block&lt;br /&gt;
    NULL,                            // Use parent&#039;s starting directory&lt;br /&gt;
    &amp;amp;si,                             // Pointer to STARTUPINFO structure&lt;br /&gt;
    &amp;amp;pi))                            // Pointer to PROCESS_INFORMATION structure&lt;br /&gt;
    {&lt;br /&gt;
      printf( &amp;quot;CreateProcess failed (%d).\n&amp;quot;, GetLastError() );&lt;br /&gt;
      return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  // Wait until child process exits. Wine actually does not know how to wait&lt;br /&gt;
  // for native linux process, so this will return instantly and your gametime&lt;br /&gt;
  // counter does not increase so you don&#039;t get any rank.&lt;br /&gt;
  WaitForSingleObject( pi.hProcess, INFINITE );&lt;br /&gt;
&lt;br /&gt;
  // Close process and thread handles.&lt;br /&gt;
  CloseHandle( pi.hProcess );&lt;br /&gt;
  CloseHandle( pi.hThread );&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might need to modify the define-lines in the beginning to match your location and version. Remember, the version reply must be exactly right, or your game just breaks totally in multiplayer or you can&#039;t even login to lobby server.&lt;br /&gt;
&lt;br /&gt;
Save this code to spring.cc for example, and then we need to install a windows-crosscompiler and compile a windows binary from it inside our linux box like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install mingw32&lt;br /&gt;
i586-mingw32msvc-g++ spring.cc -o ~/.wine/drive_c/Program\ Files/Spring/spring.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This assumed debian for installing the crosscompiler, but mingw32 is probably simple to install on other distributions as well.&lt;br /&gt;
&lt;br /&gt;
TODO should provide binary packages for this launcher, as all people don&#039;t have the possibility to set up cross compiler.&lt;br /&gt;
&lt;br /&gt;
Then you should make a script for launching TASClient. The script can be named tasclient for example, and just put it somewhere in your path and make it executable. The script code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env sh&lt;br /&gt;
cd ~/.wine/drive_c/Program\ Files/Spring&lt;br /&gt;
wine TASClient.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you should be able to type tasclient on the command line, and the lobby appears. &#039;&#039;&#039;This cd operation is necessary. If your working directory is not the same as TASClient.exe&#039;s location, it will just give access violations to you.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that every time when you have added new maps, the lobby client caches them and this will take some time, or a long time if you downloaded many maps since last time. Just wait patiently.&lt;br /&gt;
&lt;br /&gt;
Then you should register an account and login with it, and you should be ready to join an online multiplayer game from the list that appears.&lt;br /&gt;
&lt;br /&gt;
It&#039;s likely that you don&#039;t have the correct map or mod at this point, so just get them and join the game. You don&#039;t need to restart your lobby client after downloading the files.&lt;br /&gt;
&lt;br /&gt;
It&#039;s recommended that you spectate a couple of high rank games first, to get some idea of how the game should be played. Some hosts don&#039;t allow spectators, but most do.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== game dies with sounds/button9.wav &amp;quot;cant find wav file&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This or any similar error of not being able to find a specific file are usually because the mod you are using needs ota content, download &amp;amp; install as explained earlier in this document.&lt;br /&gt;
&lt;br /&gt;
==== Problems With Boost 1.34 ====&lt;br /&gt;
&lt;br /&gt;
If you get an error message when starting spring, which looks like the following but can be from any tdf file and the line numbers don&#039;t need to match either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Parse error in gamedata/explosion_alias.tdf at line 48 column 34 near&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you need this patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: rts/System/tdf_grammar.hpp&lt;br /&gt;
===================================================================&lt;br /&gt;
--- rts/System/tdf_grammar.hpp	(revision 1919)&lt;br /&gt;
+++ rts/System/tdf_grammar.hpp	(revision 3798)&lt;br /&gt;
@@ -99,6 +99,7 @@&lt;br /&gt;
             section(self.section) &lt;br /&gt;
             | gather_junk_line  // if this rule gets hit then section did not consume everything,&lt;br /&gt;
          ) &lt;br /&gt;
+        &amp;gt;&amp;gt; end_p&lt;br /&gt;
         ;&lt;br /&gt;
 &lt;br /&gt;
       gather_junk_line = &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save it to a file and go to spring source directory and say:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
patch -p0 &amp;lt; mypatchfilename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to have patch installed to be able to do this. After successfully patching, compile and install.&lt;br /&gt;
&lt;br /&gt;
==== If You Still Have Problems ====&lt;br /&gt;
&lt;br /&gt;
Join to #taspring on Freenode and tell me (semi_) that you have problems with installing, and I&#039;ll try to improve this guide to solve your problem, if I have time.&lt;br /&gt;
&lt;br /&gt;
However, generic linux problems not really related to installing this should be asked elsewhere.&lt;br /&gt;
&lt;br /&gt;
Prepare to tell me your distribution, which installation method you used, and what exactly is the error. Don&#039;t ask if I&#039;m here or not, just state your problem there and I&#039;ll look into it when I come back.&lt;br /&gt;
&lt;br /&gt;
Other common problems and solutions coming soon.&lt;br /&gt;
&lt;br /&gt;
==== Can&#039;t See Configure Options Before Configuring ====&lt;br /&gt;
&lt;br /&gt;
If you want to see the configure options, because of a bug in the buildsystem you have to have spring configured first. But if configure fails, you are out of luck. So I have listed the options here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scons --help&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
make: Nothing to be done for `all&#039;.&lt;br /&gt;
Succes building streflop!&lt;br /&gt;
Updating bitmaps.sdz&lt;br /&gt;
Updating springcontent.sdz&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
&lt;br /&gt;
platform: Set to linux, freebsd or windows&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: linux&lt;br /&gt;
&lt;br /&gt;
debug: Set to yes to produce a binary with debug information&lt;br /&gt;
    default: 0&lt;br /&gt;
    actual: 0&lt;br /&gt;
&lt;br /&gt;
syncdebug: Set to yes to enable the sync debugger&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
optimize: Enable processor optimizations during compilation&lt;br /&gt;
    default: 1&lt;br /&gt;
    actual: 2&lt;br /&gt;
&lt;br /&gt;
profile: Set to yes to produce a binary with profiling information&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cpppath: Set path to extra header files&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
libpath: Set path to extra libraries&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
fpmath: Set to 387 or SSE on i386 and AMD64 architectures&lt;br /&gt;
    default: 387&lt;br /&gt;
    actual: 387&lt;br /&gt;
&lt;br /&gt;
prefix: Install prefix used at runtime&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
installprefix: Install prefix used for installion&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
datadir: Data directory (relative to prefix)&lt;br /&gt;
    default: share/games/spring&lt;br /&gt;
    actual: share/games/spring&lt;br /&gt;
&lt;br /&gt;
bindir: Directory for executables (rel. to prefix)&lt;br /&gt;
    default: games&lt;br /&gt;
    actual: games&lt;br /&gt;
&lt;br /&gt;
libdir: Directory for AI plugin modules (rel. to prefix)&lt;br /&gt;
    default: lib/spring&lt;br /&gt;
    actual: lib/spring&lt;br /&gt;
&lt;br /&gt;
strip: Discard symbols from the executable &lt;br /&gt;
(only when neither debugging nor profiling)&lt;br /&gt;
    default: True&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
disable_avi: Set to no to turn on avi support&lt;br /&gt;
    default: False on windows, True otherwise&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
use_tcmalloc: Use tcmalloc from goog-perftools for memory allocation&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
use_mmgr: Use memory manager&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cachedir: Cache directory (see scons manual)&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
Use scons -H for help about command-line options.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LuaUI Crash Ingame ====&lt;br /&gt;
&lt;br /&gt;
LuaUI can crash during game, because some lua script you use has a bug. 0.75 should be resistant to this problem, but 0.74b3 is not. After crash, you won&#039;t see the bottom left tooltip box and top right resource bar anymore. Fear not, help is near:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/resbar 1&lt;br /&gt;
/tooltip 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These might not be necessary in 0.75 anymore at all.&lt;br /&gt;
&lt;br /&gt;
Also, you won&#039;t be able to change the build menu page with mouse anymore, but keys , and . do the trick.&lt;br /&gt;
&lt;br /&gt;
=== Tips ===&lt;br /&gt;
&lt;br /&gt;
* If spring hangs/crashes while in full screen mode, you can press ctrl+alt+backspace to restart X, so no need for a reboot.&lt;br /&gt;
&lt;br /&gt;
* Spring uses OpenAL for sound, Config your sound output i.e esd / arts / oss / alsa by editing /etc/openalrc or ~/.openalrc, example: (&amp;quot;&#039;(&amp;quot; is not a typo)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;(define devices &#039;(alsa))&amp;lt;br&amp;gt;(define speaker-num 2)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;(define alsa-out-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;br&amp;gt;(define alsa-in-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Adventurous people with an emu10k1 based card (sblive) can try the accelerated openal version. http://www.lost.org.uk/openal.html , don&#039;t submit audiobugs if you do.&lt;br /&gt;
&lt;br /&gt;
* If you really can&#039;t figure out how to get spring compiled, or you think there&#039;s a bug in the code or the buildsystem...&lt;br /&gt;
:* Just poke any developer on IRC:&lt;br /&gt;
::* channel &amp;lt;code&amp;gt;#taspring&amp;lt;/code&amp;gt; on [http://freenode.net/ FreeNode]&lt;br /&gt;
::* or channel &amp;lt;code&amp;gt;#sy&amp;lt;/code&amp;gt; on [http://www.quakenet.org/ QuakeNet]&lt;br /&gt;
:* Post it on [http://taspring.clan-sy.com/phpbb/ the forum]&lt;br /&gt;
:* or file a bug in our [http://taspring.clan-sy.com/mantis/ bug tracking system].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[Main_Page|&amp;lt;- Back to Main page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux Port]][[Category:Playing]]&lt;/div&gt;</summary>
		<author><name>Quilted</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16448</id>
		<title>SetupGuide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16448"/>
		<updated>2007-07-28T20:12:57Z</updated>

		<summary type="html">&lt;p&gt;Quilted: /* Getting The Dependencies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Linux Setup Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Which Version To Install ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0.75 has just been released. This affects some parts of this guide. Currently this guide is NOT updated. I will remove this notice when the pages are up to date.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To play online, you must have the same version as everyone else in the game.&lt;br /&gt;
&lt;br /&gt;
Most people should get the current release, version 0.75b2. There are usually&lt;br /&gt;
between 100 and 200 people online in the lobby, and if you want to play with&lt;br /&gt;
them, you need this.&lt;br /&gt;
&lt;br /&gt;
Older versions should only be interesting to software archeologists.&lt;br /&gt;
&lt;br /&gt;
If you want to see the bleeding edge, you can checkout svn head of spring, but&lt;br /&gt;
it can not be used to play with people who have the release, so you are&lt;br /&gt;
practically limited to playing against nemo. This is mainly interesting for&lt;br /&gt;
people who want to contribute to the project, for testing, finding bugs and&lt;br /&gt;
fixing them, and implementing new features. Head can be seriously broken from&lt;br /&gt;
time to time, or not even compile.&lt;br /&gt;
&lt;br /&gt;
=== Installing With Package Managers On Various Distributions ===&lt;br /&gt;
&lt;br /&gt;
If there is a package for your distributions preferred package manager, it is&lt;br /&gt;
recommended to use it instead of compiling the program yourself from sources.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Etch (Debian 4.0 Stable) With APT ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb etch spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Sid (Debian Unstable) With APT ====&lt;br /&gt;
&lt;br /&gt;
The current .deb for Sid is broken, because it depends on some boost packages&lt;br /&gt;
of version 1.33 that are not installable on sid, which has only 1.34. A&lt;br /&gt;
slightly more complex way to install is necessary:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt; /usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Ubuntu (any version) With APT ====&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.33, then all you need is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.34, you have to do it the same way as debian unstable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Gentoo With Portage ====&lt;br /&gt;
&lt;br /&gt;
Make an overlay for portage, download the ebuilds, and extract to populate the overlay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /usr/local/portage&lt;br /&gt;
echo &#039;PORTDIR_OVERLAY=&amp;quot;/usr/local/portage&amp;quot;&#039; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
wget http://download.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2 ||&lt;br /&gt;
    wget http://download2.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2&lt;br /&gt;
tar xjf spring-ebuilds-0.74-r3.tar.bz2 -C /usr/local/portage/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are not running unstable (~x86), do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;games-strategy/spring               ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-base-ota      ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-xta       ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-gundamrts ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-nanoblobs ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some packages need to be built with certain use flags set, this makes sure it happens:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;media-libs/libsdl    X opengl&amp;quot;     &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
echo &amp;quot;dev-libs/boost       threads&amp;quot;      &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
emerge media-libs/libsdl dev-libs/boost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add yourself to the group &amp;lt;code&amp;gt;games&amp;lt;/code&amp;gt;. Don&#039;t do this as root, do this as&lt;br /&gt;
the user you normally use to play (you have to relogin afterwards to make it&lt;br /&gt;
work):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
gpasswd -a $(whoami) games&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally emerge spring itself, along with some datafile packages (ignore the&lt;br /&gt;
use flags for spring ebuild):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge unzip spring spring-base-ota spring-mod-xta spring-mod-gundamrts&lt;br /&gt;
emerge spring-mod-nanoblobs&lt;br /&gt;
etc-update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/bin/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing 0.74b3 From Source ===&lt;br /&gt;
&lt;br /&gt;
If there is no package tailored for your distribution, you have to install from sources manually. Doing this for distributions where packages are available is not recommended.&lt;br /&gt;
&lt;br /&gt;
==== Getting The Source ====&lt;br /&gt;
&lt;br /&gt;
You can either download the source as a 4.7MB tarball (recommended) or get it&lt;br /&gt;
from the subversion repository. Either way, the result is the same for 0.74b3.&lt;br /&gt;
&lt;br /&gt;
===== Downloading A Tarball =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.75b2_src.tar.bz2&lt;br /&gt;
tar xjf spring_0.75b2_src.tar.bz2&lt;br /&gt;
cd spring_0.75b2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Checking Out From Subversion =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install subversion # if you are not on debian, figure it out&lt;br /&gt;
svn co https://taspring.clan-sy.com/svn/spring/tags/taspring_0.74b3 /tmp/spring_0.74b3&lt;br /&gt;
cd /tmp/spring_0.74b3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Getting The Dependencies ====&lt;br /&gt;
&lt;br /&gt;
For Etch (debian 4.0 stable) and Sid (debian unstable), I&#039;ve confirmed the&lt;br /&gt;
following to be the minimal set that is necessary to get. I have not tested&lt;br /&gt;
with any version of Ubuntu, but the line is probably almost identical if not&lt;br /&gt;
the same. Quilted tested with ubuntu fiesty fawn on july 28 2007.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install scons build-essential zlib1g-dev libfreetype6-dev&lt;br /&gt;
aptitude install libsdl1.2-dev libopenal-dev libglew-dev libboost-dev&lt;br /&gt;
aptitude install libboost-thread-dev libboost-regex-dev libdevil-dev&lt;br /&gt;
aptitude install python2.4-dev zip&lt;br /&gt;
aptitude install libsablevm1-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has been tested to work with a clean install of gentoo 2007.0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge dev-util/scons \&amp;gt;=media-libs/freetype-2.0.0 \&amp;gt;=media-libs/libsdl-1.2.0&lt;br /&gt;
emerge media-libs/openal =dev-lang/python-2.4\* media-libs/glew dev-libs/boost&lt;br /&gt;
emerge media-libs/devil app-arch/zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users of other distributions should be able to figure out the correct package&lt;br /&gt;
names from this. The scons configure will whine if you forget something, but it&lt;br /&gt;
does not check if you remembered to install zip, even though you still need it.&lt;br /&gt;
&lt;br /&gt;
==== Building And Installing ====&lt;br /&gt;
&lt;br /&gt;
The build will spew out warnings like the following, which you can safely ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
warning: division by zero&lt;br /&gt;
warning: &#039;q&#039; may be used uninitialized in this function&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure, build and install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
scons configure&lt;br /&gt;
scons&lt;br /&gt;
scons install&lt;br /&gt;
mkdir -p /etc/spring&lt;br /&gt;
echo &#039;$HOME/.spring&#039; &amp;gt; /etc/spring/datadir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/local/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/local/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Finalizing installation ==&lt;br /&gt;
&lt;br /&gt;
Now all the things you needed to run as root have been done. Some stuff needs to be done by the user who is going to play spring.&lt;br /&gt;
&lt;br /&gt;
I&#039;m assuming bash here, but you can use anything you like to do it of course.&lt;br /&gt;
&lt;br /&gt;
=== Making Data Directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/.spring/{base,maps,mods}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting Maps ===&lt;br /&gt;
&lt;br /&gt;
You need at least one map to succesfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/13/Maps/ Unknown Files, Map Section] and download at least one map. Save it under ~/.spring/maps/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the map name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
=== Getting Mods ===&lt;br /&gt;
&lt;br /&gt;
You need at least one mod to successfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/14/Mods/ Unknown Files, Mod Section] and download at least one mod. Save it under ~/.spring/mods/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the mod name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
If you want to play mods based on Total Annihilation, for example XTA, AA, BA, then you have to do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://ipxserver.dyndns.org/games/spring/mods/xta/base-ota-content.zip&lt;br /&gt;
unzip -d ~/.spring/base base-ota-content.zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you need to own a copy of Total Annihilation, to download this file legally.&lt;br /&gt;
&lt;br /&gt;
If you want to view unit stats of mods, [http://modinfo.unknown-files.net/modit/modit.php this] is the site for you.&lt;br /&gt;
&lt;br /&gt;
=== Editing Settings === &lt;br /&gt;
Defaults should be usable, so you can ignore this until you want to maximise your eye candy or fps :)&lt;br /&gt;
&lt;br /&gt;
When you run spring the first time, it creates ~/.springrc which contains all the settings. It is a simple text file with name=value lines, most of which are pretty obvious and can be edited by hand.&lt;br /&gt;
&lt;br /&gt;
If you want a tool for editing the file, you can use Kloot&#039;s [http://members.chello.nl/mjtobi/Settings++.tar.gz Settings++]. Untar it anywhere and open it by typing &amp;quot;./Settings++&amp;quot; and edit away.&lt;br /&gt;
&lt;br /&gt;
=== Using LuaUI ===&lt;br /&gt;
&lt;br /&gt;
Spring UI is scriptable with Lua. This is called LuaUI, and it is not enabled per default.&lt;br /&gt;
&lt;br /&gt;
Replace LuaUI=0 with LuaUI=1 in your ~/.springrc to use LuaUI.&lt;br /&gt;
&lt;br /&gt;
In 0.74b3, when you host games, you might crash more often when you use Lua, but this should be fixed in 0.75.&lt;br /&gt;
&lt;br /&gt;
Lua scripts for LuaUI can be found in [http://spring.unknown-files.net/category/19/Lua_Scripts/ Unknown Files LuaUI Section].&lt;br /&gt;
&lt;br /&gt;
In 0.74b3, you have to move LuaUI directory from your read-only data dir to your read-write data dir, to be able to customize it.&lt;br /&gt;
&lt;br /&gt;
TODO need more stuff here.&lt;br /&gt;
&lt;br /&gt;
=== Installing Lobby Client ===&lt;br /&gt;
&lt;br /&gt;
To setup online games, you need a lobby client. There are several options to choose from.&lt;br /&gt;
&lt;br /&gt;
You can also use lobby client to setup single player matches against the AI. TODO more information about setting up tasclient to play against AI.&lt;br /&gt;
&lt;br /&gt;
==== Omni ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== UnityLobby ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== SpringLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but not yet ready enough for production use.&lt;br /&gt;
&lt;br /&gt;
Homepage of SpringLobby is [http://tc.serveftp.net/trac here].&lt;br /&gt;
&lt;br /&gt;
==== AFLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but is still in beta development. However, is usable for online multiplayer. See forum thread: http://spring.clan-sy.com/phpbb/viewtopic.php?t=8691&lt;br /&gt;
&lt;br /&gt;
==== TASClient ====&lt;br /&gt;
&lt;br /&gt;
This is a windows program, but it works just fine under wine in linux, and can be used together with native linux spring. I use it myself and recommend to use this temporarily until we all can migrate to SpringLobby or AFLobby.&lt;br /&gt;
&lt;br /&gt;
The only two downsides in using this are that you have to use wine (which should not be a big problem) and your rank won&#039;t increase as long as you use it (also because of win-linux binary interaction).&lt;br /&gt;
&lt;br /&gt;
Download the installer of Spring for Windows, and run it in wine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.74b3.exe&lt;br /&gt;
wine spring_0.74b3.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No configuration of wine should be needed, if your distribution is sane.&lt;br /&gt;
&lt;br /&gt;
Complete the install, and let it install to the default location, which is Program Files\Spring.&lt;br /&gt;
&lt;br /&gt;
Assuming you completed the earlier step of creating the data directories, now we need to link the windows and linux data together:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
touch ~/.wine/drive_c/Program\ Files/Spring/script.txt&lt;br /&gt;
ln -s ~/.wine/drive_c/Program\ Files/Spring/script.txt ~/.spring/script.txt&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/maps&lt;br /&gt;
ln -s ~/.spring/maps ~/.wine/drive_c/Program\ Files/Spring/maps&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/mods&lt;br /&gt;
ln -s ~/.spring/mods ~/.wine/drive_c/Program\ Files/Spring/mods&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/base&lt;br /&gt;
ln -s ~/.spring/base ~/.wine/drive_c/Program\ Files/Spring/base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the windows-TASClient to be able to launch native linux spring, we need a wrapper exe in between them. Source code for wrapper exe is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;tchar.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NATIVE_SPRING_LOCATION TEXT(&amp;quot;/usr/games/spring&amp;quot;)&lt;br /&gt;
#define SPRING_VERSION_REPLY &amp;quot;Spring 0.74b3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  if (argc &amp;gt; 1 &amp;amp;&amp;amp; !strcmp(argv[1], &amp;quot;/V&amp;quot;))&lt;br /&gt;
  {&lt;br /&gt;
     puts(SPRING_VERSION_REPLY);&lt;br /&gt;
     return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  STARTUPINFO si;&lt;br /&gt;
  ZeroMemory( &amp;amp;si, sizeof(si) );&lt;br /&gt;
  si.cb = sizeof(si);&lt;br /&gt;
&lt;br /&gt;
  PROCESS_INFORMATION pi;&lt;br /&gt;
  ZeroMemory( &amp;amp;pi, sizeof(pi) );&lt;br /&gt;
&lt;br /&gt;
  // Start the child process.&lt;br /&gt;
  if (!CreateProcess(&lt;br /&gt;
    _tcsdup(NATIVE_SPRING_LOCATION), // No module name (use command line)&lt;br /&gt;
    GetCommandLine(),                // Command line&lt;br /&gt;
    NULL,                            // Process handle not inheritable&lt;br /&gt;
    NULL,                            // Thread handle not inheritable&lt;br /&gt;
    FALSE,                           // Set handle inheritance to FALSE&lt;br /&gt;
    0,                               // No creation flags&lt;br /&gt;
    NULL,                            // Use parent&#039;s environment block&lt;br /&gt;
    NULL,                            // Use parent&#039;s starting directory&lt;br /&gt;
    &amp;amp;si,                             // Pointer to STARTUPINFO structure&lt;br /&gt;
    &amp;amp;pi))                            // Pointer to PROCESS_INFORMATION structure&lt;br /&gt;
    {&lt;br /&gt;
      printf( &amp;quot;CreateProcess failed (%d).\n&amp;quot;, GetLastError() );&lt;br /&gt;
      return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  // Wait until child process exits. Wine actually does not know how to wait&lt;br /&gt;
  // for native linux process, so this will return instantly and your gametime&lt;br /&gt;
  // counter does not increase so you don&#039;t get any rank.&lt;br /&gt;
  WaitForSingleObject( pi.hProcess, INFINITE );&lt;br /&gt;
&lt;br /&gt;
  // Close process and thread handles.&lt;br /&gt;
  CloseHandle( pi.hProcess );&lt;br /&gt;
  CloseHandle( pi.hThread );&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might need to modify the define-lines in the beginning to match your location and version. Remember, the version reply must be exactly right, or your game just breaks totally in multiplayer or you can&#039;t even login to lobby server.&lt;br /&gt;
&lt;br /&gt;
Save this code to spring.cc for example, and then we need to install a windows-crosscompiler and compile a windows binary from it inside our linux box like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install mingw32&lt;br /&gt;
i586-mingw32msvc-g++ spring.cc -o ~/.wine/drive_c/Program\ Files/Spring/spring.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This assumed debian for installing the crosscompiler, but mingw32 is probably simple to install on other distributions as well.&lt;br /&gt;
&lt;br /&gt;
TODO should provide binary packages for this launcher, as all people don&#039;t have the possibility to set up cross compiler.&lt;br /&gt;
&lt;br /&gt;
Then you should make a script for launching TASClient. The script can be named tasclient for example, and just put it somewhere in your path and make it executable. The script code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env sh&lt;br /&gt;
cd ~/.wine/drive_c/Program\ Files/Spring&lt;br /&gt;
wine TASClient.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you should be able to type tasclient on the command line, and the lobby appears. &#039;&#039;&#039;This cd operation is necessary. If your working directory is not the same as TASClient.exe&#039;s location, it will just give access violations to you.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that every time when you have added new maps, the lobby client caches them and this will take some time, or a long time if you downloaded many maps since last time. Just wait patiently.&lt;br /&gt;
&lt;br /&gt;
Then you should register an account and login with it, and you should be ready to join an online multiplayer game from the list that appears.&lt;br /&gt;
&lt;br /&gt;
It&#039;s likely that you don&#039;t have the correct map or mod at this point, so just get them and join the game. You don&#039;t need to restart your lobby client after downloading the files.&lt;br /&gt;
&lt;br /&gt;
It&#039;s recommended that you spectate a couple of high rank games first, to get some idea of how the game should be played. Some hosts don&#039;t allow spectators, but most do.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== game dies with sounds/button9.wav &amp;quot;cant find wav file&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This or any similar error of not being able to find a specific file are usually because the mod you are using needs ota content, download &amp;amp; install as explained earlier in this document.&lt;br /&gt;
&lt;br /&gt;
==== Problems With Boost 1.34 ====&lt;br /&gt;
&lt;br /&gt;
If you get an error message when starting spring, which looks like the following but can be from any tdf file and the line numbers don&#039;t need to match either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Parse error in gamedata/explosion_alias.tdf at line 48 column 34 near&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you need this patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: rts/System/tdf_grammar.hpp&lt;br /&gt;
===================================================================&lt;br /&gt;
--- rts/System/tdf_grammar.hpp	(revision 1919)&lt;br /&gt;
+++ rts/System/tdf_grammar.hpp	(revision 3798)&lt;br /&gt;
@@ -99,6 +99,7 @@&lt;br /&gt;
             section(self.section) &lt;br /&gt;
             | gather_junk_line  // if this rule gets hit then section did not consume everything,&lt;br /&gt;
          ) &lt;br /&gt;
+        &amp;gt;&amp;gt; end_p&lt;br /&gt;
         ;&lt;br /&gt;
 &lt;br /&gt;
       gather_junk_line = &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save it to a file and go to spring source directory and say:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
patch -p0 &amp;lt; mypatchfilename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to have patch installed to be able to do this. After successfully patching, compile and install.&lt;br /&gt;
&lt;br /&gt;
==== If You Still Have Problems ====&lt;br /&gt;
&lt;br /&gt;
Join to #taspring on Freenode and tell me (semi_) that you have problems with installing, and I&#039;ll try to improve this guide to solve your problem, if I have time.&lt;br /&gt;
&lt;br /&gt;
However, generic linux problems not really related to installing this should be asked elsewhere.&lt;br /&gt;
&lt;br /&gt;
Prepare to tell me your distribution, which installation method you used, and what exactly is the error. Don&#039;t ask if I&#039;m here or not, just state your problem there and I&#039;ll look into it when I come back.&lt;br /&gt;
&lt;br /&gt;
Other common problems and solutions coming soon.&lt;br /&gt;
&lt;br /&gt;
==== Can&#039;t See Configure Options Before Configuring ====&lt;br /&gt;
&lt;br /&gt;
If you want to see the configure options, because of a bug in the buildsystem you have to have spring configured first. But if configure fails, you are out of luck. So I have listed the options here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scons --help&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
make: Nothing to be done for `all&#039;.&lt;br /&gt;
Succes building streflop!&lt;br /&gt;
Updating bitmaps.sdz&lt;br /&gt;
Updating springcontent.sdz&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
&lt;br /&gt;
platform: Set to linux, freebsd or windows&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: linux&lt;br /&gt;
&lt;br /&gt;
debug: Set to yes to produce a binary with debug information&lt;br /&gt;
    default: 0&lt;br /&gt;
    actual: 0&lt;br /&gt;
&lt;br /&gt;
syncdebug: Set to yes to enable the sync debugger&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
optimize: Enable processor optimizations during compilation&lt;br /&gt;
    default: 1&lt;br /&gt;
    actual: 2&lt;br /&gt;
&lt;br /&gt;
profile: Set to yes to produce a binary with profiling information&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cpppath: Set path to extra header files&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
libpath: Set path to extra libraries&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
fpmath: Set to 387 or SSE on i386 and AMD64 architectures&lt;br /&gt;
    default: 387&lt;br /&gt;
    actual: 387&lt;br /&gt;
&lt;br /&gt;
prefix: Install prefix used at runtime&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
installprefix: Install prefix used for installion&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
datadir: Data directory (relative to prefix)&lt;br /&gt;
    default: share/games/spring&lt;br /&gt;
    actual: share/games/spring&lt;br /&gt;
&lt;br /&gt;
bindir: Directory for executables (rel. to prefix)&lt;br /&gt;
    default: games&lt;br /&gt;
    actual: games&lt;br /&gt;
&lt;br /&gt;
libdir: Directory for AI plugin modules (rel. to prefix)&lt;br /&gt;
    default: lib/spring&lt;br /&gt;
    actual: lib/spring&lt;br /&gt;
&lt;br /&gt;
strip: Discard symbols from the executable &lt;br /&gt;
(only when neither debugging nor profiling)&lt;br /&gt;
    default: True&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
disable_avi: Set to no to turn on avi support&lt;br /&gt;
    default: False on windows, True otherwise&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
use_tcmalloc: Use tcmalloc from goog-perftools for memory allocation&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
use_mmgr: Use memory manager&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cachedir: Cache directory (see scons manual)&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
Use scons -H for help about command-line options.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LuaUI Crash Ingame ====&lt;br /&gt;
&lt;br /&gt;
LuaUI can crash during game, because some lua script you use has a bug. 0.75 should be resistant to this problem, but 0.74b3 is not. After crash, you won&#039;t see the bottom left tooltip box and top right resource bar anymore. Fear not, help is near:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/resbar 1&lt;br /&gt;
/tooltip 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These might not be necessary in 0.75 anymore at all.&lt;br /&gt;
&lt;br /&gt;
Also, you won&#039;t be able to change the build menu page with mouse anymore, but keys , and . do the trick.&lt;br /&gt;
&lt;br /&gt;
=== Tips ===&lt;br /&gt;
&lt;br /&gt;
* If spring hangs/crashes while in full screen mode, you can press ctrl+alt+backspace to restart X, so no need for a reboot.&lt;br /&gt;
&lt;br /&gt;
* Spring uses OpenAL for sound, Config your sound output i.e esd / arts / oss / alsa by editing /etc/openalrc or ~/.openalrc, example: (&amp;quot;&#039;(&amp;quot; is not a typo)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;(define devices &#039;(alsa))&amp;lt;br&amp;gt;(define speaker-num 2)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;(define alsa-out-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;br&amp;gt;(define alsa-in-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Adventurous people with an emu10k1 based card (sblive) can try the accelerated openal version. http://www.lost.org.uk/openal.html , don&#039;t submit audiobugs if you do.&lt;br /&gt;
&lt;br /&gt;
* If you really can&#039;t figure out how to get spring compiled, or you think there&#039;s a bug in the code or the buildsystem...&lt;br /&gt;
:* Just poke any developer on IRC:&lt;br /&gt;
::* channel &amp;lt;code&amp;gt;#taspring&amp;lt;/code&amp;gt; on [http://freenode.net/ FreeNode]&lt;br /&gt;
::* or channel &amp;lt;code&amp;gt;#sy&amp;lt;/code&amp;gt; on [http://www.quakenet.org/ QuakeNet]&lt;br /&gt;
:* Post it on [http://taspring.clan-sy.com/phpbb/ the forum]&lt;br /&gt;
:* or file a bug in our [http://taspring.clan-sy.com/mantis/ bug tracking system].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[Main_Page|&amp;lt;- Back to Main page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux Port]][[Category:Playing]]&lt;/div&gt;</summary>
		<author><name>Quilted</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16447</id>
		<title>SetupGuide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16447"/>
		<updated>2007-07-28T20:09:29Z</updated>

		<summary type="html">&lt;p&gt;Quilted: /* Getting The Dependencies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Linux Setup Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Which Version To Install ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0.75 has just been released. This affects some parts of this guide. Currently this guide is NOT updated. I will remove this notice when the pages are up to date.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To play online, you must have the same version as everyone else in the game.&lt;br /&gt;
&lt;br /&gt;
Most people should get the current release, version 0.75b2. There are usually&lt;br /&gt;
between 100 and 200 people online in the lobby, and if you want to play with&lt;br /&gt;
them, you need this.&lt;br /&gt;
&lt;br /&gt;
Older versions should only be interesting to software archeologists.&lt;br /&gt;
&lt;br /&gt;
If you want to see the bleeding edge, you can checkout svn head of spring, but&lt;br /&gt;
it can not be used to play with people who have the release, so you are&lt;br /&gt;
practically limited to playing against nemo. This is mainly interesting for&lt;br /&gt;
people who want to contribute to the project, for testing, finding bugs and&lt;br /&gt;
fixing them, and implementing new features. Head can be seriously broken from&lt;br /&gt;
time to time, or not even compile.&lt;br /&gt;
&lt;br /&gt;
=== Installing With Package Managers On Various Distributions ===&lt;br /&gt;
&lt;br /&gt;
If there is a package for your distributions preferred package manager, it is&lt;br /&gt;
recommended to use it instead of compiling the program yourself from sources.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Etch (Debian 4.0 Stable) With APT ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb etch spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Sid (Debian Unstable) With APT ====&lt;br /&gt;
&lt;br /&gt;
The current .deb for Sid is broken, because it depends on some boost packages&lt;br /&gt;
of version 1.33 that are not installable on sid, which has only 1.34. A&lt;br /&gt;
slightly more complex way to install is necessary:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt; /usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Ubuntu (any version) With APT ====&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.33, then all you need is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.34, you have to do it the same way as debian unstable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Gentoo With Portage ====&lt;br /&gt;
&lt;br /&gt;
Make an overlay for portage, download the ebuilds, and extract to populate the overlay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /usr/local/portage&lt;br /&gt;
echo &#039;PORTDIR_OVERLAY=&amp;quot;/usr/local/portage&amp;quot;&#039; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
wget http://download.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2 ||&lt;br /&gt;
    wget http://download2.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2&lt;br /&gt;
tar xjf spring-ebuilds-0.74-r3.tar.bz2 -C /usr/local/portage/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are not running unstable (~x86), do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;games-strategy/spring               ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-base-ota      ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-xta       ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-gundamrts ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-nanoblobs ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some packages need to be built with certain use flags set, this makes sure it happens:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;media-libs/libsdl    X opengl&amp;quot;     &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
echo &amp;quot;dev-libs/boost       threads&amp;quot;      &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
emerge media-libs/libsdl dev-libs/boost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add yourself to the group &amp;lt;code&amp;gt;games&amp;lt;/code&amp;gt;. Don&#039;t do this as root, do this as&lt;br /&gt;
the user you normally use to play (you have to relogin afterwards to make it&lt;br /&gt;
work):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
gpasswd -a $(whoami) games&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally emerge spring itself, along with some datafile packages (ignore the&lt;br /&gt;
use flags for spring ebuild):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge unzip spring spring-base-ota spring-mod-xta spring-mod-gundamrts&lt;br /&gt;
emerge spring-mod-nanoblobs&lt;br /&gt;
etc-update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/bin/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing 0.74b3 From Source ===&lt;br /&gt;
&lt;br /&gt;
If there is no package tailored for your distribution, you have to install from sources manually. Doing this for distributions where packages are available is not recommended.&lt;br /&gt;
&lt;br /&gt;
==== Getting The Source ====&lt;br /&gt;
&lt;br /&gt;
You can either download the source as a 4.7MB tarball (recommended) or get it&lt;br /&gt;
from the subversion repository. Either way, the result is the same for 0.74b3.&lt;br /&gt;
&lt;br /&gt;
===== Downloading A Tarball =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.75b2_src.tar.bz2&lt;br /&gt;
tar xjf spring_0.75b2_src.tar.bz2&lt;br /&gt;
cd spring_0.75b2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Checking Out From Subversion =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install subversion # if you are not on debian, figure it out&lt;br /&gt;
svn co https://taspring.clan-sy.com/svn/spring/tags/taspring_0.74b3 /tmp/spring_0.74b3&lt;br /&gt;
cd /tmp/spring_0.74b3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Getting The Dependencies ====&lt;br /&gt;
&lt;br /&gt;
For Etch (debian 4.0 stable) and Sid (debian unstable), I&#039;ve confirmed the&lt;br /&gt;
following to be the minimal set that is necessary to get. I have not tested&lt;br /&gt;
with any version of Ubuntu, but the line is probably almost identical if not&lt;br /&gt;
the same. Quilted tested with ubuntu fiesty fawn on july 28 2007.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install scons build-essential zlib1g-dev libfreetype6-dev&lt;br /&gt;
aptitude install libsdl1.2-dev libopenal-dev libglew-dev libboost-dev&lt;br /&gt;
aptitude install libboost-thread-dev libboost-regex-dev libdevil-dev&lt;br /&gt;
aptitude install python2.4-dev zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has been tested to work with a clean install of gentoo 2007.0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge dev-util/scons \&amp;gt;=media-libs/freetype-2.0.0 \&amp;gt;=media-libs/libsdl-1.2.0&lt;br /&gt;
emerge media-libs/openal =dev-lang/python-2.4\* media-libs/glew dev-libs/boost&lt;br /&gt;
emerge media-libs/devil app-arch/zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users of other distributions should be able to figure out the correct package&lt;br /&gt;
names from this. The scons configure will whine if you forget something, but it&lt;br /&gt;
does not check if you remembered to install zip, even though you still need it.&lt;br /&gt;
&lt;br /&gt;
==== Building And Installing ====&lt;br /&gt;
&lt;br /&gt;
The build will spew out warnings like the following, which you can safely ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
warning: division by zero&lt;br /&gt;
warning: &#039;q&#039; may be used uninitialized in this function&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure, build and install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
scons configure&lt;br /&gt;
scons&lt;br /&gt;
scons install&lt;br /&gt;
mkdir -p /etc/spring&lt;br /&gt;
echo &#039;$HOME/.spring&#039; &amp;gt; /etc/spring/datadir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/local/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/local/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Finalizing installation ==&lt;br /&gt;
&lt;br /&gt;
Now all the things you needed to run as root have been done. Some stuff needs to be done by the user who is going to play spring.&lt;br /&gt;
&lt;br /&gt;
I&#039;m assuming bash here, but you can use anything you like to do it of course.&lt;br /&gt;
&lt;br /&gt;
=== Making Data Directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/.spring/{base,maps,mods}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting Maps ===&lt;br /&gt;
&lt;br /&gt;
You need at least one map to succesfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/13/Maps/ Unknown Files, Map Section] and download at least one map. Save it under ~/.spring/maps/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the map name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
=== Getting Mods ===&lt;br /&gt;
&lt;br /&gt;
You need at least one mod to successfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/14/Mods/ Unknown Files, Mod Section] and download at least one mod. Save it under ~/.spring/mods/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the mod name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
If you want to play mods based on Total Annihilation, for example XTA, AA, BA, then you have to do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://ipxserver.dyndns.org/games/spring/mods/xta/base-ota-content.zip&lt;br /&gt;
unzip -d ~/.spring/base base-ota-content.zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you need to own a copy of Total Annihilation, to download this file legally.&lt;br /&gt;
&lt;br /&gt;
If you want to view unit stats of mods, [http://modinfo.unknown-files.net/modit/modit.php this] is the site for you.&lt;br /&gt;
&lt;br /&gt;
=== Editing Settings === &lt;br /&gt;
Defaults should be usable, so you can ignore this until you want to maximise your eye candy or fps :)&lt;br /&gt;
&lt;br /&gt;
When you run spring the first time, it creates ~/.springrc which contains all the settings. It is a simple text file with name=value lines, most of which are pretty obvious and can be edited by hand.&lt;br /&gt;
&lt;br /&gt;
If you want a tool for editing the file, you can use Kloot&#039;s [http://members.chello.nl/mjtobi/Settings++.tar.gz Settings++]. Untar it anywhere and open it by typing &amp;quot;./Settings++&amp;quot; and edit away.&lt;br /&gt;
&lt;br /&gt;
=== Using LuaUI ===&lt;br /&gt;
&lt;br /&gt;
Spring UI is scriptable with Lua. This is called LuaUI, and it is not enabled per default.&lt;br /&gt;
&lt;br /&gt;
Replace LuaUI=0 with LuaUI=1 in your ~/.springrc to use LuaUI.&lt;br /&gt;
&lt;br /&gt;
In 0.74b3, when you host games, you might crash more often when you use Lua, but this should be fixed in 0.75.&lt;br /&gt;
&lt;br /&gt;
Lua scripts for LuaUI can be found in [http://spring.unknown-files.net/category/19/Lua_Scripts/ Unknown Files LuaUI Section].&lt;br /&gt;
&lt;br /&gt;
In 0.74b3, you have to move LuaUI directory from your read-only data dir to your read-write data dir, to be able to customize it.&lt;br /&gt;
&lt;br /&gt;
TODO need more stuff here.&lt;br /&gt;
&lt;br /&gt;
=== Installing Lobby Client ===&lt;br /&gt;
&lt;br /&gt;
To setup online games, you need a lobby client. There are several options to choose from.&lt;br /&gt;
&lt;br /&gt;
You can also use lobby client to setup single player matches against the AI. TODO more information about setting up tasclient to play against AI.&lt;br /&gt;
&lt;br /&gt;
==== Omni ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== UnityLobby ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== SpringLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but not yet ready enough for production use.&lt;br /&gt;
&lt;br /&gt;
Homepage of SpringLobby is [http://tc.serveftp.net/trac here].&lt;br /&gt;
&lt;br /&gt;
==== AFLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but is still in beta development. However, is usable for online multiplayer. See forum thread: http://spring.clan-sy.com/phpbb/viewtopic.php?t=8691&lt;br /&gt;
&lt;br /&gt;
==== TASClient ====&lt;br /&gt;
&lt;br /&gt;
This is a windows program, but it works just fine under wine in linux, and can be used together with native linux spring. I use it myself and recommend to use this temporarily until we all can migrate to SpringLobby or AFLobby.&lt;br /&gt;
&lt;br /&gt;
The only two downsides in using this are that you have to use wine (which should not be a big problem) and your rank won&#039;t increase as long as you use it (also because of win-linux binary interaction).&lt;br /&gt;
&lt;br /&gt;
Download the installer of Spring for Windows, and run it in wine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.74b3.exe&lt;br /&gt;
wine spring_0.74b3.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No configuration of wine should be needed, if your distribution is sane.&lt;br /&gt;
&lt;br /&gt;
Complete the install, and let it install to the default location, which is Program Files\Spring.&lt;br /&gt;
&lt;br /&gt;
Assuming you completed the earlier step of creating the data directories, now we need to link the windows and linux data together:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
touch ~/.wine/drive_c/Program\ Files/Spring/script.txt&lt;br /&gt;
ln -s ~/.wine/drive_c/Program\ Files/Spring/script.txt ~/.spring/script.txt&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/maps&lt;br /&gt;
ln -s ~/.spring/maps ~/.wine/drive_c/Program\ Files/Spring/maps&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/mods&lt;br /&gt;
ln -s ~/.spring/mods ~/.wine/drive_c/Program\ Files/Spring/mods&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/base&lt;br /&gt;
ln -s ~/.spring/base ~/.wine/drive_c/Program\ Files/Spring/base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the windows-TASClient to be able to launch native linux spring, we need a wrapper exe in between them. Source code for wrapper exe is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;tchar.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NATIVE_SPRING_LOCATION TEXT(&amp;quot;/usr/games/spring&amp;quot;)&lt;br /&gt;
#define SPRING_VERSION_REPLY &amp;quot;Spring 0.74b3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  if (argc &amp;gt; 1 &amp;amp;&amp;amp; !strcmp(argv[1], &amp;quot;/V&amp;quot;))&lt;br /&gt;
  {&lt;br /&gt;
     puts(SPRING_VERSION_REPLY);&lt;br /&gt;
     return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  STARTUPINFO si;&lt;br /&gt;
  ZeroMemory( &amp;amp;si, sizeof(si) );&lt;br /&gt;
  si.cb = sizeof(si);&lt;br /&gt;
&lt;br /&gt;
  PROCESS_INFORMATION pi;&lt;br /&gt;
  ZeroMemory( &amp;amp;pi, sizeof(pi) );&lt;br /&gt;
&lt;br /&gt;
  // Start the child process.&lt;br /&gt;
  if (!CreateProcess(&lt;br /&gt;
    _tcsdup(NATIVE_SPRING_LOCATION), // No module name (use command line)&lt;br /&gt;
    GetCommandLine(),                // Command line&lt;br /&gt;
    NULL,                            // Process handle not inheritable&lt;br /&gt;
    NULL,                            // Thread handle not inheritable&lt;br /&gt;
    FALSE,                           // Set handle inheritance to FALSE&lt;br /&gt;
    0,                               // No creation flags&lt;br /&gt;
    NULL,                            // Use parent&#039;s environment block&lt;br /&gt;
    NULL,                            // Use parent&#039;s starting directory&lt;br /&gt;
    &amp;amp;si,                             // Pointer to STARTUPINFO structure&lt;br /&gt;
    &amp;amp;pi))                            // Pointer to PROCESS_INFORMATION structure&lt;br /&gt;
    {&lt;br /&gt;
      printf( &amp;quot;CreateProcess failed (%d).\n&amp;quot;, GetLastError() );&lt;br /&gt;
      return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  // Wait until child process exits. Wine actually does not know how to wait&lt;br /&gt;
  // for native linux process, so this will return instantly and your gametime&lt;br /&gt;
  // counter does not increase so you don&#039;t get any rank.&lt;br /&gt;
  WaitForSingleObject( pi.hProcess, INFINITE );&lt;br /&gt;
&lt;br /&gt;
  // Close process and thread handles.&lt;br /&gt;
  CloseHandle( pi.hProcess );&lt;br /&gt;
  CloseHandle( pi.hThread );&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might need to modify the define-lines in the beginning to match your location and version. Remember, the version reply must be exactly right, or your game just breaks totally in multiplayer or you can&#039;t even login to lobby server.&lt;br /&gt;
&lt;br /&gt;
Save this code to spring.cc for example, and then we need to install a windows-crosscompiler and compile a windows binary from it inside our linux box like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install mingw32&lt;br /&gt;
i586-mingw32msvc-g++ spring.cc -o ~/.wine/drive_c/Program\ Files/Spring/spring.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This assumed debian for installing the crosscompiler, but mingw32 is probably simple to install on other distributions as well.&lt;br /&gt;
&lt;br /&gt;
TODO should provide binary packages for this launcher, as all people don&#039;t have the possibility to set up cross compiler.&lt;br /&gt;
&lt;br /&gt;
Then you should make a script for launching TASClient. The script can be named tasclient for example, and just put it somewhere in your path and make it executable. The script code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env sh&lt;br /&gt;
cd ~/.wine/drive_c/Program\ Files/Spring&lt;br /&gt;
wine TASClient.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you should be able to type tasclient on the command line, and the lobby appears. &#039;&#039;&#039;This cd operation is necessary. If your working directory is not the same as TASClient.exe&#039;s location, it will just give access violations to you.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that every time when you have added new maps, the lobby client caches them and this will take some time, or a long time if you downloaded many maps since last time. Just wait patiently.&lt;br /&gt;
&lt;br /&gt;
Then you should register an account and login with it, and you should be ready to join an online multiplayer game from the list that appears.&lt;br /&gt;
&lt;br /&gt;
It&#039;s likely that you don&#039;t have the correct map or mod at this point, so just get them and join the game. You don&#039;t need to restart your lobby client after downloading the files.&lt;br /&gt;
&lt;br /&gt;
It&#039;s recommended that you spectate a couple of high rank games first, to get some idea of how the game should be played. Some hosts don&#039;t allow spectators, but most do.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== game dies with sounds/button9.wav &amp;quot;cant find wav file&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This or any similar error of not being able to find a specific file are usually because the mod you are using needs ota content, download &amp;amp; install as explained earlier in this document.&lt;br /&gt;
&lt;br /&gt;
==== Problems With Boost 1.34 ====&lt;br /&gt;
&lt;br /&gt;
If you get an error message when starting spring, which looks like the following but can be from any tdf file and the line numbers don&#039;t need to match either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Parse error in gamedata/explosion_alias.tdf at line 48 column 34 near&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you need this patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: rts/System/tdf_grammar.hpp&lt;br /&gt;
===================================================================&lt;br /&gt;
--- rts/System/tdf_grammar.hpp	(revision 1919)&lt;br /&gt;
+++ rts/System/tdf_grammar.hpp	(revision 3798)&lt;br /&gt;
@@ -99,6 +99,7 @@&lt;br /&gt;
             section(self.section) &lt;br /&gt;
             | gather_junk_line  // if this rule gets hit then section did not consume everything,&lt;br /&gt;
          ) &lt;br /&gt;
+        &amp;gt;&amp;gt; end_p&lt;br /&gt;
         ;&lt;br /&gt;
 &lt;br /&gt;
       gather_junk_line = &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save it to a file and go to spring source directory and say:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
patch -p0 &amp;lt; mypatchfilename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to have patch installed to be able to do this. After successfully patching, compile and install.&lt;br /&gt;
&lt;br /&gt;
==== If You Still Have Problems ====&lt;br /&gt;
&lt;br /&gt;
Join to #taspring on Freenode and tell me (semi_) that you have problems with installing, and I&#039;ll try to improve this guide to solve your problem, if I have time.&lt;br /&gt;
&lt;br /&gt;
However, generic linux problems not really related to installing this should be asked elsewhere.&lt;br /&gt;
&lt;br /&gt;
Prepare to tell me your distribution, which installation method you used, and what exactly is the error. Don&#039;t ask if I&#039;m here or not, just state your problem there and I&#039;ll look into it when I come back.&lt;br /&gt;
&lt;br /&gt;
Other common problems and solutions coming soon.&lt;br /&gt;
&lt;br /&gt;
==== Can&#039;t See Configure Options Before Configuring ====&lt;br /&gt;
&lt;br /&gt;
If you want to see the configure options, because of a bug in the buildsystem you have to have spring configured first. But if configure fails, you are out of luck. So I have listed the options here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scons --help&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
make: Nothing to be done for `all&#039;.&lt;br /&gt;
Succes building streflop!&lt;br /&gt;
Updating bitmaps.sdz&lt;br /&gt;
Updating springcontent.sdz&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
&lt;br /&gt;
platform: Set to linux, freebsd or windows&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: linux&lt;br /&gt;
&lt;br /&gt;
debug: Set to yes to produce a binary with debug information&lt;br /&gt;
    default: 0&lt;br /&gt;
    actual: 0&lt;br /&gt;
&lt;br /&gt;
syncdebug: Set to yes to enable the sync debugger&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
optimize: Enable processor optimizations during compilation&lt;br /&gt;
    default: 1&lt;br /&gt;
    actual: 2&lt;br /&gt;
&lt;br /&gt;
profile: Set to yes to produce a binary with profiling information&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cpppath: Set path to extra header files&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
libpath: Set path to extra libraries&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
fpmath: Set to 387 or SSE on i386 and AMD64 architectures&lt;br /&gt;
    default: 387&lt;br /&gt;
    actual: 387&lt;br /&gt;
&lt;br /&gt;
prefix: Install prefix used at runtime&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
installprefix: Install prefix used for installion&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
datadir: Data directory (relative to prefix)&lt;br /&gt;
    default: share/games/spring&lt;br /&gt;
    actual: share/games/spring&lt;br /&gt;
&lt;br /&gt;
bindir: Directory for executables (rel. to prefix)&lt;br /&gt;
    default: games&lt;br /&gt;
    actual: games&lt;br /&gt;
&lt;br /&gt;
libdir: Directory for AI plugin modules (rel. to prefix)&lt;br /&gt;
    default: lib/spring&lt;br /&gt;
    actual: lib/spring&lt;br /&gt;
&lt;br /&gt;
strip: Discard symbols from the executable &lt;br /&gt;
(only when neither debugging nor profiling)&lt;br /&gt;
    default: True&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
disable_avi: Set to no to turn on avi support&lt;br /&gt;
    default: False on windows, True otherwise&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
use_tcmalloc: Use tcmalloc from goog-perftools for memory allocation&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
use_mmgr: Use memory manager&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cachedir: Cache directory (see scons manual)&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
Use scons -H for help about command-line options.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LuaUI Crash Ingame ====&lt;br /&gt;
&lt;br /&gt;
LuaUI can crash during game, because some lua script you use has a bug. 0.75 should be resistant to this problem, but 0.74b3 is not. After crash, you won&#039;t see the bottom left tooltip box and top right resource bar anymore. Fear not, help is near:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/resbar 1&lt;br /&gt;
/tooltip 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These might not be necessary in 0.75 anymore at all.&lt;br /&gt;
&lt;br /&gt;
Also, you won&#039;t be able to change the build menu page with mouse anymore, but keys , and . do the trick.&lt;br /&gt;
&lt;br /&gt;
=== Tips ===&lt;br /&gt;
&lt;br /&gt;
* If spring hangs/crashes while in full screen mode, you can press ctrl+alt+backspace to restart X, so no need for a reboot.&lt;br /&gt;
&lt;br /&gt;
* Spring uses OpenAL for sound, Config your sound output i.e esd / arts / oss / alsa by editing /etc/openalrc or ~/.openalrc, example: (&amp;quot;&#039;(&amp;quot; is not a typo)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;(define devices &#039;(alsa))&amp;lt;br&amp;gt;(define speaker-num 2)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;(define alsa-out-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;br&amp;gt;(define alsa-in-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Adventurous people with an emu10k1 based card (sblive) can try the accelerated openal version. http://www.lost.org.uk/openal.html , don&#039;t submit audiobugs if you do.&lt;br /&gt;
&lt;br /&gt;
* If you really can&#039;t figure out how to get spring compiled, or you think there&#039;s a bug in the code or the buildsystem...&lt;br /&gt;
:* Just poke any developer on IRC:&lt;br /&gt;
::* channel &amp;lt;code&amp;gt;#taspring&amp;lt;/code&amp;gt; on [http://freenode.net/ FreeNode]&lt;br /&gt;
::* or channel &amp;lt;code&amp;gt;#sy&amp;lt;/code&amp;gt; on [http://www.quakenet.org/ QuakeNet]&lt;br /&gt;
:* Post it on [http://taspring.clan-sy.com/phpbb/ the forum]&lt;br /&gt;
:* or file a bug in our [http://taspring.clan-sy.com/mantis/ bug tracking system].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[Main_Page|&amp;lt;- Back to Main page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux Port]][[Category:Playing]]&lt;/div&gt;</summary>
		<author><name>Quilted</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16446</id>
		<title>SetupGuide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16446"/>
		<updated>2007-07-28T20:02:40Z</updated>

		<summary type="html">&lt;p&gt;Quilted: /* Downloading A Tarball */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Linux Setup Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Which Version To Install ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0.75 has just been released. This affects some parts of this guide. Currently this guide is NOT updated. I will remove this notice when the pages are up to date.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To play online, you must have the same version as everyone else in the game.&lt;br /&gt;
&lt;br /&gt;
Most people should get the current release, version 0.75b2. There are usually&lt;br /&gt;
between 100 and 200 people online in the lobby, and if you want to play with&lt;br /&gt;
them, you need this.&lt;br /&gt;
&lt;br /&gt;
Older versions should only be interesting to software archeologists.&lt;br /&gt;
&lt;br /&gt;
If you want to see the bleeding edge, you can checkout svn head of spring, but&lt;br /&gt;
it can not be used to play with people who have the release, so you are&lt;br /&gt;
practically limited to playing against nemo. This is mainly interesting for&lt;br /&gt;
people who want to contribute to the project, for testing, finding bugs and&lt;br /&gt;
fixing them, and implementing new features. Head can be seriously broken from&lt;br /&gt;
time to time, or not even compile.&lt;br /&gt;
&lt;br /&gt;
=== Installing With Package Managers On Various Distributions ===&lt;br /&gt;
&lt;br /&gt;
If there is a package for your distributions preferred package manager, it is&lt;br /&gt;
recommended to use it instead of compiling the program yourself from sources.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Etch (Debian 4.0 Stable) With APT ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb etch spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Sid (Debian Unstable) With APT ====&lt;br /&gt;
&lt;br /&gt;
The current .deb for Sid is broken, because it depends on some boost packages&lt;br /&gt;
of version 1.33 that are not installable on sid, which has only 1.34. A&lt;br /&gt;
slightly more complex way to install is necessary:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb sid spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring &amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt; /usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Ubuntu (any version) With APT ====&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.33, then all you need is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install spring spring-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have boost 1.34, you have to do it the same way as debian unstable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
echo &amp;quot;deb-src http://www.osrts.info/~tvo/deb edgy spring&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
aptitude update&lt;br /&gt;
aptitude install dpkg-dev devscripts&lt;br /&gt;
apt-get source spring&lt;br /&gt;
apt-get build-dep spring&lt;br /&gt;
cd spring-0.74~b3/&lt;br /&gt;
debuild -us -uc&lt;br /&gt;
debi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== 0.74b3 For Gentoo With Portage ====&lt;br /&gt;
&lt;br /&gt;
Make an overlay for portage, download the ebuilds, and extract to populate the overlay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /usr/local/portage&lt;br /&gt;
echo &#039;PORTDIR_OVERLAY=&amp;quot;/usr/local/portage&amp;quot;&#039; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
wget http://download.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2 ||&lt;br /&gt;
    wget http://download2.berlios.de/taspring-linux/spring-ebuilds-0.74-r3.tar.bz2&lt;br /&gt;
tar xjf spring-ebuilds-0.74-r3.tar.bz2 -C /usr/local/portage/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are not running unstable (~x86), do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;games-strategy/spring               ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-base-ota      ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-xta       ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-gundamrts ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
echo &amp;quot;games-strategy/spring-mod-nanoblobs ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some packages need to be built with certain use flags set, this makes sure it happens:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;media-libs/libsdl    X opengl&amp;quot;     &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
echo &amp;quot;dev-libs/boost       threads&amp;quot;      &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
emerge media-libs/libsdl dev-libs/boost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add yourself to the group &amp;lt;code&amp;gt;games&amp;lt;/code&amp;gt;. Don&#039;t do this as root, do this as&lt;br /&gt;
the user you normally use to play (you have to relogin afterwards to make it&lt;br /&gt;
work):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
gpasswd -a $(whoami) games&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally emerge spring itself, along with some datafile packages (ignore the&lt;br /&gt;
use flags for spring ebuild):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge unzip spring spring-base-ota spring-mod-xta spring-mod-gundamrts&lt;br /&gt;
emerge spring-mod-nanoblobs&lt;br /&gt;
etc-update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/games/bin/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing 0.74b3 From Source ===&lt;br /&gt;
&lt;br /&gt;
If there is no package tailored for your distribution, you have to install from sources manually. Doing this for distributions where packages are available is not recommended.&lt;br /&gt;
&lt;br /&gt;
==== Getting The Source ====&lt;br /&gt;
&lt;br /&gt;
You can either download the source as a 4.7MB tarball (recommended) or get it&lt;br /&gt;
from the subversion repository. Either way, the result is the same for 0.74b3.&lt;br /&gt;
&lt;br /&gt;
===== Downloading A Tarball =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.75b2_src.tar.bz2&lt;br /&gt;
tar xjf spring_0.75b2_src.tar.bz2&lt;br /&gt;
cd spring_0.75b2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Checking Out From Subversion =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install subversion # if you are not on debian, figure it out&lt;br /&gt;
svn co https://taspring.clan-sy.com/svn/spring/tags/taspring_0.74b3 /tmp/spring_0.74b3&lt;br /&gt;
cd /tmp/spring_0.74b3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Getting The Dependencies ====&lt;br /&gt;
&lt;br /&gt;
For Etch (debian 4.0 stable) and Sid (debian unstable), I&#039;ve confirmed the&lt;br /&gt;
following to be the minimal set that is necessary to get. I have not tested&lt;br /&gt;
with any version of Ubuntu, but the line is probably almost identical if not&lt;br /&gt;
the same.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install scons build-essential zlib1g-dev libfreetype6-dev&lt;br /&gt;
aptitude install libsdl1.2-dev libopenal-dev libglew-dev libboost-dev&lt;br /&gt;
aptitude install libboost-thread-dev libboost-regex-dev libdevil-dev&lt;br /&gt;
aptitude install python2.4-dev zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has been tested to work with a clean install of gentoo 2007.0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge dev-util/scons \&amp;gt;=media-libs/freetype-2.0.0 \&amp;gt;=media-libs/libsdl-1.2.0&lt;br /&gt;
emerge media-libs/openal =dev-lang/python-2.4\* media-libs/glew dev-libs/boost&lt;br /&gt;
emerge media-libs/devil app-arch/zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users of other distributions should be able to figure out the correct package&lt;br /&gt;
names from this. The scons configure will whine if you forget something, but it&lt;br /&gt;
does not check if you remembered to install zip, even though you still need it.&lt;br /&gt;
&lt;br /&gt;
==== Building And Installing ====&lt;br /&gt;
&lt;br /&gt;
The build will spew out warnings like the following, which you can safely ignore:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
warning: division by zero&lt;br /&gt;
warning: &#039;q&#039; may be used uninitialized in this function&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure, build and install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
scons configure&lt;br /&gt;
scons&lt;br /&gt;
scons install&lt;br /&gt;
mkdir -p /etc/spring&lt;br /&gt;
echo &#039;$HOME/.spring&#039; &amp;gt; /etc/spring/datadir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your paths are: Spring executable in &amp;lt;code&amp;gt;/usr/local/games/spring&amp;lt;/code&amp;gt; and&lt;br /&gt;
read-only data in &amp;lt;code&amp;gt;/usr/local/share/games/spring&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Finalizing installation ==&lt;br /&gt;
&lt;br /&gt;
Now all the things you needed to run as root have been done. Some stuff needs to be done by the user who is going to play spring.&lt;br /&gt;
&lt;br /&gt;
I&#039;m assuming bash here, but you can use anything you like to do it of course.&lt;br /&gt;
&lt;br /&gt;
=== Making Data Directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/.spring/{base,maps,mods}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting Maps ===&lt;br /&gt;
&lt;br /&gt;
You need at least one map to succesfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/13/Maps/ Unknown Files, Map Section] and download at least one map. Save it under ~/.spring/maps/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the map name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
=== Getting Mods ===&lt;br /&gt;
&lt;br /&gt;
You need at least one mod to successfully run spring.&lt;br /&gt;
&lt;br /&gt;
Go to [http://spring.unknown-files.net/category/14/Mods/ Unknown Files, Mod Section] and download at least one mod. Save it under ~/.spring/mods/ without unpacking the file in any way.&lt;br /&gt;
&lt;br /&gt;
Hint: If you know the mod name you want, there is a Quick Search in the top right corner of the page. Just write a part of the name, like one word, and you&#039;ll easily find what you were looking for.&lt;br /&gt;
&lt;br /&gt;
If you want to play mods based on Total Annihilation, for example XTA, AA, BA, then you have to do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://ipxserver.dyndns.org/games/spring/mods/xta/base-ota-content.zip&lt;br /&gt;
unzip -d ~/.spring/base base-ota-content.zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that you need to own a copy of Total Annihilation, to download this file legally.&lt;br /&gt;
&lt;br /&gt;
If you want to view unit stats of mods, [http://modinfo.unknown-files.net/modit/modit.php this] is the site for you.&lt;br /&gt;
&lt;br /&gt;
=== Editing Settings === &lt;br /&gt;
Defaults should be usable, so you can ignore this until you want to maximise your eye candy or fps :)&lt;br /&gt;
&lt;br /&gt;
When you run spring the first time, it creates ~/.springrc which contains all the settings. It is a simple text file with name=value lines, most of which are pretty obvious and can be edited by hand.&lt;br /&gt;
&lt;br /&gt;
If you want a tool for editing the file, you can use Kloot&#039;s [http://members.chello.nl/mjtobi/Settings++.tar.gz Settings++]. Untar it anywhere and open it by typing &amp;quot;./Settings++&amp;quot; and edit away.&lt;br /&gt;
&lt;br /&gt;
=== Using LuaUI ===&lt;br /&gt;
&lt;br /&gt;
Spring UI is scriptable with Lua. This is called LuaUI, and it is not enabled per default.&lt;br /&gt;
&lt;br /&gt;
Replace LuaUI=0 with LuaUI=1 in your ~/.springrc to use LuaUI.&lt;br /&gt;
&lt;br /&gt;
In 0.74b3, when you host games, you might crash more often when you use Lua, but this should be fixed in 0.75.&lt;br /&gt;
&lt;br /&gt;
Lua scripts for LuaUI can be found in [http://spring.unknown-files.net/category/19/Lua_Scripts/ Unknown Files LuaUI Section].&lt;br /&gt;
&lt;br /&gt;
In 0.74b3, you have to move LuaUI directory from your read-only data dir to your read-write data dir, to be able to customize it.&lt;br /&gt;
&lt;br /&gt;
TODO need more stuff here.&lt;br /&gt;
&lt;br /&gt;
=== Installing Lobby Client ===&lt;br /&gt;
&lt;br /&gt;
To setup online games, you need a lobby client. There are several options to choose from.&lt;br /&gt;
&lt;br /&gt;
You can also use lobby client to setup single player matches against the AI. TODO more information about setting up tasclient to play against AI.&lt;br /&gt;
&lt;br /&gt;
==== Omni ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== UnityLobby ====&lt;br /&gt;
&lt;br /&gt;
This project has been abandoned, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
==== SpringLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but not yet ready enough for production use.&lt;br /&gt;
&lt;br /&gt;
Homepage of SpringLobby is [http://tc.serveftp.net/trac here].&lt;br /&gt;
&lt;br /&gt;
==== AFLobby ====&lt;br /&gt;
&lt;br /&gt;
This project is very promising, but is still in beta development. However, is usable for online multiplayer. See forum thread: http://spring.clan-sy.com/phpbb/viewtopic.php?t=8691&lt;br /&gt;
&lt;br /&gt;
==== TASClient ====&lt;br /&gt;
&lt;br /&gt;
This is a windows program, but it works just fine under wine in linux, and can be used together with native linux spring. I use it myself and recommend to use this temporarily until we all can migrate to SpringLobby or AFLobby.&lt;br /&gt;
&lt;br /&gt;
The only two downsides in using this are that you have to use wine (which should not be a big problem) and your rank won&#039;t increase as long as you use it (also because of win-linux binary interaction).&lt;br /&gt;
&lt;br /&gt;
Download the installer of Spring for Windows, and run it in wine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://spring.clan-sy.com/dl/spring_0.74b3.exe&lt;br /&gt;
wine spring_0.74b3.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No configuration of wine should be needed, if your distribution is sane.&lt;br /&gt;
&lt;br /&gt;
Complete the install, and let it install to the default location, which is Program Files\Spring.&lt;br /&gt;
&lt;br /&gt;
Assuming you completed the earlier step of creating the data directories, now we need to link the windows and linux data together:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
touch ~/.wine/drive_c/Program\ Files/Spring/script.txt&lt;br /&gt;
ln -s ~/.wine/drive_c/Program\ Files/Spring/script.txt ~/.spring/script.txt&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/maps&lt;br /&gt;
ln -s ~/.spring/maps ~/.wine/drive_c/Program\ Files/Spring/maps&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/mods&lt;br /&gt;
ln -s ~/.spring/mods ~/.wine/drive_c/Program\ Files/Spring/mods&lt;br /&gt;
&lt;br /&gt;
rm -r ~/.wine/drive_c/Program\ Files/Spring/base&lt;br /&gt;
ln -s ~/.spring/base ~/.wine/drive_c/Program\ Files/Spring/base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the windows-TASClient to be able to launch native linux spring, we need a wrapper exe in between them. Source code for wrapper exe is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;tchar.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NATIVE_SPRING_LOCATION TEXT(&amp;quot;/usr/games/spring&amp;quot;)&lt;br /&gt;
#define SPRING_VERSION_REPLY &amp;quot;Spring 0.74b3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  if (argc &amp;gt; 1 &amp;amp;&amp;amp; !strcmp(argv[1], &amp;quot;/V&amp;quot;))&lt;br /&gt;
  {&lt;br /&gt;
     puts(SPRING_VERSION_REPLY);&lt;br /&gt;
     return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  STARTUPINFO si;&lt;br /&gt;
  ZeroMemory( &amp;amp;si, sizeof(si) );&lt;br /&gt;
  si.cb = sizeof(si);&lt;br /&gt;
&lt;br /&gt;
  PROCESS_INFORMATION pi;&lt;br /&gt;
  ZeroMemory( &amp;amp;pi, sizeof(pi) );&lt;br /&gt;
&lt;br /&gt;
  // Start the child process.&lt;br /&gt;
  if (!CreateProcess(&lt;br /&gt;
    _tcsdup(NATIVE_SPRING_LOCATION), // No module name (use command line)&lt;br /&gt;
    GetCommandLine(),                // Command line&lt;br /&gt;
    NULL,                            // Process handle not inheritable&lt;br /&gt;
    NULL,                            // Thread handle not inheritable&lt;br /&gt;
    FALSE,                           // Set handle inheritance to FALSE&lt;br /&gt;
    0,                               // No creation flags&lt;br /&gt;
    NULL,                            // Use parent&#039;s environment block&lt;br /&gt;
    NULL,                            // Use parent&#039;s starting directory&lt;br /&gt;
    &amp;amp;si,                             // Pointer to STARTUPINFO structure&lt;br /&gt;
    &amp;amp;pi))                            // Pointer to PROCESS_INFORMATION structure&lt;br /&gt;
    {&lt;br /&gt;
      printf( &amp;quot;CreateProcess failed (%d).\n&amp;quot;, GetLastError() );&lt;br /&gt;
      return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  // Wait until child process exits. Wine actually does not know how to wait&lt;br /&gt;
  // for native linux process, so this will return instantly and your gametime&lt;br /&gt;
  // counter does not increase so you don&#039;t get any rank.&lt;br /&gt;
  WaitForSingleObject( pi.hProcess, INFINITE );&lt;br /&gt;
&lt;br /&gt;
  // Close process and thread handles.&lt;br /&gt;
  CloseHandle( pi.hProcess );&lt;br /&gt;
  CloseHandle( pi.hThread );&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might need to modify the define-lines in the beginning to match your location and version. Remember, the version reply must be exactly right, or your game just breaks totally in multiplayer or you can&#039;t even login to lobby server.&lt;br /&gt;
&lt;br /&gt;
Save this code to spring.cc for example, and then we need to install a windows-crosscompiler and compile a windows binary from it inside our linux box like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install mingw32&lt;br /&gt;
i586-mingw32msvc-g++ spring.cc -o ~/.wine/drive_c/Program\ Files/Spring/spring.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This assumed debian for installing the crosscompiler, but mingw32 is probably simple to install on other distributions as well.&lt;br /&gt;
&lt;br /&gt;
TODO should provide binary packages for this launcher, as all people don&#039;t have the possibility to set up cross compiler.&lt;br /&gt;
&lt;br /&gt;
Then you should make a script for launching TASClient. The script can be named tasclient for example, and just put it somewhere in your path and make it executable. The script code is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env sh&lt;br /&gt;
cd ~/.wine/drive_c/Program\ Files/Spring&lt;br /&gt;
wine TASClient.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you should be able to type tasclient on the command line, and the lobby appears. &#039;&#039;&#039;This cd operation is necessary. If your working directory is not the same as TASClient.exe&#039;s location, it will just give access violations to you.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that every time when you have added new maps, the lobby client caches them and this will take some time, or a long time if you downloaded many maps since last time. Just wait patiently.&lt;br /&gt;
&lt;br /&gt;
Then you should register an account and login with it, and you should be ready to join an online multiplayer game from the list that appears.&lt;br /&gt;
&lt;br /&gt;
It&#039;s likely that you don&#039;t have the correct map or mod at this point, so just get them and join the game. You don&#039;t need to restart your lobby client after downloading the files.&lt;br /&gt;
&lt;br /&gt;
It&#039;s recommended that you spectate a couple of high rank games first, to get some idea of how the game should be played. Some hosts don&#039;t allow spectators, but most do.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== game dies with sounds/button9.wav &amp;quot;cant find wav file&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This or any similar error of not being able to find a specific file are usually because the mod you are using needs ota content, download &amp;amp; install as explained earlier in this document.&lt;br /&gt;
&lt;br /&gt;
==== Problems With Boost 1.34 ====&lt;br /&gt;
&lt;br /&gt;
If you get an error message when starting spring, which looks like the following but can be from any tdf file and the line numbers don&#039;t need to match either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Parse error in gamedata/explosion_alias.tdf at line 48 column 34 near&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you need this patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: rts/System/tdf_grammar.hpp&lt;br /&gt;
===================================================================&lt;br /&gt;
--- rts/System/tdf_grammar.hpp	(revision 1919)&lt;br /&gt;
+++ rts/System/tdf_grammar.hpp	(revision 3798)&lt;br /&gt;
@@ -99,6 +99,7 @@&lt;br /&gt;
             section(self.section) &lt;br /&gt;
             | gather_junk_line  // if this rule gets hit then section did not consume everything,&lt;br /&gt;
          ) &lt;br /&gt;
+        &amp;gt;&amp;gt; end_p&lt;br /&gt;
         ;&lt;br /&gt;
 &lt;br /&gt;
       gather_junk_line = &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save it to a file and go to spring source directory and say:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
patch -p0 &amp;lt; mypatchfilename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to have patch installed to be able to do this. After successfully patching, compile and install.&lt;br /&gt;
&lt;br /&gt;
==== If You Still Have Problems ====&lt;br /&gt;
&lt;br /&gt;
Join to #taspring on Freenode and tell me (semi_) that you have problems with installing, and I&#039;ll try to improve this guide to solve your problem, if I have time.&lt;br /&gt;
&lt;br /&gt;
However, generic linux problems not really related to installing this should be asked elsewhere.&lt;br /&gt;
&lt;br /&gt;
Prepare to tell me your distribution, which installation method you used, and what exactly is the error. Don&#039;t ask if I&#039;m here or not, just state your problem there and I&#039;ll look into it when I come back.&lt;br /&gt;
&lt;br /&gt;
Other common problems and solutions coming soon.&lt;br /&gt;
&lt;br /&gt;
==== Can&#039;t See Configure Options Before Configuring ====&lt;br /&gt;
&lt;br /&gt;
If you want to see the configure options, because of a bug in the buildsystem you have to have spring configured first. But if configure fails, you are out of luck. So I have listed the options here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scons --help&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
make: Nothing to be done for `all&#039;.&lt;br /&gt;
Succes building streflop!&lt;br /&gt;
Updating bitmaps.sdz&lt;br /&gt;
Updating springcontent.sdz&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
&lt;br /&gt;
platform: Set to linux, freebsd or windows&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: linux&lt;br /&gt;
&lt;br /&gt;
debug: Set to yes to produce a binary with debug information&lt;br /&gt;
    default: 0&lt;br /&gt;
    actual: 0&lt;br /&gt;
&lt;br /&gt;
syncdebug: Set to yes to enable the sync debugger&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
optimize: Enable processor optimizations during compilation&lt;br /&gt;
    default: 1&lt;br /&gt;
    actual: 2&lt;br /&gt;
&lt;br /&gt;
profile: Set to yes to produce a binary with profiling information&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cpppath: Set path to extra header files&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
libpath: Set path to extra libraries&lt;br /&gt;
    default: []&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
fpmath: Set to 387 or SSE on i386 and AMD64 architectures&lt;br /&gt;
    default: 387&lt;br /&gt;
    actual: 387&lt;br /&gt;
&lt;br /&gt;
prefix: Install prefix used at runtime&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
installprefix: Install prefix used for installion&lt;br /&gt;
    default: /usr/local&lt;br /&gt;
    actual: /usr/local&lt;br /&gt;
&lt;br /&gt;
datadir: Data directory (relative to prefix)&lt;br /&gt;
    default: share/games/spring&lt;br /&gt;
    actual: share/games/spring&lt;br /&gt;
&lt;br /&gt;
bindir: Directory for executables (rel. to prefix)&lt;br /&gt;
    default: games&lt;br /&gt;
    actual: games&lt;br /&gt;
&lt;br /&gt;
libdir: Directory for AI plugin modules (rel. to prefix)&lt;br /&gt;
    default: lib/spring&lt;br /&gt;
    actual: lib/spring&lt;br /&gt;
&lt;br /&gt;
strip: Discard symbols from the executable &lt;br /&gt;
(only when neither debugging nor profiling)&lt;br /&gt;
    default: True&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
disable_avi: Set to no to turn on avi support&lt;br /&gt;
    default: False on windows, True otherwise&lt;br /&gt;
    actual: True&lt;br /&gt;
&lt;br /&gt;
use_tcmalloc: Use tcmalloc from goog-perftools for memory allocation&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
use_mmgr: Use memory manager&lt;br /&gt;
    default: False&lt;br /&gt;
    actual: False&lt;br /&gt;
&lt;br /&gt;
cachedir: Cache directory (see scons manual)&lt;br /&gt;
    default: None&lt;br /&gt;
    actual: &lt;br /&gt;
&lt;br /&gt;
Use scons -H for help about command-line options.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LuaUI Crash Ingame ====&lt;br /&gt;
&lt;br /&gt;
LuaUI can crash during game, because some lua script you use has a bug. 0.75 should be resistant to this problem, but 0.74b3 is not. After crash, you won&#039;t see the bottom left tooltip box and top right resource bar anymore. Fear not, help is near:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/resbar 1&lt;br /&gt;
/tooltip 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These might not be necessary in 0.75 anymore at all.&lt;br /&gt;
&lt;br /&gt;
Also, you won&#039;t be able to change the build menu page with mouse anymore, but keys , and . do the trick.&lt;br /&gt;
&lt;br /&gt;
=== Tips ===&lt;br /&gt;
&lt;br /&gt;
* If spring hangs/crashes while in full screen mode, you can press ctrl+alt+backspace to restart X, so no need for a reboot.&lt;br /&gt;
&lt;br /&gt;
* Spring uses OpenAL for sound, Config your sound output i.e esd / arts / oss / alsa by editing /etc/openalrc or ~/.openalrc, example: (&amp;quot;&#039;(&amp;quot; is not a typo)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;(define devices &#039;(alsa))&amp;lt;br&amp;gt;(define speaker-num 2)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;(define alsa-out-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;br&amp;gt;(define alsa-in-device &amp;quot;hw:0,0&amp;quot;)&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Adventurous people with an emu10k1 based card (sblive) can try the accelerated openal version. http://www.lost.org.uk/openal.html , don&#039;t submit audiobugs if you do.&lt;br /&gt;
&lt;br /&gt;
* If you really can&#039;t figure out how to get spring compiled, or you think there&#039;s a bug in the code or the buildsystem...&lt;br /&gt;
:* Just poke any developer on IRC:&lt;br /&gt;
::* channel &amp;lt;code&amp;gt;#taspring&amp;lt;/code&amp;gt; on [http://freenode.net/ FreeNode]&lt;br /&gt;
::* or channel &amp;lt;code&amp;gt;#sy&amp;lt;/code&amp;gt; on [http://www.quakenet.org/ QuakeNet]&lt;br /&gt;
:* Post it on [http://taspring.clan-sy.com/phpbb/ the forum]&lt;br /&gt;
:* or file a bug in our [http://taspring.clan-sy.com/mantis/ bug tracking system].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [[Main_Page|&amp;lt;- Back to Main page]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux Port]][[Category:Playing]]&lt;/div&gt;</summary>
		<author><name>Quilted</name></author>
	</entry>
</feed>