Réalisasion d’un server COD4 sous Debian

Adminstration Server Linux, Debian, Jeux Vidéo 2 Comments »

1 Préparation du server

Une fois que la machine est installée, ou que vous venez de recevoir les accès du serveur que vous louez, il y a une série de petites choses à faire pour un fonctionnement optimal du serveur.

1.1 Mise à jour

Sur Debian il est très facile de mettre à jour son système, il faut être en root (su)

# apt-get update && apt-get upgrade

1.2 Installation des outils essentiel

Pour que votre server fonctionne correctement il faut ajouter certain programme et services. Nous allons les installer tous d’un coup et au fur et à mesure du tutorial les configurer.

# apt-get install vsftpd ssh vim ntpdate bzip2 htop md5tools build-essential screen libstdc++6-dbg

1.3 Configuration du server FTP : vsftpd

La configuration de vsftpd est assez simple et ce toruve dans le fichier /etc/vsftpd.conf

# vim /etc/vsftpd.conf

Une fois dans l’éditeur vim il faut faire insert pour passer en mode insertion, vous ne devez avoir dans votre configuration uniquement les lignes suivantes active, les autre doivent être commentées en utilisant un #

listen=YES
local_enable=YES
write_enable=YES
local_umask=001
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

Pour sauvegarder et quitter, vous faites escape et ensuite :wq

Vous redémarre maintenant votre server FTP

# /etc/init.d/vsftpd restart

1.4 Ajout de l’utilisateur COD4

Jusqu’à présent vous travailliez en root, c’est le super-admin de la machine. Il est très dangereux de faire tourner des services directement en root. Il convient donc de créer un simple utilisateur pour lancer les serveurs.

# adduser cod4
Ajout de l'utilisateur « cod4 »...
Ajout du nouveau groupe « cod44 » (1001)...
Ajout du nouvel utilisateur « cod44 » (1001) avec le groupe « cod44 »...
Création du répertoire personnel « /home/cod4 »...
Copie des fichiers depuis « /etc/skel »...
Enter new UNIX password:
Retype new UNIX password:
passwd : le mot de passe a été mis à jour avec succès
Modification des informations relatives à l'utilisateur cod4
Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée
Nom complet []: COD4_user
N° de bureau []:
Téléphone professionnel []:
Téléphone personnel []:
Autre []:
Ces informations sont-elles correctes ? [o/N] o

Vous venez de créer un utilisateur cod4 avec comme répertoire personnel /home/cod4 et le mot de passe ce que vous avez entrez.

Il est temps de tester votre serveur FTP en vous logant avec le user cod4. Vous arrivez dans un répertoire vide, c’est votre dossier personnel /home/cod4.

2 Installation et configuration du master install

Nous allons maintenant installer cod4 de façon professionnel et propre, les GSP utilisent en effet la même technique pour déployer un grand nombre de serveur d’un coup.

2.1 Copie des fichiers du jeu

2.1.1 Via le lecteur DVD

Si vous êtes à coté du serveur et que celui-ci dispose d’un cd-rom au tant en profiter.

Tous d’abord, on va crée le dossier master dans le dossier personnel du user cod4

# mkdir /home/cod4/master

Insérez le DVD dans le lecteur, le lecteur se trouve dans /media/cdrom. On va copier les fichier qui nous intéressent vers le dossier /home/cod4/master/

# cp -r /media/cdrom/Setup/Data/* /home/cod4/master/ 

Il a copié prés de plus de 1 GO de vidéo complètement inutile, on les supprime de la manière suivante

# rm -r /home/cod/master/main/video

2.1.2 Via le réseau

Si la première méthode ne vous plaie pas ou que vous n’avez pas moyen de le faire, connectez vous au server ftp avec le user cod4.

Ensuite créez un dossier master et dans ce dossier vous copier les fichiers et dossiers se trouvant dans le dossier \Setup\Data\ du DVD.

Ici aussi inutile d’uploader sur le serveur les vidéos du dossier \Setup\Data\main\video

2.1.3 Vérification

Une fois copier vous devez avoir quelque choses de similaire dans votre dossier /home/cod4/master

# ls /home/cod4/master
binkw32.dll cod4.ico cod.bmp codlogo.bmp iw3mp.exe iw3sp.exe localization.txt main miles Mods mss32.dll zone

2.2 Téléchargement et installation des binaires linux

Les binaires linux sont produits par une ICCULUS, c’est donc sur leur site qu’il faut allé récupérer les deniers binaires en date => http://icculus.org/news/news.php

# mkdir /home/cod4/temp
# cd /home/cod4/temp
# wget wget http://www.shrapnet.com/downloads/cod4-linux-server-06282008.tar.bz2
# tar xvfj cod4-linux-server-06282008.tar.bz2

Avant de continuer il est important de savoir si les données que vous avez copiées proviennent dans DVD français ou anglais. Pour le savoir rien de plus simple

# ls /home/cod4/master/zone

Les binaires ne sont disponible quand anlgais, si vous avez une version française pas de panique, vous aurez juste une manipulation supplémentaire à faire.

# cd cod4-linux-server/cod4-linux-server
# cp -r ./* /home/cod4/master/

Pour la version française il faut faire en plus

# cp -r zone/english/* /home/cod4/master/zone/french/

2.3 Test du server

On va vérifier si tous fonctionne correctement, pour ce test on utilise aucune config, mods ou quoi que ce soit. On va d’abord par définir le propriétaire des fichiers et ensuite on va se loguer en temps que l’utilisateur cod4.

# chown -R cod4 /home/cod4
# chgrp -R cod4 /home/cod4
# su cod4
$ cd ~/master
$ ./cod4_lnxded

