OVERVIEW
Just a few quick notes of my experience installing on Linux. Particularly in respect of OpenSuse 11.1 64bit.
I use Smart as my package manager with occasional fallback to Yast.
Firstly there is a copy of spring in the Packman repo and the Suse strategy:games repo, but it is out of date and contains no AI. I'd avoid these.
There is also a very up to date accAgon's repository on the OpenSuse build system.
For 11.1 this is the repo link.
http://download.opensuse.org/repositori ... cAgon.repo
In Smart you just need to add a new channel through the GUI, select get details from URL and give it this URL.
For Yast I imagine it's much the same process but don't quote me on that.
I have only just found the Spring page on the official WIKI.
http://en.opensuse.org/Spring
and
http://en.opensuse.org/SpringLobby
These include links to the top level of the suitable repositories and from there you can find your suitable version if you are not on 11.1.
After installing the meta package spring-complete from accAgon's repo and downloading a map and mod from http://spring.jobjol.nl/subcategory.php?id=1 to put in my ~/.spring/maps..mods directories, Spring would fire up but would not find AI. I tried running springlobby and configuring both spring and springlobby but still no AI came up.
SORTING IT OUT
I finally found/worked out I needed to do a few things, the first of which was create a .spring/ directory in my home directory or run spring at least once (and immediately quit) to create the .spring/ directory in my home.
Once the ~/.spring directory was there I needed to set up a link to the AI folder that had been installed. I had a hunch from various posts I'd read that the issue was a pathing one and one post on the official spring WIKI indicated that the AI paths had changed recently and a suitable path for my 0.79.1 version was /home/<loginname>/.spring/AI/Skirmish/
/home/<loginname>/.spring/AI/Interface/
As I already knew there was such a directory structure in place in /usr/lib64/spring/AI/ I simply symlinked to that folder with
Code: Select all
ln -s /usr/lib64/spring/AI /home/<loginname>/.spring/AI
I left it like this for a few days and played around with some of the test scripts, some of which worked and some of which didn't. I also did a lot of fiddling with the spring install to see if I could work out what was wrong with the AI. I read a fair amount, mostly posts on the WIKI or forums here, but nothing really answered my queries, though I retrieved many clues and a lot more knowledge about Spring.
In the meantime I'd been playing with Spring on my work laptop (Vista x64.....arggggh), and after a few initial issues with that as well I found it worked fine there and so used the opportunity of having a working copy to find out what was different. Nothing really, but I did get to see what logs got generated and why they got generated in a generally working system.
I then had a bit of an idea and wondered if this was a permissions based issue. So I uninstalled everything spring related on my Linux box, then manually cleaned up the directories and config files, both in the system and my home directory. I wanted to try and achieve a clean base to start from and was more than happy digging around in the config files and even reading bits of the source code in the svn repositories by now, so didn't want to keep anything of my original install.
I re-installed spring-complete from the accAgon repo and set up the ./AI symlink again.
I checked I was in the games system group, which I was, by running.
Code: Select all
less /etc/group
...
floppy:x:19:
ftp:x:49:
games:x:40:pink
gdm:!:109:
haldaemon:!:102:
...
Code: Select all
sudo chown -R root:games /usr/lib64/spring/AI
Code: Select all
sudo chmod -R g=+rwX /usr/lib64/spring/AI
This then worked and I had my first play in a single player AI skirmish game and got my arse whipped. (I never said I was any good at RTS :) )
NOW THAT IT'S WORKING
...can we break it...
I then also decided I might as well symlink in the maps/mods/demos directories as well and make the files/dirs that I'd already found in /usr/share/games/spring/ the location for me to throw anything spring related. I'm the only user on my system so this is not an issue as I'll always be putting the content I download in to /usr/share/games/spring/maps..mods...LuaUI... and figure any auto downloaded items from springlobby or any other launcher client should head that direction as well. To do this I had to move the content I'd placed in maps and mods into the system directories, then remove the maps and mods directories from my ~/.spring directory then set up the symlinks and set permissions to make the appropriate system based directories writable by the games group.
An ls of my ~/.spring/ looks something like this as far as symlinks goes.
Code: Select all
AI -> /usr/lib64/spring/AI
demos -> /usr/share/games/spring/demos
LuaUI -> /usr/share/games/spring/LuaUI
maps -> /usr/share/games/spring/maps
mods -> /usr/share/games/spring/mods
If this helps just one other person get a 64-bit version of Spring running on their system then it's worth the time it took to work it out and write this post :). I don't claim any accuracy at all here. This is just my experience and an outline of the things I have tried and appear to be the major factors in getting Spring to work for me.
Positives:
Cheers, great engine, great mods. Keep up the good work all involved.
Criticism:
If there was info in the debug output about permissions issues, I didn't see it, but even so something like that should be caught and output as an error message on the command line really rather than crashing the game engine out. I have no idea if this is the bots fault, the interface code or the game engine itself bugging out and if anyone can tell me how I can help to track down and resolve this issue I'll be glad to spend a little time trying to help look into it.
Thanks for listening.