The Raspberry Pi computer has a price tag of $35, which makes the credit card sized device extremely affordable. It's very versatile when it's used as a PC and it's quite surprising how much computing power such a little device possesses. Lots of people are using their device as a home theater personal computer (HTPC, for example with XMBC). Others use it as a small web server or as a development computer for the porting of software to the ARM processor architecture.
The game Quake 2 by id Software already has been around for a while now. It was published at the end of 1997. Despite this, there is still an active and flourishing community around the game.
Action Quake 2 (AQ2) is a community driven modification of Quake 2, which is getting more and more popular (see http://www.aq2world.com). A part of the reason behind this is the freely available source code, which regularly gets refined by a few developers that continue to develop it further and further. The most prominent example of this is Q2Pro and the modification AQ2-TNG.
Just a short time ago I have built an automatic installation script for the AQ2 Game Server (https://bitbucket.org/PaulKlumpp/aq2-basesrv). It works fine with 32 and 64 bit Intel and AMD processors. It installs all the bells and whistles that one needs for an AQ2 server nowadays. I didn't consider the Raspberry Pi though. Due to a friend's request, I had a short look at the source code and found out that an AQ2 Server would work on a Raspberry Pi with just a few modifications of the code! \\o \o/ o// - Well, Debian Linux is required ;-)!
- Install the required packages as ROOT. These aren't checked by the installation script (yet):
apt-get install zlib1g-dev
apt-get install liblua5.1-0-dev
apt-get install git
- Get the installation package as a USER with git:
git clone https://bitbucket.org/PaulKlumpp/aq2-basesrv.git
- The first compilation attempt will acquire the remaining sources:
- First change for the Raspi: adjust the q2admin source for the ARM processor
Edit the file q2a_main.c. In line 28 there is a #if #elif block. You'll have to add the following line above #else :
#elif defined (__arm__)
#define DLLNAME "gamearm.real.so"
- The second required compilation attempt:
- The second change for the Raspi: We aren't finished yet, because the AQ2-TNG mod was wrongfully saved as 'gamei386.so' .
That's why you need to copy it by hand:
cp ~/aq2-basesrv/q2compile/aq2-tng/source/gamei386.so ~/aq2-basesrv/q2compile/aq2-tng/source/gamearm.so
- The third compilation attempt runs through and installs everything:
Everything is installed now and at the right place. At least it should be like that ;). You should really read the README in the folder ~/aq2-basesrv/!
For more information or to solve issues together you should come to our IRC channel: #aq2world on irc.quakenet.org. Please read the README before though. ;-)
You can get to the IRC channel either via the Quakenet Webchat, or you can use the IRC client of your choice. For Windows mIRC is the most used client and a good choice.
Have fun with it!
This article is part of Adventblogging 2012.