Howto – Installation de GamesGear

GamesGear : Gamesgear solution de serveur de jeux

Voici la procédure pour installer GamesGear sur un serveur GNU/Linux 32 bits.

Nous avons rédigé cette documentation à la demande de plusieurs personnes, n’hésitez pas à nous contacter si vous avez besoin d’un complément d’information ou si vous pouvez nous en faire part.

Dépendances

Le how-to proposé pour l’installation de daemontools est indépendant de toute distribution mais vous pouvez installer daemontools avec les utilitaires fournis par votre distribution si vous le souhaitez.

Par exemple avec Debian :

apt-get install screen rsync gsoap build-essential

Procédure

cd /tmp

1) On télécharge les sources GamesGear :

wget http://www.sd-france.com/files/gamesgear-2009-04-28.tbz2

2) On décompresse et on se rend dans le répertoire :

tar xjpvf gamesgear-2009-04-28.tbz2
cd gamesgear-2009-04-28/

3) On compile le programme :

make

4) Si l’erreur suivante apparaît :

/usr/local/bin/soapcpp2 -n -c -pgamesgear gamesgear.h
make: /usr/local/bin/soapcpp2: Command not found
make: *** [soapstruct] Error 127
nano -w Makefile

Remplacez

SOAPCPP=/usr/local/bin/soapcpp2

par

SOAPCPP=/usr/bin/soapcpp2

Puis relancez la compilation :

make

5) Si l’erreur suivante apparaît :

[...]
gcc -o ggRestartServer.o -c ggRestartServer.c -W -Wall
gcc -o ggStopServer.o -c ggStopServer.c -W -Wall
gcc -o ggLib.o -c ggLib.c -W -Wall
gcc -o ggServer.o -c ggServer.c -W -Wall
make: *** No rule to make target `gamesgearC.o', needed by `ggServer'.  Stop

Il suffit de relancer la commande make.

make

6) Installation (optionnelle) de TeamSpeak Server

Si vous le désirez, téléchargez TeamSpeak 2 Server 2.0.23.19 à cette adresse :
http://www.teamspeak.com/?page=downloads

Si vous acceptez la licence, récupérez le fichier ts2_server_rc2_202319.tar.bz2 que vous devrez mettre dans le répertoire courant, c’est à dire /tmp/gamesgear-2009-04-28.

Vous devrez aussi modifier le fichier install_ts.sh :

nano -w install_ts.sh

Remplacez

tstar="/root/gamesgear/ts2_server_rc2_20201.tar.bz2"

par

tstar="/root/gamesgear/ts2_server_rc2_202319.tar.bz2"

7) On crée l’archive contenant GamesGear :

Si vous avez choisi d’installer TeamSpeak :

tar cjvf dire.tbz2 gg_run files ggServer getsadmin.sh ggcheck.sh launch.script.sh ggsvc scripts install_ts.sh ts2_server_rc2_202319.tar.bz2

Si vous n’avez pas choisi d’installer TeamSpeak :

tar cjvf dire.tbz2 gg_run files ggServer getsadmin.sh ggcheck.sh launch.script.sh ggsvc scripts install_ts.sh

8) On crée le répertoire d’exécution et on décompresse l’archive :

mkdir -p /root/gamesgear/ips
tar xjpvf dire.tbz2 -C /root/gamesgear

9) On crée le répertoire du service :

mkdir /root/gg

10) On met en place le service :

cd /root/gamesgear
mv -f ggServer ../gg/ggServer
mv -f install_ts.sh ../gg/install_ts.sh
mv -f gg_run ../gg/run
chmod 755 launch.script.sh
chmod 755 ../gg/install_ts.sh

11) On crée le service ggcheck qui a pour rôle de vérifier l’exécution des jeux :

mkdir /service/ggcheck
cat > /service/ggcheck/run <<'EOF'
#!/bin/sh
exec /root/gamesgear/ggcheck.sh
EOF
chmod 755 /service/ggcheck/run

