<?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=Rp3</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=Rp3"/>
	<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/wiki/Special:Contributions/Rp3"/>
	<updated>2026-11-08T19:37:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=FAQ&amp;diff=6966</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=FAQ&amp;diff=6966"/>
		<updated>2008-02-14T21:51:12Z</updated>

		<summary type="html">&lt;p&gt;Rp3: /* What do all those icons mean in the server list? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General information==&lt;br /&gt;
&lt;br /&gt;
===What is Spring?===&lt;br /&gt;
Spring is a project to create the best RTS ever (no joke). There are three principle goals which we hope to achieve.&lt;br /&gt;
&lt;br /&gt;
# Reach a stage where TA Spring can flawlessly execute most of Total Annihilation&#039;s original gameplay, with its original units in their original format.&lt;br /&gt;
// This goal has been achieved, Multiple TA-style mods are now around ranging from [[BOTA]] which is Basically OTA, to [[CA]] which rebalances most of the units and roles while keeping then graphical style. A bunch of non-TA mods are also available, such as; [[Kernel Panic]], [[Gundam Annihilation]], and [[1944: Spring]]&lt;br /&gt;
&lt;br /&gt;
# Add new features as we see fit, fix bugs, and release new versions when we feel it is appropriate to do so.&lt;br /&gt;
&lt;br /&gt;
# Support the mod community as we see fit.&lt;br /&gt;
// A quite robust modding system is implemented allowing ease of modding or just making a mutator for an existing mod. This can be done either mod or map side, allowing special buildings to be included in a map.&lt;br /&gt;
&lt;br /&gt;
# Improving the already fine original TA Interface in a way that the Players will have more tactical Options, more Control, more Comfort and still don`t get lost, as long as they are willing to learn.&lt;br /&gt;
//There has recently been added support for LUA widgets and gadgets which will help you customize the interface to your needs. The UI is personal again.&lt;br /&gt;
&lt;br /&gt;
The goals might need an update.. -- Tim Blokdijk&lt;br /&gt;
&lt;br /&gt;
===Is Spring free?===&lt;br /&gt;
The core game is released under GPL License. Fortunately as of now, there are also two mods which have been released under the GNU/GPL, and several more which do not have clear licence terms (owned by their modder).&lt;br /&gt;
&lt;br /&gt;
However, there are also several mods for which some parts are still under copyright of Atari. For these you need to own the original TA game if you want to play.&lt;br /&gt;
&lt;br /&gt;
===Why can I edit this page?===&lt;br /&gt;
This page, and several others, are located in the Spring [http://en.wikipedia.org/wiki/Wiki Wiki]. The link gives a full explanation of what it is, but in short it is a way of letting anyone who wants to contribute to the page content. This can of course be abused, but even while it is easy for someone to vandalise the page, it is just as easy for someone to restore it, since the wiki saves all previous versions of a page.&lt;br /&gt;
&lt;br /&gt;
===Why can&#039;t I edit this page?===&lt;br /&gt;
You need to be [[Special:Userlogin|logged in]] to edit our wiki because people were vandalizing and/or being morons too much, so they had to lock it down.&lt;br /&gt;
&lt;br /&gt;
===I want to help, what can I do?===&lt;br /&gt;
Please look at the Messageboard. There are lots of things you can do according to your skills. Particularly important is to create viable and pleasing free alternatives to copyrighted material, mainly sounds and units.&lt;br /&gt;
&lt;br /&gt;
===I want to donate.===&lt;br /&gt;
People have made clear their desire to donate to the project, and so far, we have been fairly reluctant about accepting donations. Our main concern? While we certainly hope to have something on the level of a commercial release in the near future, there is no guarantee that it will ever happen. Unforeseen events arise, and it would be most unfortunate if everyone who donated felt swindled because the project did not turn out as they had hoped.&lt;br /&gt;
&lt;br /&gt;
We do not plan to be more or less productive solely based upon the quantity and frequency of donations received. The Spring project is here only because we view this as an enjoyable hobby.&lt;br /&gt;
&lt;br /&gt;
===I read all that and I still want to donate.===&lt;br /&gt;
Very well then! You can find the required details [http://taspring.clan-sy.com/donate.php here]. It will be much appreciated. :)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Technical==&lt;br /&gt;
&lt;br /&gt;
===What port numbers does Spring use?===&lt;br /&gt;
Game uses port 8452 UDP by default, which can be changed in the lobby. If you are behind a router, and are having problems hosting, try forwarding the correct port and also make sure the firewall is not blocking it.&lt;br /&gt;
&lt;br /&gt;
===What APIs does Spring use?===&lt;br /&gt;
The Windows version of the program (Which is the Binary that can be downloaded from this site) uses: OpenGL for rendering, DirectSound for sound, and Winsock for networking.&lt;br /&gt;
&lt;br /&gt;
The Linux port, see [[Linux Page]] with more info below, uses SDL/OpenGL for rendering, OpenAL for sound (which will connect to DirectSound on Windows and OSS or ALSA on Linux), BSD  sockets for networking.&lt;br /&gt;
&lt;br /&gt;
===I am having really bad framerates (fps) on my dual core! What am i doing wrong?===&lt;br /&gt;
Currently spring does not like dual/quad cores, you will get really bad framerates. To solve this, you have to restrict it to run on one core. Download the file from http://www.robpol86.com/pages/imagecfg.php follow the instructions, and make all of the spring exe files (spring.exe, TASClient.exe, all others) run on one core. It will run much faster.&lt;br /&gt;
&lt;br /&gt;
===I am having really bad framerates (fps) on my brand new nvidia graphics card! What am i doing wrong?===&lt;br /&gt;
Turn off &#039;threaded optimizations&#039; for Spring in the nvidia control panel.&lt;br /&gt;
&lt;br /&gt;
===What language is Spring written in?===&lt;br /&gt;
The spring game engine is written in C and C++. The Windows lobby client is written in Delphi, the lobby server is java. Of multiplatform lobby clients, SpringLobby is in C++ and AFLobby in java.&lt;br /&gt;
&lt;br /&gt;
===Is Spring open source?===&lt;br /&gt;
Yes, it is. Go to the [http://taspring.clan-sy.com/download.php downloads] section of the site to download the source code.&lt;br /&gt;
&lt;br /&gt;
===Is there any documentation for the source code?===&lt;br /&gt;
Yes, doxygen is used to automatically generate the [http://taspring.clan-sy.com/doxygen/ documentation]&lt;br /&gt;
&lt;br /&gt;
===Is Spring a Portable Application?===&lt;br /&gt;
&lt;br /&gt;
At present, I play Spring at my college by using my IPOD as a portable bit of storage for the game, so yes, it does appear to be portable. Also, I managed to run AFLobby from the IPOD as well.&lt;br /&gt;
&lt;br /&gt;
If both of those can run off a bleedin&#039; IPOD, they can run off of anything, in my opinion.&lt;br /&gt;
&lt;br /&gt;
If I&#039;m wrong, edit.&lt;br /&gt;
&lt;br /&gt;
See [http://en.wikipedia.org/wiki/Portable_application] for more information about portable applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Sangue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Spring needs the registry settings moved to an ini file.&lt;br /&gt;
Then, it will be fully portable.&lt;br /&gt;
&lt;br /&gt;
TASClient will run from anywhere as well...and I believe springlobby is the same way.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
===What platforms will Spring run on?===&lt;br /&gt;
At the moment, it runs on Windows, Linux and basically on [[Spring_on_MacOSX |Mac OS X.]]&lt;br /&gt;
&lt;br /&gt;
===What sort of a system do I need to run Spring?===&lt;br /&gt;
You need a 3D graphics card to run Spring, which will probably require at least a a GeForce4 MX and the latest driver supported. Minimum CPU requirements are a little more complex. A more powerful CPU will have the capability to support larger maps and a greater maximum unit limit. A 1 GHz CPU should be able to support an estimated 500 units. The needed memory will also vary with unit count and map size, and Spring has been known to have worked with 256 MB of Ram (albeit with lowest detail levels).&lt;br /&gt;
&lt;br /&gt;
For further details and tested Systems check the [[Requirements]] page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Spring says &#039;Missing Default Cursor&#039;===&lt;br /&gt;
&lt;br /&gt;
That means you are playing a mod or &#039;game content&#039; that depends on files you do not have. Most of times, it&#039;s due to trying to play a TA mod without having the TA base files (/base/otacontent.sdz, /base/tacontent_v2.sdz, /base/tatextures_v062.sdz). You can download them from [http://spring.clan-sy.com/dl/installer/base/ here]. However, that would be illegal if you do not own the disc from a ten years old video game called Total Annihilation. Pretty sure it&#039;s illegal if you own it too. And don&#039;t even try to dump genuine TA data in your Spring folder, that won&#039;t work. To remain legal, play mod / &#039;game content&#039; that do not depend on repacked TA contents.&lt;br /&gt;
&lt;br /&gt;
===Spring says I need the GL_ARB_texture_env_combine extension, what can I do?===&lt;br /&gt;
&lt;br /&gt;
This error can be caused by various things:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1:&#039;&#039;&#039; Old video Hardware.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2:&#039;&#039;&#039; Old drivers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2:&#039;&#039;&#039; Bad installed Drivers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3:&#039;&#039;&#039; Bad game settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your hardware is old check [http://www.delphi3d.net/hardware/extsupport.php?extension=GL_ARB_texture_env_combine THIS] list, if you cant find your video card then, sorry, you have to buy a new video card.&lt;br /&gt;
&lt;br /&gt;
If your hardware is in the above list or you are sure that your video card support this opengl extension download [http://www.realtech-vr.com/glview/download.html THIS] software. Intall, run, and check if under the &#039;&#039;Report&#039;&#039; tab there is the &#039;&#039;GL_ARB_texture_env_combine&#039;&#039; string.&lt;br /&gt;
If the string is present then the problem resides in your Spring settings, try lower screen resolution and disable all graphics effect.&lt;br /&gt;
If the string is not present and your hardware is in the list the problem are your video card drivers. To solve this &#039;&#039;&#039;UNINSTALL ALL PREVIOUS DRIVERS&#039;&#039;&#039; and install last stable drivers for your video card. Usually the problem shows when there are uninstalled old video drivers on the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; ATI drivers for Windows Vista does not support OpenGL right now so Spring will not run on systems with Vista and ATI Cards.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Use &#039;&#039;&#039;glxinfo&#039;&#039;&#039; on a Linux system. You don&#039;t need to download any third party application because most if not all systems with x11 should have that program already.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Getting into a game==&lt;br /&gt;
&lt;br /&gt;
===People talk about &#039;Single Player&#039;. How do I start a single player game?===&lt;br /&gt;
Simply start a game in the lobby, and enter a password, so that nobody can join. Then click ready, and start and away you go !&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can get [http://spring.unknown-files.net/file/2012/Spring_Single_Player_Launcher_v0.8/ Spring Single Player], a handy tool that lets you create single player games without cluttering up the lobby, as well as watch replays easily.&lt;br /&gt;
&lt;br /&gt;
It&#039;s also very easy to set up singleplayer games using SpringLobby. Just click on the singleplayer tab, add some bots, and play. You can grab it from the  [http://springlobby.info SpringLobby website].&lt;br /&gt;
&lt;br /&gt;
===When I try to make a single player game, it gives me an error.===&lt;br /&gt;
Your graphics card probably can&#039;t support Spring. If you read the requirements it did say GeForce 3 or better. Go to the settings file in your Spring directory and lower some of the options. Sometimes that works.&lt;br /&gt;
&lt;br /&gt;
===Does Spring support AI Players?===&lt;br /&gt;
Yes, see [[AI]] You can also use the [[random_enemies]] script, which spawns units out of thin air and sends them to attack you.&lt;br /&gt;
&lt;br /&gt;
===How do I join an Internet multiplayer game?===&lt;br /&gt;
Run the &amp;quot;TA Spring multiplayer battleroom&amp;quot; from the Start menu or the TASClient.exe from your installation folder.  In the &amp;quot;Server&amp;quot; tab change the server to &amp;quot;Official Host&amp;quot;.  Hit &amp;quot;Apply and close&amp;quot;.  Re-open the TA Spring client.  Create an account on the &amp;quot;Account&amp;quot; tab.  &lt;br /&gt;
&lt;br /&gt;
===When I try to connect to the lobby it gives me an error.===&lt;br /&gt;
There could be 3 problems. Either you don&#039;t have an account, the server is down, or you have not configured your router/firewall correctly. If you don&#039;t have an account, make one. If the server is down, you&#039;ll just have to wait (this doesn&#039;t happen often, though). If you have a router/firewall read below. Have a look at this website&#039;s News page and/or the Messageboard, it is likely that you will get some information there in the eventuality that the server is down.&lt;br /&gt;
&lt;br /&gt;
Also make sure that you don&#039;t have any spaces in your username.&lt;br /&gt;
&lt;br /&gt;
===I have a router and I don&#039;t seem to be able to get a game===&lt;br /&gt;
&lt;br /&gt;
If you are using a router you may have other problems. Explanations of [http://www.portforward.com/routers.htm how to forward ports] has instructions for every router.&lt;br /&gt;
&lt;br /&gt;
===Where can I download more maps?===&lt;br /&gt;
As for most Spring downloads [http://unknown-files.net/spring/home/ Unknown Files] is the place to be! The [http://unknown-files.net/spring/category/13/Maps/ map category] has a nice overview.&lt;br /&gt;
&lt;br /&gt;
===How do I install downloaded maps?===&lt;br /&gt;
Most maps are released as .sdz or .sd7 files. These can be put directly into the &amp;quot;maps&amp;quot; folder inside the Spring folder. If they are compressed into another type of archive you will have to unpack them first. Just unzip them into your spring maps folder. Some map files use newer (smaller) file formats such as .rar or .7z, to unzip these newer formats, you&#039;ll need to download 7-Zip [http://www.7-zip.org/ http://www.7-zip.org/] or Zip-genius [http://downloads.zipgenius.it/ http://downloads.zipgenius.it/]. They both handle almost all formats and are totally free.  There is also now a map browser in the TASClient lobby software, click the more maps button in a battle screen to access it.&lt;br /&gt;
&lt;br /&gt;
===Sometimes when I try to join games it gives me an error.===&lt;br /&gt;
The host is behind a firewall that has not opened the correct ports for Spring.&lt;br /&gt;
&lt;br /&gt;
===When a multiplayer game starts I never make it past the loading screen.===&lt;br /&gt;
This indicates a problem with your video card. Once again the best way to deal with this situation is to make sure your video card has the latest driver updates and that all Spring video features are on the lowest settings.&lt;br /&gt;
&lt;br /&gt;
===When a multiplayer game starts, I make it past the loading screen, but when I get into the game it says, &amp;quot;Waiting for Host&amp;quot;, and does a 10 second countdown. It always reaches zero and boots me out, what gives?===&lt;br /&gt;
This is a firewall issue. There are three things you can do to fix this. First, make sure your windows firewall is either off, or is not blocking the TA: Spring application. Secondly, if you are behind a router, you can forward the ports that the host is using (especially if you are the host), and it usually fixes the problem. To do this you must go to your router configuration page. You can see what port &#039;you&#039; are using (as the host), by hosting a multiplayer game in the Spring Lobby. You must make this your trigger port, and make sure that it is open for both TCP and UDP. Thirdly, if none of the aforementioned worked. The easiest thing to do (assuming you are behind a router) is to set the DMZ (Demilitarized Zone). This means your computer will be completely exposed to the internet, which will make you vulnerable to any unknown or unpatched exploits in windows. All you have to do is find the personal IP if the computer you are using and add it to your router&#039;s DMZ list. Please only try this last option if you can&#039;t get the others to work.&lt;br /&gt;
Good Luck&lt;br /&gt;
&lt;br /&gt;
===I got into the game, but some people didn&#039;t.===&lt;br /&gt;
The host may have reached the number of players it has set.&lt;br /&gt;
Or the players may be experiencing firewall or video card difficulty. That is not your fault. Please ask them too leave if they are still there when you get into the &#039;game lobby&#039;. Some people have problem connecting to &amp;quot;hole punching&amp;quot; hosts.&lt;br /&gt;
&lt;br /&gt;
===I got into a game but my name is red, nobody can hear me speak, and eventually I get disconnected===&lt;br /&gt;
This is to do with how long it takes the game to start up (the &amp;quot;load time&amp;quot;). If it takes too long you will see this problem. The load time can be reduced by changing the game graphics settings to lower quality. In particular try setting texture quality to lowest.&lt;br /&gt;
&lt;br /&gt;
===What do all those icons mean in the server list?===&lt;br /&gt;
Server status icons inform you, at a quick glance, what the server is doing at the moment, and what state it&#039;s in (password protected, locked, open, full, etc). Read all about the server status icons and what they mean [[Server Status|here]].  Or hit F1 in the Battle room for even more information on the icons and their meaning.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Playing==&lt;br /&gt;
&lt;br /&gt;
===What is with this weird right-click mode? I&#039;m &#039;bout to break my keyboard.===&lt;br /&gt;
Sorry, you&#039;ll just have to get used to it. As of now it can&#039;t be changed.&lt;br /&gt;
&lt;br /&gt;
===Why is somebody else also controlling my units?===&lt;br /&gt;
In the &#039;game lobby&#039; there are two sets of teams. There are the &#039;Teams&#039; and the &#039;Ally Teams&#039;. If you are on the same &#039;Team&#039;, then you both get the same commander, and can control the same units. If you are on &#039;Ally Teams&#039;, then you both get different commanders and can&#039;t control each others units.&lt;br /&gt;
&lt;br /&gt;
===Is there a way that I can play music directly through TA-Spring, with alternating tracks for building/attacking like in the original Total Annihilation?===&lt;br /&gt;
Yes, there is. It is an addon (GroupAI) you have to download separately:&lt;br /&gt;
http://unknown-files.net/spring/file/3407/AFs_Dynamic_Background_Music_GroupAIv3/&lt;br /&gt;
&lt;br /&gt;
There is also an ingame sound-volume-slider you might find usefull (lua-script):&lt;br /&gt;
http://unknown-files.net/spring/file/2239/LuaUI_Volume_Slider/&lt;br /&gt;
&lt;br /&gt;
===Then why would I want to be on the same &#039;Team&#039; as somebody?===&lt;br /&gt;
Because it&#039;s fun to just drive around units and not have to worry about commanding. (Assuming that one of the people on the team is commanding.)&lt;br /&gt;
Most importantly, however, you can split tasks, such as base building, and troops management.&lt;br /&gt;
&lt;br /&gt;
===Sometimes I can&#039;t write anything but numbers and some other symbols. Why is that?===&lt;br /&gt;
This is most likely because of the Windows language bar change from which &amp;lt;br&amp;gt;Spring doesn&#039;t recognize the characters written. &lt;br /&gt;
 Note: That Default hotkeys in Windows XP for changing the language is &amp;lt;br&amp;gt;Shift+Alt, which is similar to square build hotkeys in Spring!&lt;br /&gt;
&lt;br /&gt;
===How do I talk to my allies only?===&lt;br /&gt;
You must type &#039;a:&#039; before you speak. Here&#039;s an example: a: Now I am talking to my allies only.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Help! After I&#039;m finished driving a unit, the camera is all insane! This is nuts! How do I fix it?===&lt;br /&gt;
Whoa now. Calm down. Just press ctrl + mouse button 3 to change camera modes.  If your unit is destroyed in FPS mode, you will stay in FPS mode until you change camera modes.  Also, the camera will stay in &amp;quot;free look&amp;quot; when FPS mode is disengaged, press middle-mouse or J to switch to normal scrolling.&lt;br /&gt;
&lt;br /&gt;
===After I&#039;m finished driving a unit, where what used to be my mouse pointer is now a crosshair. Why?===&lt;br /&gt;
-This is a special &#039;view mode&#039; that allows you to move around the screen much faster. It&#039;s good for viewing the battle or getting screenshots. Simply press on your third mouse button or &#039;delete&#039; to revert back to your mouse pointer.&lt;br /&gt;
&lt;br /&gt;
===But I don&#039;t have a third mouse button!===&lt;br /&gt;
The key &#039;J&#039; works in the same way as the &#039;middle mouse button&#039; does. So where you would use ctrl + middle mouse button to change camera modes, ctrl + j does the same thing. Pressing J once will also switch you from &#039;crosshair mode&#039; to &#039;pointer mode&#039; and vice versa.&lt;br /&gt;
&lt;br /&gt;
===IÃ‚Â´ve managed to get stuck in this weird camera mode and my perspective is all messed up. How do I switch to the overhead (OTA style) camera?===&lt;br /&gt;
Shift+Backspace (or Shift+J or Shift+MiddleMouseClick) switches between the fps style, total war style and OTA style cameras. Use it to get your camera back to normal in this situation.&lt;br /&gt;
&lt;br /&gt;
===People are cheating! How do I stop it?!===&lt;br /&gt;
Well currently, you can&#039;t.&lt;br /&gt;
&lt;br /&gt;
Only the host can &amp;quot;activate&amp;quot; the cheat codes. After that, any player can do almost all cheats.&lt;br /&gt;
&lt;br /&gt;
The best thing to do is just not play with the cheaters anymore. But with new spring version cheats are disabled in multiplayer, so that paragraph is hopefully now irrelevant.&lt;br /&gt;
&lt;br /&gt;
===Well how do you cheat?===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;3&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Cheat Command&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Effect&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&#039;&#039;&#039;.cheat&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;enable cheats - Cheats don&#039;t work in multiplayer until the host types this&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.nocost&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;instabuild (doesn&#039;t work on things already under construction, only on new ones)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.setmaxspeed 50&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Changes the maximum speed multiplier (default is 3.0)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.setminspeed 0&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Changes the minimum speed multiplier (default is 0.3)&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.spectator&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Allows you to see the entire map... but you lose control of your units&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.team 0, .team 1, etc.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Change player&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.give ARMCOM, .give 10 CORKROG, etc.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Place 1 or specified number of specified unit.  Valid units are the internal names of units as specified in the unit definition.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
You can use auto-completion in the spring console if you don&#039;t remember the internal unit name. To do that type: &lt;br /&gt;
 &amp;quot;.give arm&amp;quot; and then press your &#039;&#039;&#039;TAB key&#039;&#039;&#039; &lt;br /&gt;
A list of all matching units will be shown.&lt;br /&gt;
&lt;br /&gt;
===In Game Commands===&lt;br /&gt;
The following &#039;&#039;non-cheating&#039;&#039; commands are also available in game:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;3&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Command&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Effect&amp;lt;/th&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;/info&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shows you what colour each player is and their ping delay in the bottom right corner of the screen.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;/clock&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shows you the elapsed game time in minutes and seconds in the upper right corner of the screen&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;.take&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pulls all allied units, that are owned by players who have lost connection to the server, to your team.&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How do I ally or unally in game?===&lt;br /&gt;
I&#039;m pretty sure you can&#039;t. Yet.&lt;br /&gt;
&lt;br /&gt;
===How do I give somebody units or metal or energy?===&lt;br /&gt;
Press the &#039;H&#039; key. Then select the amount of metal and/or energy to share. Then select the receiving player and press OK.&lt;br /&gt;
&lt;br /&gt;
When sharing units, you must first select the units to share, then press &#039;H&#039; key. Tick share units checkbox and choose a receiving player.&lt;br /&gt;
&lt;br /&gt;
===How do I continually give somebody metal and/or energy after a certain point (i.e. Original TA commands +setshare..., +shareall)?===&lt;br /&gt;
You&#039;ll notice that on your metal and energy bars (top of screen), there are two red bars. You have to put them wherever you want your metal and energy to be shared after.&lt;br /&gt;
&lt;br /&gt;
===This game is different than TA, the units HP and damage are not the same===&lt;br /&gt;
 &lt;br /&gt;
There were several third party &amp;quot;balance&amp;quot; mods for the original TA game.&lt;br /&gt;
&lt;br /&gt;
One of those mods were xTA, and was developed by the same clan (SY) that has brought life back to TA, making Spring.&lt;br /&gt;
&lt;br /&gt;
This balance mod is what is bundled by default with the spring engine, and is the mod that was ready to play when Spring was released.&lt;br /&gt;
&lt;br /&gt;
Now are several mods available, install the mod of your choice.&lt;br /&gt;
&lt;br /&gt;
[http://unknown-files.net/spring/category/14/Mods/ get mods here]&lt;br /&gt;
&lt;br /&gt;
===XTA? OTA? AA? OMFGLAMO? WTF do those abbreviations mean?===&lt;br /&gt;
zwzsg maintains a handy dandy FAQ about TA, and the abbreviations that relate to Spring too, of course.&lt;br /&gt;
[http://www.tauniverse.com/forum/showthread.php?t=27309 click here]. See also the Spring [[Glossary]], which contains brief explanations for all non-standard words and phrases.&lt;br /&gt;
&lt;br /&gt;
===Why am I destroyed so easily by long range assaults?===&lt;br /&gt;
This is a realistic feature of Spring. Units will automatically attack &#039;radar blips&#039; (units that they can not actually see, but that are indicated on radar). However, the accuracy is very bad while shooting at radar blips until:&lt;br /&gt;
* Your unit kills a lot of units and gets experience&lt;br /&gt;
* You get a targeting facility.&lt;br /&gt;
&lt;br /&gt;
===Can I kick people from my &#039;game lobby&#039; or my game?===&lt;br /&gt;
First of all, you have to be the host to kick. Use the good old &amp;quot;.kick playernamehere&amp;quot; command. Works in-game too, use it wisely.&lt;br /&gt;
&lt;br /&gt;
===When I&#039;m &#039;driving&#039; my commander, why can&#039;t I use my laser?===&lt;br /&gt;
The Spring team will most likely add a way for you to use your commander&#039;s laser soon.&lt;br /&gt;
&lt;br /&gt;
===I hate driving around with the &#039;arrow keys&#039;. Is there any way I can use the &#039;W-A-S-D&#039; controls (the controls most First Person Shooters use) anymore?===&lt;br /&gt;
Go into your Spring directory and edit the uikeys file. Keep in mind that &#039;S&#039; is originally a &#039;hot-key&#039; that will stop your units and that &#039;D&#039; is a &#039;hot-key&#039; for your commander&#039;s D-Gun. You might want to change those too.&lt;br /&gt;
&lt;br /&gt;
===I turned the shadows feature on; I still don&#039;t see shadows. What gives?===&lt;br /&gt;
Your graphics card can&#039;t handle shadows, so Spring automatically turns them off.&lt;br /&gt;
&lt;br /&gt;
===I can&#039;t go backwards when I am &#039;driving&#039; a unit. Why not?===&lt;br /&gt;
Because TA units were never intended to go backwards. Sorry, but you just cant.&lt;br /&gt;
&lt;br /&gt;
===I&#039;m in an Unreal Tournament kind of mood. How do I strafe?===&lt;br /&gt;
You can only strafe in &#039;brawler type&#039; ships, such as the brawler, rapier, and light gunships.&lt;br /&gt;
&lt;br /&gt;
===How can I record and watch demos/replays?===   &lt;br /&gt;
From version 0.62 onwards recordings of all the games you play are easily available for replay via the Replays button in the TASclient.&lt;br /&gt;
&lt;br /&gt;
You can use the Speed up/Slow down game keys while watching the replay, along with other in-game commands like .team&lt;br /&gt;
&lt;br /&gt;
From version 0.60b1 onwards, demos are automatically recorded in the &amp;quot;demos&amp;quot; folder, underneath your Spring folder (default is C:\Program Files\Spring\demos), named for the date and map they were played on. If you play multiple games in the same day on the same map, the games will also be numbered to prevent them from overwriting each other.&lt;br /&gt;
&lt;br /&gt;
From version 0.62 onwards, to view a demo from the Windows file manager you can just double click the file name.&lt;br /&gt;
&lt;br /&gt;
===Sometimes when I play get &amp;quot;not sync&amp;quot; &amp;quot;delayed synch&amp;quot; errors===&lt;br /&gt;
&lt;br /&gt;
Thats caused because of lag. One of the players in the game is having some lag issues. Ask him/her to free up its bandwidth for the game to use.&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use the pause key and wait till the connection gets more stable.&lt;br /&gt;
&lt;br /&gt;
Lag is the seccond number showed when you use the .info command ingame, numbers bigger than 40 are not usual in a normal game and are a signal of lag.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Content==&lt;br /&gt;
 &lt;br /&gt;
===Do Spring maps need a &amp;quot;ground&amp;quot;?===&lt;br /&gt;
Spring maps do require a ground. We have had many requests to have space maps, however, a &amp;quot;true&amp;quot; (ala Homeworld) space setting is not likely. It would have to wait until a much later stage. This does not mean that TA&#039;s style of &amp;quot;space&amp;quot; maps won&#039;t be possible, (see the Final Frontier TC for examples of this).&lt;br /&gt;
&lt;br /&gt;
===You stated that Spring uses the TA unit format.===&lt;br /&gt;
Spring does use the Total Annihilation unit format. However, there is also a new format dubbed &#039;.s3o&#039; which uses a UV mapped texture instead of 3do&#039;s per face texturing system, as well as other improvements.&lt;br /&gt;
&lt;br /&gt;
===How powerful will Spring&#039;s custom format be?===&lt;br /&gt;
Total Annihilation&#039;s unit format was extremely limited. Most of these limitations will either be expanded or non-existent in Spring&#039;s custom unit format. One of the most exciting improvements is the introduction of an entirely new method of scripting, with nearly complete control over every aspect of a unit&#039;s actions and behaviors.&lt;br /&gt;
&lt;br /&gt;
===Does Spring have a limited number of weapons?===&lt;br /&gt;
No. Unlike Total Annihilation, Spring&#039;s weapon IDs will be unlimited. Meaning it will be possible to add as many third-party units as you want.  However, the current model format limits 16 weapons to each unit.&lt;br /&gt;
&lt;br /&gt;
===Does Spring have a limited number of unique units?===&lt;br /&gt;
No. Unit IDs, like weapon IDs, will be unlimited.&lt;br /&gt;
&lt;br /&gt;
===Will units have a maximum of 3 unique weapons?===&lt;br /&gt;
Total Annihilation had a limitation that permitted a maximum of 3 unique weapons per unit. Spring currently has a way to have 16 weapons per unit. (Replace Primary, Secondary, Tertiary by 1 2 3 ...16). More can be made possible by modifying the source if there&#039;s a sufficient demand by mod makers.&lt;br /&gt;
&lt;br /&gt;
===I&#039;m curious as to the per-unit polygon limit.===&lt;br /&gt;
The engine itself does not have a polygon count limit. The limit is that of the processing power of today&#039;s computers. Since Spring requires a 3D card, the maximum polygon count per unit will be several times higher than Total Annihilation&#039;s. That means for your average mod, 300 polygons for common units and 700 for the more expensive ones is quite reasonable. (But don&#039;t waste polies unnecessarily!)&lt;br /&gt;
&lt;br /&gt;
===Will units be able to perform basic terraforming?===&lt;br /&gt;
Total Annihilation units probably won&#039;t have any terrain editable functionality. Future units may be endowed with such functionality, but it&#039;s more of a gameplay issue and has not been decided upon yet. However construction units can restore ground, and certain weapons (especially explosive ones) can be used to deform the ground.&lt;br /&gt;
&lt;br /&gt;
===Will tunnel building be possible?===&lt;br /&gt;
Subterranean areas of any sort is impossible. However, it is possible to heavily deform the ground with explosives.. Which is great fun!&lt;br /&gt;
&lt;br /&gt;
===Will the ground&#039;s water retention be editable?===&lt;br /&gt;
No. Water will always collect when a piece of land has a height below sea level.&lt;br /&gt;
&lt;br /&gt;
===Does Spring have a limit on the number of races?===&lt;br /&gt;
Spring has no limit on the total number of sides/races.&lt;br /&gt;
&lt;br /&gt;
===What are the sizes of the biggest and smallest units?===&lt;br /&gt;
Static units (buildings, defenses, etc.) have no size limitations in the engine. Technically, neither do mobile units, but units with a footprint larger than 4x4 &amp;quot;squares&amp;quot; (an arbitrary size standard created by Cavedog) might have problems pathfinding.&lt;br /&gt;
&lt;br /&gt;
===What is going to be the maximum possible sea depth?===&lt;br /&gt;
For all practical purposes, it will be unlimited. The depth values are stored as &amp;quot;float variables&amp;quot;, so it is doubtful that maps would ever be made which even come close to approaching the limit.&lt;br /&gt;
&lt;br /&gt;
===Will Spring support campaigns?===&lt;br /&gt;
Basic Map scripting has been implemented, using a Lua scripting engine. From that, it would be possible to make a basic campaign, but for ease of use a better way of selecting scripts and an improved Single player menu is needed.&lt;br /&gt;
&lt;br /&gt;
See [[Mission development]] for more details.&lt;br /&gt;
&lt;br /&gt;
===How big are the Spring files?===&lt;br /&gt;
Spring will be as small as however much content is included with it. The &amp;quot;essential&amp;quot; files are only be several megabytes large. Content (such as maps and units) will add considerable size to the Spring download. Currently, the file size is roughly 30 MB.&lt;br /&gt;
&lt;br /&gt;
===How will Spring render sound effects?===&lt;br /&gt;
Sound is rendered 3D, meaning that the volume and direction (assuming a multi-speaker setup) vary with the location of the camera from the sound &amp;quot;emitter&amp;quot;. What this translates into gameplay terms means that the closer you are to a unit making a sound or motion, the louder the sound will be. Additionally, the sound will be heard differently depending on which way the camera is facing relative to units making sound.&lt;br /&gt;
&lt;br /&gt;
===Will Spring have ambient sound?===&lt;br /&gt;
There is no ambient sound, and we haven&#039;t planned on adding it thus far.&lt;br /&gt;
&lt;br /&gt;
===Will there be an AI or a &amp;quot;skirmish&amp;quot; mode?===&lt;br /&gt;
We have created an interface for artificial intelligences (AIs), and several are currently under development. Information on these can be found at the [[AIs]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===Will a &amp;quot;possess&amp;quot; or a FPS option be present?===&lt;br /&gt;
Yes, it is possible to fully control a unit from the first person view. It is more of a gimmick, but it still allows for a nice diversion once in a while.  Instructions on its use are in the [[Using_Spring#FPS_.22Mode.22_.28C.29|Using Spring]] article.&lt;br /&gt;
&lt;br /&gt;
===How do I create maps?===&lt;br /&gt;
See the [[Map development]] page for all the map info.&lt;br /&gt;
&lt;br /&gt;
===How do I create units/mods?===&lt;br /&gt;
See the [[Mod_and_Unit_development#Mod_devlopement|Mod and Unit development]] page on creating units/ mods.&lt;br /&gt;
&lt;br /&gt;
[[Category:Content]]&lt;/div&gt;</summary>
		<author><name>Rp3</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16629</id>
		<title>SetupGuide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16629"/>
		<updated>2007-12-30T02:37:56Z</updated>

		<summary type="html">&lt;p&gt;Rp3: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Install =&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The guide is fully up to date with release 0.75b2.&#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;
&#039;&#039;&#039;Do not use older than current release version&#039;&#039;&#039;, unless you really know what you are doing.&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;
== Packages ==&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;
=== http://www.springlobby.info/images/debian-small.png Debian Etch ===&lt;br /&gt;
&lt;br /&gt;
This is for version 0.75b2.&lt;br /&gt;
&lt;br /&gt;
We need to use Yokozar&#039;s Ubuntu package, so we need some tricks.&lt;br /&gt;
&lt;br /&gt;
The --build step will take about 15 minutes. Hopefully we have precompiled binaries for etch soon too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget -q http://buildbot.no-ip.org/~yokozar/apt/387EE263.gpg -O- | \&lt;br /&gt;
    sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
wget http://buildbot.no-ip.org/~yokozar/apt/sources.list.d/gutsy.list \&lt;br /&gt;
    -O /etc/apt/sources.list.d/springproject.list&lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get build-dep spring -y&lt;br /&gt;
sudo apt-get --build source spring -y&lt;br /&gt;
sudo dpkg -i spring_0.75~b2-1_i386.deb spring-data_0.75~b2-1_all.deb&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;
=== http://www.springlobby.info/images/debian-small.png Debian Unstable ===&lt;br /&gt;
&lt;br /&gt;
This is for version 0.75b2.&lt;br /&gt;
&lt;br /&gt;
Ubuntu instructions should work for debian unstable as is at the moment. They are right below.&lt;br /&gt;
&lt;br /&gt;
=== http://www.springlobby.info/images/ubuntu-small.png Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
This is for version 0.75b2.&lt;br /&gt;
&lt;br /&gt;
We now have a maintained and up to date APT repository for Ubuntu 7.10 (Gutsy)&lt;br /&gt;
&lt;br /&gt;
If you have some older version of ubuntu, you can easily upgrade to Gutsy with these instructions: http://www.ubuntu.com/getubuntu/upgrading&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Those lines are long and split to fit on this page, you can copy-paste this to your terminal as is, as long as you copy all lines and not just one.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget -q http://buildbot.no-ip.org/~yokozar/apt/387EE263.gpg -O- | \&lt;br /&gt;
    sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
sudo wget http://buildbot.no-ip.org/~yokozar/apt/sources.list.d/gutsy.list \&lt;br /&gt;
    -O /etc/apt/sources.list.d/springproject.list&lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install spring -y&lt;br /&gt;
sudo apt-get install spring-lobby-springlobby -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Also, if you want to download a few large maps you can do following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install spring-maps-hunterw spring-maps-deltasiege spring-maps-smallsupreme&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For configuring the lobbies, you can note that the package installs the Spring executable at &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;
=== http://www.springlobby.info/images/gentoo-small.png Gentoo ===&lt;br /&gt;
&lt;br /&gt;
This is for version 0.75b2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The location of the overlay will change as soon as we get this in official portage.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An overlay to use with layman is provided. If gentoo overlays and/or layman are new to you, [http://overlays.gentoo.org/ read about them], as they are an essential part of gentoo.&lt;br /&gt;
&lt;br /&gt;
This example assumes you never used layman before. If it&#039;s not your first time, you hopefully know what to do.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge layman&lt;br /&gt;
layman -f -a spring-unofficial \&lt;br /&gt;
     -o http://svn.springlobby.info/trunk/gentoo/overlays.xml&lt;br /&gt;
echo &amp;quot;source /usr/portage/local/layman/make.conf&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
echo &amp;quot;games-strategy/spring ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
emerge spring&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Layman makes upgrading really easy too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
layman --sync ALL&lt;br /&gt;
emerge spring&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;
== Build From Source ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You might encounter sync errors in online play if you are not using the exact same version of the compiler and same compiler settings as used for prebuilt packages!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For 0.75b2 these are: TODO add them here.&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;
=== Get Source ===&lt;br /&gt;
&lt;br /&gt;
You can either download the source as a 3.9MB tarball (recommended; v. 0.75b2) or get it from the subversion repository. Either way, the result is the same.&lt;br /&gt;
&lt;br /&gt;
==== Tarball ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src # or /var/tmp, or whatever&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;
&#039;&#039;&#039;NOTE: The .zip release is for windows only. Linux users have to get .bz2 like shown above.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 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://spring.clan-sy.com/svn/spring/tags/spring_0.75b2 /usr/local/src/spring_0.75b2&lt;br /&gt;
cd /usr/local/src/spring_0.75b2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 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. Note&lt;br /&gt;
that Spring 0.75b2 depends on the boost libraries version 1.34.* and won&#039;t&lt;br /&gt;
work on lower versions.&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.5-dev zip&lt;br /&gt;
aptitude install sun-java6-jdk&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;
=== Build And Install ===&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 and build:&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&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;
== Network ==&lt;br /&gt;
&lt;br /&gt;
If you have a public ip and no firewall, then you don&#039;t need to do anything.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to host any games, just join them, you shouldn&#039;t need to do anything.&lt;br /&gt;
&lt;br /&gt;
If you have a firewall, to be able to host, you must enable incoming udp to port 8452. If you are behind a NAT, to be able to host you must either use nat traversal / hole punching feature in your lobby client, OR port forward that port from your public ip to your gaming machine.&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;
== Data Directories ==&lt;br /&gt;
&lt;br /&gt;
Do this to create your per-user data directories. You will be downloading maps and mods etc to these dirs later.&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;
If the above did not work for you, then you can try:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ~/.spring ~/.spring/base ~/.spring/maps ~/.spring/mods&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 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://www.unknown-files.net/spring/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;
== 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://www.unknown-files.net/spring/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 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;
== OTA Content ==&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;
Mods that do not require this file are at least NanoBlobs, TODO list other mods that don&#039;t need it.&lt;br /&gt;
&lt;br /&gt;
== Settings == &lt;br /&gt;
&lt;br /&gt;
Defaults should be usable, so you can ignore this until you want to maximize 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;
To make Dual Monitors work add/change these settings in your .springrc file.            &lt;br /&gt;
&amp;quot;DualScreenMiniMapOnLeft=1,&lt;br /&gt;
DualScreenMode=1,&lt;br /&gt;
XResolution=2560,&lt;br /&gt;
YResolution=1024&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Make sure to use your own resolution for the X,Y resolutions.  For example: you have two monitors configured for 1280x1024, the X,Y is 2560x1024.&lt;br /&gt;
&lt;br /&gt;
Save then restart Spring.&lt;br /&gt;
&lt;br /&gt;
== 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;
To install some LuaUI scripts, start by copying LuaUI folder from you read-only data directory to your read-write data directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r ~/.spring/LuaUI&lt;br /&gt;
cp -r /usr/share/games/spring/LuaUI ~/.spring/LuaUI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then go find the LuaUI scripts you need from [http://spring.unknown-files.net/category/19/Lua_Scripts/ Unknown Files LuaUI Section]. All LuaUI scripts are released there, so if you make good ones yourself, make sure to upload them.&lt;br /&gt;
&lt;br /&gt;
The scripts can come in any setup, so prepare to decompress them if they are compressed. They might have a whole directory structure, and they should have their own instructions on how to install them. Check which directory you need to extract them to. Most likely it is ~/.spring/LuaUI but it might be a directory inside this directory too for some script.&lt;br /&gt;
&lt;br /&gt;
Once you have copied the script into place, when you start spring next time, you can press F11 to enable/disable anything from your list of installed LuaUI scripts. If your new script is not there, you copied it wrong.&lt;br /&gt;
&lt;br /&gt;
== 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;
Recommended lobby client for linux is either SpringLobby or AFLobby. You can use them in windows and mac too.&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;
UnityLobby has been abandoned since april 2007, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
=== [http://springlobby.info SpringLobby] ===&lt;br /&gt;
&lt;br /&gt;
SpringLobby is for (at least) Windows, Linux and Mac. It&#039;s now in a usable state and has a feature set close to that of TASClient for windows. Try it out! Bug reports and feature requests are very much welcome.&lt;br /&gt;
&lt;br /&gt;
Visit http://springlobby.info for all things SpringLobby.&lt;br /&gt;
&lt;br /&gt;
=== AFLobby ===&lt;br /&gt;
&lt;br /&gt;
This project is very promising, and is usable for online multi player. Its the oldest lobby still actively maintained.&lt;br /&gt;
&lt;br /&gt;
Official webpage for the project is http://www.darkstars.co.uk which should always have the latest release for download.&lt;br /&gt;
&lt;br /&gt;
=== TASClient ===&lt;br /&gt;
&lt;br /&gt;
I used to recommend wine+TASClient solution before, but now you should try SpringLobby or AFLobby first, before you go this route.&lt;br /&gt;
&lt;br /&gt;
Certain newish version of wine fails with tasclient, TODO can&#039;t remember which one. It should be fixed in the very latest version of wine.&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 used it myself before moving to SpringLobby.&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;
TODO there is a way to make it support rank increases too, using trepans cool proxy, add info.&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&lt;br /&gt;
&lt;br /&gt;
touch &amp;quot;${WINESPRING}/script.txt&amp;quot;&lt;br /&gt;
ln -s &amp;quot;${WINESPRING}/script.txt&amp;quot; &amp;quot;${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&amp;quot; &amp;quot;${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&amp;quot; &amp;quot;${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&amp;quot; &amp;quot;${WINESPRING}/base&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rm -r &amp;quot;${WINESPRING}/demos&amp;quot;&lt;br /&gt;
ln -s &amp;quot;${NATIVE}/demos&amp;quot; &amp;quot;${WINESPRING}/demos&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;
== Ingame ==&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;
=== Mouse is slow in fullscreen mode ===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &#039;export SDL_MOUSE_RELATIVE=0&#039; &amp;gt;&amp;gt; ~/.bash_profile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
And log out and log in again.&lt;br /&gt;
&lt;br /&gt;
The mouse should now be as fast as in windowed mode.&lt;br /&gt;
&lt;br /&gt;
=== Rotating Buildings Ingame ===&lt;br /&gt;
&lt;br /&gt;
You can rotate a building before you give the build order, but the keys that do this don&#039;t work in linux by default for some users. Issue the following commands in the beginning of the game:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/bind keycodex buildfacing inc&lt;br /&gt;
/bind keycodey buildfacing dec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keycodex and keycodey above are just placeholders. What you want to write depends on which key you want to use. To see what keycodes any keys have, do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/keydebug yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then hit the keys you want to use, and spring prints the keycodes in the message buffer.&lt;br /&gt;
&lt;br /&gt;
TODO: add information on how to save the settings so that they work the next time you start spring.&lt;br /&gt;
&lt;br /&gt;
=== Map is White ===&lt;br /&gt;
&lt;br /&gt;
If the whole map is only shades of white and grey, there is a problem with your display driver. Maybe your gpu is very old and does not support some needed opengl feature. For example I had this problem with matrox g550 but not with some very old geforce.&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
&lt;br /&gt;
=== Missing Default Cursor ===&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 [[SetupGuide#OTA_Content|earlier in this document]].&lt;br /&gt;
&lt;br /&gt;
=== sounds/button9.wav &amp;quot;cant find wav file&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Same problem as above.&lt;br /&gt;
&lt;br /&gt;
=== GL_ARB_texture_compression not found ===&lt;br /&gt;
&lt;br /&gt;
This can be an issue with your gpu drivers. The drivers you are using do not support a feature that is required to run spring. You might have better luck with the closed source official drivers of nvidia or amd cards. If your gpu itself is really old, this might not help.&lt;br /&gt;
&lt;br /&gt;
If you use the fglrx ati-graphics driver and you are getting this error there might be a chance that still spring work (I use this with ubuntu gusty).&lt;br /&gt;
At first we must check that fglrx is installed correctly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ fglrxinfo&lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: ATI Mobility Radeon X1400&lt;br /&gt;
OpenGL version string: 2.0.6747 (8.40.4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then lets check the glx-extention.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ glxinfo | grep direct&lt;br /&gt;
Xlib:  extension &amp;quot;XFree86-DRI&amp;quot; missing on display &amp;quot;:1.0&amp;quot;.&lt;br /&gt;
direct rendering: No&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this message, notice that glxinfo releates to display &#039;:1&#039; and fglrxinfo to display &#039;:0&#039;!! Lets check the glx-extention on display :0 now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ DISPLAY=:0 glxinfo | grep direct&lt;br /&gt;
direct rendering: Yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tis message mean that you can start spring by typing (in a terminal)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ DISPLAY=:0 spring&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the TASclient with wine and the native linux spring. Start the whole TASclient-start-script by typing. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
DISPLAY=:0 start-TASCLIENT-script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But Notice under circumstances is no windowmanager running on screen :0! This means there are NO windowframes at the TASClient window! You can&#039;t move it or close it by clicking the closebutton (unless you click at the close button on the terminal-window in witch you startet TAS). You can although close TAS with the keys ALT-F4&lt;br /&gt;
&lt;br /&gt;
=== OpenAL Segfault ===&lt;br /&gt;
&lt;br /&gt;
If spring crashes with this output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenAL: ALC_EXT_capture AL_EXT_capture AL_EXT_vorbis AL_EXT_MP3&lt;br /&gt;
AL_LOKI_quadriphonic AL_LOKI_play_position AL_LOKI_WAVE_format&lt;br /&gt;
AL_LOKI_IMA_ADPCM_format AL_LOKI_buffer_data_callback ALC_LOKI_audio_channel&lt;br /&gt;
Segmentation fault (core dumped)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then bug nemo in #taspring to finish this troubleshooting entry. He knows how to fix it.&lt;br /&gt;
&lt;br /&gt;
This is mod-related, ie. it only happens on some mods. Please list here the mod versions that give this error for you.&lt;br /&gt;
&lt;br /&gt;
- Star Wars mod, unknown version, by user report&lt;br /&gt;
&lt;br /&gt;
The problematic mod contains a sound file that crashes openal. You can try to unzip the mod file that crashed for you, and play each sound file. Please report any sound files that fail to play right, just list them here.&lt;br /&gt;
&lt;br /&gt;
- unknown file&lt;br /&gt;
&lt;br /&gt;
== Compiletime ==&lt;br /&gt;
&lt;br /&gt;
=== make_gamedata_arch.sh not found ===&lt;br /&gt;
&lt;br /&gt;
The .zip you downloaded is for windows, you must download a .bz2, instructions [[SetupGuide#Downloading_A_Tarball|earlier in this document]].&lt;br /&gt;
&lt;br /&gt;
=== invalid use of ILvoid ===&lt;br /&gt;
&lt;br /&gt;
During compiling, if you get a lot of the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/include/IL/il.h:497: error: &#039;&amp;lt;anonymous&amp;gt;&#039; has incomplete type &lt;br /&gt;
/usr/include/IL/il.h:497: error: invalid use of &#039;ILvoid&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This happens because the version of libdevil-dev you have installed is not compatible with gcc version 4.2 and newer.&lt;br /&gt;
&lt;br /&gt;
You should upgrade your libdevil-dev to fix this issue. However, in some distributions (at least gentoo), the fixed package has the SAME version number as the older unfixed package, so you might actually need to remove your current libdevil-dev package completely and reinstall it.&lt;br /&gt;
&lt;br /&gt;
TODO: add critical version numbers of libdevil.&lt;br /&gt;
&lt;br /&gt;
== Network Setup ==&lt;br /&gt;
&lt;br /&gt;
Usually you don&#039;t need to do any network setup whatsoever, because the lobbies take care of nat traversal with firewall hole punching, but if you need to know the topology, it goes like this:&lt;br /&gt;
&lt;br /&gt;
Host needs to enable incoming udp to port 8452, and outgoing replies to those.&lt;br /&gt;
Non-host players need to enable outgoing udp, and incoming replies to those.&lt;br /&gt;
So basically only non-host players initiate &amp;quot;connections&amp;quot;, and only the server listens on a well-known port.&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;
== IRC ==&lt;br /&gt;
&lt;br /&gt;
# #taspring @ FreeNode&lt;br /&gt;
# #sy @ QuakeNet&lt;br /&gt;
&lt;br /&gt;
== Asking For Help ==&lt;br /&gt;
&lt;br /&gt;
Ok so you need human help. This is how &#039;&#039;&#039;NOT&#039;&#039;&#039; to do it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
15:54 -!- **** [n=****@*] has joined #taspring&lt;br /&gt;
15:54 &amp;lt; ****&amp;gt; Hi, i have a problem with compiling spring on debian&lt;br /&gt;
15:54 &amp;lt; ****&amp;gt; can anyone help me?&lt;br /&gt;
15:57 -!- **** [n=****@*] has quit [Client Quit]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t ask to ask, instead go straight to business by stating the exact problem you have, and giving all necessary information. What you were trying to achieve, how did you try to do it, what happened and what did you expect to happen.&lt;br /&gt;
&lt;br /&gt;
Then WAIT for someone to notice you.&lt;br /&gt;
&lt;br /&gt;
== Configure Options ==&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;
&lt;br /&gt;
&lt;br /&gt;
= Tips =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This section contains just some old crap I didn&#039;t write, and shouldn&#039;t be necessary.&#039;&#039;&#039;&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>Rp3</name></author>
	</entry>
	<entry>
		<id>https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16628</id>
		<title>SetupGuide</title>
		<link rel="alternate" type="text/html" href="https://springrts-wiki.p2004a.com/mediawiki/index.php?title=SetupGuide&amp;diff=16628"/>
		<updated>2007-12-30T02:33:53Z</updated>

		<summary type="html">&lt;p&gt;Rp3: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Install =&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The guide is fully up to date with release 0.75b2.&#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;
&#039;&#039;&#039;Do not use older than current release version&#039;&#039;&#039;, unless you really know what you are doing.&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;
== Packages ==&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;
=== http://www.springlobby.info/images/debian-small.png Debian Etch ===&lt;br /&gt;
&lt;br /&gt;
This is for version 0.75b2.&lt;br /&gt;
&lt;br /&gt;
We need to use Yokozar&#039;s Ubuntu package, so we need some tricks.&lt;br /&gt;
&lt;br /&gt;
The --build step will take about 15 minutes. Hopefully we have precompiled binaries for etch soon too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget -q http://buildbot.no-ip.org/~yokozar/apt/387EE263.gpg -O- | \&lt;br /&gt;
    sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
wget http://buildbot.no-ip.org/~yokozar/apt/sources.list.d/gutsy.list \&lt;br /&gt;
    -O /etc/apt/sources.list.d/springproject.list&lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get build-dep spring -y&lt;br /&gt;
sudo apt-get --build source spring -y&lt;br /&gt;
sudo dpkg -i spring_0.75~b2-1_i386.deb spring-data_0.75~b2-1_all.deb&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;
=== http://www.springlobby.info/images/debian-small.png Debian Unstable ===&lt;br /&gt;
&lt;br /&gt;
This is for version 0.75b2.&lt;br /&gt;
&lt;br /&gt;
Ubuntu instructions should work for debian unstable as is at the moment. They are right below.&lt;br /&gt;
&lt;br /&gt;
=== http://www.springlobby.info/images/ubuntu-small.png Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
This is for version 0.75b2.&lt;br /&gt;
&lt;br /&gt;
We now have a maintained and up to date APT repository for Ubuntu 7.10 (Gutsy)&lt;br /&gt;
&lt;br /&gt;
If you have some older version of ubuntu, you can easily upgrade to Gutsy with these instructions: http://www.ubuntu.com/getubuntu/upgrading&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Those lines are long and split to fit on this page, you can copy-paste this to your terminal as is, as long as you copy all lines and not just one.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
wget -q http://buildbot.no-ip.org/~yokozar/apt/387EE263.gpg -O- | \&lt;br /&gt;
    sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
sudo wget http://buildbot.no-ip.org/~yokozar/apt/sources.list.d/gutsy.list \&lt;br /&gt;
    -O /etc/apt/sources.list.d/springproject.list&lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install spring -y&lt;br /&gt;
sudo apt-get install spring-lobby-springlobby -y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Also, if you want to download a few large maps you can do following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install spring-maps-hunterw spring-maps-deltasiege spring-maps-smallsupreme&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For configuring the lobbies, you can note that the package installs the Spring executable at &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;
=== http://www.springlobby.info/images/gentoo-small.png Gentoo ===&lt;br /&gt;
&lt;br /&gt;
This is for version 0.75b2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The location of the overlay will change as soon as we get this in official portage.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An overlay to use with layman is provided. If gentoo overlays and/or layman are new to you, [http://overlays.gentoo.org/ read about them], as they are an essential part of gentoo.&lt;br /&gt;
&lt;br /&gt;
This example assumes you never used layman before. If it&#039;s not your first time, you hopefully know what to do.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge layman&lt;br /&gt;
layman -f -a spring-unofficial \&lt;br /&gt;
     -o http://svn.springlobby.info/trunk/gentoo/overlays.xml&lt;br /&gt;
echo &amp;quot;source /usr/portage/local/layman/make.conf&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
echo &amp;quot;games-strategy/spring ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
emerge spring&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Layman makes upgrading really easy too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
layman --sync ALL&lt;br /&gt;
emerge spring&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;
== Build From Source ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You might encounter sync errors in online play if you are not using the exact same version of the compiler and same compiler settings as used for prebuilt packages!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For 0.75b2 these are: TODO add them here.&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;
=== Get Source ===&lt;br /&gt;
&lt;br /&gt;
You can either download the source as a 3.9MB tarball (recommended; v. 0.75b2) or get it from the subversion repository. Either way, the result is the same.&lt;br /&gt;
&lt;br /&gt;
==== Tarball ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src # or /var/tmp, or whatever&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;
&#039;&#039;&#039;NOTE: The .zip release is for windows only. Linux users have to get .bz2 like shown above.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 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://spring.clan-sy.com/svn/spring/tags/spring_0.75b2 /usr/local/src/spring_0.75b2&lt;br /&gt;
cd /usr/local/src/spring_0.75b2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 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. Note&lt;br /&gt;
that Spring 0.75b2 depends on the boost libraries version 1.34.* and won&#039;t&lt;br /&gt;
work on lower versions.&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.5-dev zip&lt;br /&gt;
aptitude install sun-java6-jdk&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;
=== Build And Install ===&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 and build:&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&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;
== Network ==&lt;br /&gt;
&lt;br /&gt;
If you have a public ip and no firewall, then you don&#039;t need to do anything.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to host any games, just join them, you shouldn&#039;t need to do anything.&lt;br /&gt;
&lt;br /&gt;
If you have a firewall, to be able to host, you must enable incoming udp to port 8452. If you are behind a NAT, to be able to host you must either use nat traversal / hole punching feature in your lobby client, OR port forward that port from your public ip to your gaming machine.&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;
== Data Directories ==&lt;br /&gt;
&lt;br /&gt;
Do this to create your per-user data directories. You will be downloading maps and mods etc to these dirs later.&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;
If the above did not work for you, then you can try:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ~/.spring ~/.spring/base ~/.spring/maps ~/.spring/mods&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 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://www.unknown-files.net/spring/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;
== 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://www.unknown-files.net/spring/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 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;
== OTA Content ==&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;
Mods that do not require this file are at least NanoBlobs, TODO list other mods that don&#039;t need it.&lt;br /&gt;
&lt;br /&gt;
== Settings == &lt;br /&gt;
&lt;br /&gt;
Defaults should be usable, so you can ignore this until you want to maximize 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;
To make Dual Monitors work add/change these settings in your .springrc file.&lt;br /&gt;
DualScreenMiniMapOnLeft=1&lt;br /&gt;
DualScreenMode=1&lt;br /&gt;
XResolution=2560&lt;br /&gt;
YResolution=1024&lt;br /&gt;
&lt;br /&gt;
Make sure to use your own resolution for the X,Y resolutions.  For example: you have two monitors configured for 1280x1024, the X,Y is 2560x1024.&lt;br /&gt;
&lt;br /&gt;
== 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;
To install some LuaUI scripts, start by copying LuaUI folder from you read-only data directory to your read-write data directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -r ~/.spring/LuaUI&lt;br /&gt;
cp -r /usr/share/games/spring/LuaUI ~/.spring/LuaUI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then go find the LuaUI scripts you need from [http://spring.unknown-files.net/category/19/Lua_Scripts/ Unknown Files LuaUI Section]. All LuaUI scripts are released there, so if you make good ones yourself, make sure to upload them.&lt;br /&gt;
&lt;br /&gt;
The scripts can come in any setup, so prepare to decompress them if they are compressed. They might have a whole directory structure, and they should have their own instructions on how to install them. Check which directory you need to extract them to. Most likely it is ~/.spring/LuaUI but it might be a directory inside this directory too for some script.&lt;br /&gt;
&lt;br /&gt;
Once you have copied the script into place, when you start spring next time, you can press F11 to enable/disable anything from your list of installed LuaUI scripts. If your new script is not there, you copied it wrong.&lt;br /&gt;
&lt;br /&gt;
== 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;
Recommended lobby client for linux is either SpringLobby or AFLobby. You can use them in windows and mac too.&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;
UnityLobby has been abandoned since april 2007, and you should not use it.&lt;br /&gt;
&lt;br /&gt;
=== [http://springlobby.info SpringLobby] ===&lt;br /&gt;
&lt;br /&gt;
SpringLobby is for (at least) Windows, Linux and Mac. It&#039;s now in a usable state and has a feature set close to that of TASClient for windows. Try it out! Bug reports and feature requests are very much welcome.&lt;br /&gt;
&lt;br /&gt;
Visit http://springlobby.info for all things SpringLobby.&lt;br /&gt;
&lt;br /&gt;
=== AFLobby ===&lt;br /&gt;
&lt;br /&gt;
This project is very promising, and is usable for online multi player. Its the oldest lobby still actively maintained.&lt;br /&gt;
&lt;br /&gt;
Official webpage for the project is http://www.darkstars.co.uk which should always have the latest release for download.&lt;br /&gt;
&lt;br /&gt;
=== TASClient ===&lt;br /&gt;
&lt;br /&gt;
I used to recommend wine+TASClient solution before, but now you should try SpringLobby or AFLobby first, before you go this route.&lt;br /&gt;
&lt;br /&gt;
Certain newish version of wine fails with tasclient, TODO can&#039;t remember which one. It should be fixed in the very latest version of wine.&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 used it myself before moving to SpringLobby.&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;
TODO there is a way to make it support rank increases too, using trepans cool proxy, add info.&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&lt;br /&gt;
&lt;br /&gt;
touch &amp;quot;${WINESPRING}/script.txt&amp;quot;&lt;br /&gt;
ln -s &amp;quot;${WINESPRING}/script.txt&amp;quot; &amp;quot;${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&amp;quot; &amp;quot;${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&amp;quot; &amp;quot;${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&amp;quot; &amp;quot;${WINESPRING}/base&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rm -r &amp;quot;${WINESPRING}/demos&amp;quot;&lt;br /&gt;
ln -s &amp;quot;${NATIVE}/demos&amp;quot; &amp;quot;${WINESPRING}/demos&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;
== Ingame ==&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;
=== Mouse is slow in fullscreen mode ===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &#039;export SDL_MOUSE_RELATIVE=0&#039; &amp;gt;&amp;gt; ~/.bash_profile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
And log out and log in again.&lt;br /&gt;
&lt;br /&gt;
The mouse should now be as fast as in windowed mode.&lt;br /&gt;
&lt;br /&gt;
=== Rotating Buildings Ingame ===&lt;br /&gt;
&lt;br /&gt;
You can rotate a building before you give the build order, but the keys that do this don&#039;t work in linux by default for some users. Issue the following commands in the beginning of the game:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/bind keycodex buildfacing inc&lt;br /&gt;
/bind keycodey buildfacing dec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keycodex and keycodey above are just placeholders. What you want to write depends on which key you want to use. To see what keycodes any keys have, do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/keydebug yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then hit the keys you want to use, and spring prints the keycodes in the message buffer.&lt;br /&gt;
&lt;br /&gt;
TODO: add information on how to save the settings so that they work the next time you start spring.&lt;br /&gt;
&lt;br /&gt;
=== Map is White ===&lt;br /&gt;
&lt;br /&gt;
If the whole map is only shades of white and grey, there is a problem with your display driver. Maybe your gpu is very old and does not support some needed opengl feature. For example I had this problem with matrox g550 but not with some very old geforce.&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
&lt;br /&gt;
=== Missing Default Cursor ===&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 [[SetupGuide#OTA_Content|earlier in this document]].&lt;br /&gt;
&lt;br /&gt;
=== sounds/button9.wav &amp;quot;cant find wav file&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Same problem as above.&lt;br /&gt;
&lt;br /&gt;
=== GL_ARB_texture_compression not found ===&lt;br /&gt;
&lt;br /&gt;
This can be an issue with your gpu drivers. The drivers you are using do not support a feature that is required to run spring. You might have better luck with the closed source official drivers of nvidia or amd cards. If your gpu itself is really old, this might not help.&lt;br /&gt;
&lt;br /&gt;
If you use the fglrx ati-graphics driver and you are getting this error there might be a chance that still spring work (I use this with ubuntu gusty).&lt;br /&gt;
At first we must check that fglrx is installed correctly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ fglrxinfo&lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: ATI Mobility Radeon X1400&lt;br /&gt;
OpenGL version string: 2.0.6747 (8.40.4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then lets check the glx-extention.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ glxinfo | grep direct&lt;br /&gt;
Xlib:  extension &amp;quot;XFree86-DRI&amp;quot; missing on display &amp;quot;:1.0&amp;quot;.&lt;br /&gt;
direct rendering: No&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this message, notice that glxinfo releates to display &#039;:1&#039; and fglrxinfo to display &#039;:0&#039;!! Lets check the glx-extention on display :0 now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ DISPLAY=:0 glxinfo | grep direct&lt;br /&gt;
direct rendering: Yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tis message mean that you can start spring by typing (in a terminal)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ DISPLAY=:0 spring&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use the TASclient with wine and the native linux spring. Start the whole TASclient-start-script by typing. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
DISPLAY=:0 start-TASCLIENT-script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But Notice under circumstances is no windowmanager running on screen :0! This means there are NO windowframes at the TASClient window! You can&#039;t move it or close it by clicking the closebutton (unless you click at the close button on the terminal-window in witch you startet TAS). You can although close TAS with the keys ALT-F4&lt;br /&gt;
&lt;br /&gt;
=== OpenAL Segfault ===&lt;br /&gt;
&lt;br /&gt;
If spring crashes with this output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenAL: ALC_EXT_capture AL_EXT_capture AL_EXT_vorbis AL_EXT_MP3&lt;br /&gt;
AL_LOKI_quadriphonic AL_LOKI_play_position AL_LOKI_WAVE_format&lt;br /&gt;
AL_LOKI_IMA_ADPCM_format AL_LOKI_buffer_data_callback ALC_LOKI_audio_channel&lt;br /&gt;
Segmentation fault (core dumped)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then bug nemo in #taspring to finish this troubleshooting entry. He knows how to fix it.&lt;br /&gt;
&lt;br /&gt;
This is mod-related, ie. it only happens on some mods. Please list here the mod versions that give this error for you.&lt;br /&gt;
&lt;br /&gt;
- Star Wars mod, unknown version, by user report&lt;br /&gt;
&lt;br /&gt;
The problematic mod contains a sound file that crashes openal. You can try to unzip the mod file that crashed for you, and play each sound file. Please report any sound files that fail to play right, just list them here.&lt;br /&gt;
&lt;br /&gt;
- unknown file&lt;br /&gt;
&lt;br /&gt;
== Compiletime ==&lt;br /&gt;
&lt;br /&gt;
=== make_gamedata_arch.sh not found ===&lt;br /&gt;
&lt;br /&gt;
The .zip you downloaded is for windows, you must download a .bz2, instructions [[SetupGuide#Downloading_A_Tarball|earlier in this document]].&lt;br /&gt;
&lt;br /&gt;
=== invalid use of ILvoid ===&lt;br /&gt;
&lt;br /&gt;
During compiling, if you get a lot of the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/include/IL/il.h:497: error: &#039;&amp;lt;anonymous&amp;gt;&#039; has incomplete type &lt;br /&gt;
/usr/include/IL/il.h:497: error: invalid use of &#039;ILvoid&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This happens because the version of libdevil-dev you have installed is not compatible with gcc version 4.2 and newer.&lt;br /&gt;
&lt;br /&gt;
You should upgrade your libdevil-dev to fix this issue. However, in some distributions (at least gentoo), the fixed package has the SAME version number as the older unfixed package, so you might actually need to remove your current libdevil-dev package completely and reinstall it.&lt;br /&gt;
&lt;br /&gt;
TODO: add critical version numbers of libdevil.&lt;br /&gt;
&lt;br /&gt;
== Network Setup ==&lt;br /&gt;
&lt;br /&gt;
Usually you don&#039;t need to do any network setup whatsoever, because the lobbies take care of nat traversal with firewall hole punching, but if you need to know the topology, it goes like this:&lt;br /&gt;
&lt;br /&gt;
Host needs to enable incoming udp to port 8452, and outgoing replies to those.&lt;br /&gt;
Non-host players need to enable outgoing udp, and incoming replies to those.&lt;br /&gt;
So basically only non-host players initiate &amp;quot;connections&amp;quot;, and only the server listens on a well-known port.&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;
== IRC ==&lt;br /&gt;
&lt;br /&gt;
# #taspring @ FreeNode&lt;br /&gt;
# #sy @ QuakeNet&lt;br /&gt;
&lt;br /&gt;
== Asking For Help ==&lt;br /&gt;
&lt;br /&gt;
Ok so you need human help. This is how &#039;&#039;&#039;NOT&#039;&#039;&#039; to do it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
15:54 -!- **** [n=****@*] has joined #taspring&lt;br /&gt;
15:54 &amp;lt; ****&amp;gt; Hi, i have a problem with compiling spring on debian&lt;br /&gt;
15:54 &amp;lt; ****&amp;gt; can anyone help me?&lt;br /&gt;
15:57 -!- **** [n=****@*] has quit [Client Quit]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t ask to ask, instead go straight to business by stating the exact problem you have, and giving all necessary information. What you were trying to achieve, how did you try to do it, what happened and what did you expect to happen.&lt;br /&gt;
&lt;br /&gt;
Then WAIT for someone to notice you.&lt;br /&gt;
&lt;br /&gt;
== Configure Options ==&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;
&lt;br /&gt;
&lt;br /&gt;
= Tips =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This section contains just some old crap I didn&#039;t write, and shouldn&#039;t be necessary.&#039;&#039;&#039;&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>Rp3</name></author>
	</entry>
</feed>