Là vous devriez vous le serveur démarrer une fois fait, vous devez lancer une map.

map mp_backlot

Vous pouvez maintenant vous connectez au server en utilisant son ip et le port par défaut 28960.

C’est juste un test pourvoir si le serveur se lance correctement et que le patch est installé, il n’est pas du tous jouable notamment à cause du PB pas à jour.

Coupez le server.

quit

On va maintenant s’occuper de configurer le serveur a proprement parler

2.4 Mise à jour et installation de Punkbuster

On va exécuter pbsetup, il fonctionne de la même façon que la version windows à la différence qu’il est en ligne de commande. On l’initialise, ensuite on ajoute le master install et le met à jour.

$ cd ~/master
$ ./pbsetup.run –e
$ ./pbsetup.run -ag cod4 -ap /home/cod4/master/ --i-accept-the-pb-eula
$ ./pbsetup.run -u --i-accept-the-pb-eula

3 Configuration des servers

La base de votre serveur est maintenant opérationnel, on va maintenant s’occuper de lancer une voir plusieurs instance du serveur, en effet il est tous à fait possible de lancer plusieurs serveur cod4 sur la même machine à condition qu’ils ne soient pas sur le même port.

A fin de vous facilité la vie, voici un script qui vous permettra de gérer le Start-Stop-Reboot de votre serveur, il est même compatible avec une interface web de gestion spécialement.

3.1 Screen fonctionne-il ?

On commence par tester si on peut ouvrir un screen, en effet on en a besoin pour lancer les serveurs cod dedans car on peut les lancer en arrière plant. Si vous lancer un serveur directement depuis votre Shell, celui-ci devra rester en permance ouvert

$ screen
Cannot open your terminal '/dev/pts/0' - please check.

Si vous avez ce message faites

$ exit
# chmod 777 /dev/pts/0
# su cod4

Taper exit pour quitter le screen que vous venez d’ouvrir

exit

3.2 Installation du script de gestion des serveurs

Uploader avec le ftp le script server_cod4 à la racine, c’est-à-dire à coté du dossier master.

Il va vous permettre de gérer tous vos serveur cod4 sur cette machine.

Une fois uploadé il faut lui donner des droits d’exécution

$ chmod 775 ~/server_cod4

Il fonctionne de la manière suivante server_cod4

Les actions a votre disposition sont : start, stop, restart, list et check.

3.2.1 < action >

start : démarre le serveur sur le port avec le mod
stop : arrête le serveur sur le port
restart : reboot le serveur sur le port avec le mod
list permet de voir quel serveur tourne actuellement

$ ./server_cod4 list
6155.cod4_28960 (Detached)
1 Socket in /var/run/screen/S-cod4.

check : retourne 0 ou 1 si le serveur est lancé ou non, cette fonction sert uniquement avec l’interface web

3.2.2

Vous avez le choix entre un port de 20000 à 40000

3.2.3

C’est le nom du répertoire contenant le mod. Dans le cas ou vous ne le spécifiez pas le serveur démarre en Ranked.

3.3 Premier démarrage du serveur

On va lancer de nouveau le serveur à vide sans config à fin qu’il créer les fichiers et dossier de votre serveur.

./server_cod4 start 28960 promod
Server cod4 successfully on 28960
$ ./server_cod4 list
6155.cod4_28960 (Detached)
1 Socket in /var/run/screen/S-cod4.

Vous devriez obtenir quelque chose de semblable. On va couper le server pour configurer punkbuster, installer le promod et la cfg.

$ ./server_cod4 stop 28960
Stopping server cod4 on 28960

On va faire un petit état des lieux avant de continuer pour bien comprendre ce qu’on à fait jusqu’a présent.

$ cd ~
$ ls
cod4_28960 master server_cod4

Le dossier master contient la base de votre serveur
Le dossier cod4_28960 contient les fichiers de configuration du serveur tournant sur le port 28960

server_cod4 c’est le script de lancement

3.4 Config de punkbuster

$ cd ~/master
$ ./pbsetup.run -ag cod4 -ap /home/cod4/cod4_28960/ --i-accept-the-pb-eula
$ ./pbsetup.run -u --i-accept-the-pb-eula

3.5 Ajout de la CFG

Via le FTP uploader votre CFG dans le dossier /cod4_28960/mods/promod/ sous le nom server.cfg

L’emplacement est très important, vous ne devez pas installer de CFG dans le dossier master, elle serait en effet active sur tous les autres serveurs que vous lanceriez.

3.6 Ajout du mod

Toujours dans le dossier /cod4_28960/mods/promod/ uploader tous les fichiers du mods

Mais ce n’est pas tous, et cette partie est extrêmement importante, chaque mod sur cod4 à un fichier mod.ff, vous devez le également uploader dans le master install ce fichier exactement au même endroit.

~/cod4_28960/mods/promod/mod.ff

~/master/mods/promod/mod.ff

Vous l’aurez compris, si vous installer un mod < mon_mods > vous devez avoir dans l’install du server et dans le master install le même fichier au même endroit

~/cod4_/mods/< mon_mods > /mod.ff

~/master/mods/< mon_mods > /mod.ff

3.6.1 / !\ Piège à éviter / !\

Vous ne pouvez pas mettre dans le serveur cod4_28960 une version du promod dans le dossier mods/promod et une autre dans le dossier mods/promod du serveur cod4_29960.

Vous devez ABSOMUMENT mettre un nom différent si les mods ne sont pas identique et de même version.

3.7 Installation des scripts Punkbuster pour le streaming

Les éventuels scripts Punkbuster sont à uploader via le FTP dans le dossier /cod4_/pb

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Connexion
ipv6 ready