12) On crée le service gamesgear :

mkdir /root/gg/env
ln -sf /root/gg /service/gamesgear

13) On définit le mot de passe GamesGear et également le préfixe des serveurs de jeux :

ENABLEPASS est le mot de passe qui sera utilisé pour communiquer avec ce serveur SOAP.

PREFIXE est le préfixe qui sera mis par défaut dans le servername de chaque serveur de jeux.

echo '16caracteres'>/service/gamesgear/env/ENABLEPASS
echo 'Prefixe'>/service/gamesgear/env/PREFIXE

14) Il ne reste donc plus qu'à ajouter le serveur au panel de contrôle GamesGear Admin.

À noter que GamesGear permet une utilisation multi IP. Pour cela il vous suffit de configurer chacune des adresses IP supplémentaires sur le serveur en /32 et ensuite de saisir la commande suivante :

touch /root/gamesgear/ips/XXX.XXX.XXX.XXX

Lorsque le dédié sera ajouté à GamesGear Admin, les adresses IP supplémentaires seront alors automatiquement détectées.

Il est donc important que les adresses IP supplémentaires soient ajoutées au serveur dédié avant que le serveur dédié soit lui-même ajouté au GamesGear Admin.

15) Il est important avant d'utiliser GamesGear de lui rendre accessibles les fichiers d'installation des jeux (voir rubrique suivante).

Préparation de /games

1) On crée le répertoire nécessaire :

[ -d /games ] || mkdir /games
cd /games

2) Télécharger le Steam HLDS Update Tool :

wget http://storefront.steampowered.com/download/hldsupdatetool.bin -O /games/steam
chmod 755 /games/steam

3) On lance pour la première fois le programme qui nous demande d'accepter ou non la license.

./steam
[...]
Enter 'yes' to accept this agreement, 'no' to decline: yes
extracting steam.tar.Z...done

4) On le relance pour le mettre à jour si nécessaire.

./steam
Checking bootstrapper version ...
Getting version 34 of Steam HLDS Update Tool
Downloading. . . . . . . . . . .
Steam Linux Client updated, please retry the command

5/ Installation des jeux

Voici un exemple avec l'installation de Counter Strike.

[ -d /games/hl_cs ] || mkdir -p /games/hl_cs
[ -e /games/hl_cs/steam ] || cp /games/steam /games/hl_cs/
cd /games/hl_cs
./steam -command update -game cstrike -dir .
Checking bootstrapper version ...
Updating Installation
No installation record found at .
No installation record found at .
No installation record found at .
Checking/Installing 'Counter-Strike Base Content' version 28
0.31%   .\cstrike\cl_dlls\client.dll
[...]
98.22%  .\valve\valve.rc
98.24%  .\valve\valvecomm.lst
100.00% .\valve\xeno.wad
HLDS installation up to date

Relancez cette commande plusieurs fois jusqu'à ce qu'elle ne mette plus rien à jour.

Pour installer d'autres jeux, le tableau suivant indique les correspondances dans les commandes.

Jeu Nom du répertoire Nom du jeu pour steam
Red Orchestra red_orch redorchestra
Counter-Strike hl_cs cstrike
Counter-Strike: Condition Zero hl_czero czero
Day of Defeat hl_dod dod
Counter-Strike: Source hl2_css "counter-strike source"

Les jeux suivants doivent avoir leurs fichiers d'installation dans leur propre répertoire.

Il est donc important que vous fassiez le nécessaire pour les y mettre lors de l'installation initiale de GamesGear.

Jeu Répertoire
Battlefield 2 /games/bf2
Call of Duty /games/cod
Call of Duty 2 /games/cod2
Call of Duty 4 /games/cod2
Call of Duty: United Offensive /games/coduo
Enemy Territory /games/et

Nous espérons que ce how-to vous aura permis d'installer et de configurer GamesGear.