Contents |
Installation
An overlay to use with layman is provided. If gentoo overlays and/or layman are new to you, read about them, as they are an essential part of gentoo.
This example assumes you never used layman before.
### install layman (with git support)
### you don't need to if you used layman before, obviously
echo "app-portage/layman git" >> /etc/portage/package.use
emerge layman
echo "source /usr/local/portage/layman/make.conf" >> /etc/make.conf
### add spring overlay to layman
layman -f -a Spring -o http://springrts.com/dl/overlays.xml
### allow installation of unstable versions
echo "games-strategy/spring ~x86" >> /etc/portage/package.keywords
echo "games-util/springlobby ~x86" >> /etc/portage/package.keywords
### make sure wxWidgets has been activated, springlobby will fail without it with error:
### Could NOT find wxWidgets (missing: wxWidgets_FOUND)
eselect wxwidgets list # if none set, select one with e.g.:
eselect wxwidgets set 3
### install game and lobby
emerge spring springlobby
Upgrading
### update the repository and check for new versions
layman -S
### upgrade existing installations
emerge -u spring springlobby
Your paths are: Spring executable in /usr/games/bin/spring and
read-only data in /usr/share/games/spring.
Finalizing installation
Now you have Spring installed along with SpringLobby. You are now ready to start springlobby for the first time.
Maps & Mods
Since Spring is only an engine, you need to download games/mods for it, and the maps that go with those games.
Springlobby will automatically do this for you using bittorrent when you attempt to join a game with a map or mod that you don't currently have.
If you want to download it manually or browse existing maps, there are several easy to use websites - here are some:
Pick any of those sites, download a map or mod, and then double click it. This will move it to your Spring folder using the spring map/mod installer program. If you wish to move maps/mods by hand, they are located under ~/.spring/maps/ or ~/.spring/mods/ (if the folder doesn't exist - create it). Don't unpack the file in any way though, just download and save it. Reload your maps/mods in Springlobby, (Tools -> Reload maps/mods) and they will be ready to use.
These sites also may provide other neat things like lua widgets, epic replays, AI bots (for playing offline or to team up on with a freind). Generally the installation requires you to download the file and place it in the appropriate folder in your ~/.spring directory. (you may have to create the folder)
Hint: If you know the map name you want, there is a Search function provided in those websites. Just write a part of the name, like one word, and you'll easily find the map you were looking for - this is helpful later on.
BA (Balanced Annihilation)
A popular mod to get started with is Balanced Annihilation (BA) 6.21. Please note that before you can run it though, you'll need to download the OTA content - read the section below on how to get that.
CA (Complete Annihilation)
A new mod with better models, graphical effects, and a different take on gameplay is the CA mod - get it here.
Linux specific Troubleshooting
Compiletime
hpiutil2 error with cmake
make[1]: *** [rts/lib/CMakeFiles/hpiutil2.dir/all] Error 2 make: *** [all] Error 2
Run cmake TWICE. It doesn't always work properly on the first run.
invalid use of ILvoid / ALCvoid
During compiling, if you get a lot of the following errors:
/usr/include/IL/il.h:497: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:497: error: invalid use of 'ILvoid'
This happens because the version of libdevil-dev you have installed is not compatible with gcc version 4.2 and newer. Update it.
Ingame
Slow Mouse
Run:
echo '# Slow fullscreen cursor fix for Spring' >> ~/.xsessionrc
echo 'SDL_MOUSE_RELATIVE=0' >> ~/.xsessionrc
echo 'export SDL_MOUSE_RELATIVE' >> ~/.xsessionrc
And log out and log in again.
The mouse should now be as fast as in windowed mode.
Rotating Buildings
You can rotate a building before you give the build order, but the keys that do this don't work in linux by default for some users. Issue the following commands in the beginning of the game:
/bind keycodex buildfacing inc
/bind keycodey buildfacing dec
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:
/keydebug yes
And then hit the keys you want to use, and spring prints the keycodes in the message buffer.
If you want to save these keys you have to edit the uikeys.txt.
Problems with Audio
The engine needs at least OpenAL Soft 1.6 for its sound. If you still have the old openal-0.0.8 installed, you should update it.
Additionally, pulseaudio causes lots of issues, so try to disable it for spring if you have sound problems.
Desync in game
Spring only send the commands and not the result over the network, so it needs to run all math in a repeatable manner, so all other clients in a multiplayer match get the same results. So some CPU specific features have to enabled/disabled. If you desync you either have a CPU that isn't SSE capable or you set the wrong -march /-mtune compiler flags. If you compile Spring via scons you should try:
scons configure arch=i686
Cmake users should try:
cmake -DMARCH_FLAG="i686"
If You Still Have Problems
Join either IRC chat in #taspring on Freenode or #sy on QuakeNet, or ask for help in the lobby channels #sy or #springlobby.
However, generic linux problems not really related to installing this should be asked elsewhere.
Prepare to list your distribution, which installation method you used, and what exactly is the error. Don't ask if people are around or not, just go straight to business and tell all details, for maximizing your chances of getting help.
FAQ
IRC
- #sy @ QuakeNet
- #sy @ taspringmaster.clan-sy.com (with SpringLobbies only)
- #taspring @ FreeNode
Asking For Help
Okay, so you need human help. This is how NOT to do it:
15:54 -!- **** [n=****@*] has joined #taspring
15:54 < ****> Hi, i have a problem with compiling spring on debian
15:54 < ****> can anyone help me?
15:57 -!- **** [n=****@*] has quit [Client Quit]
Don'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.
Then WAIT for someone to notice you.

