ToolBox : Serveur Linux

De Wiki Cod-Gamer.

Sommaire

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.

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

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

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 :w Vous redémarre maintenant votre server FTP

 # /etc/init.d/vsftpd restart

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.

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.

Copie des fichiers du jeu

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

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

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

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?id=4431

 # 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/

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

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

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.

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

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 <action> <port> <mods> Les actions a votre disposition sont : start, stop, restart, list et check.

< action >

  • start <port> <mods>: démarre le serveur sur le port <port> avec le mod <mods>
  • stop <port> : arrête le serveur sur le port <port>
  • restart <port> <mods> : reboot le serveur sur le port <port> avec le mod <mods>
  • list permet de voir quel serveur tourne actuellement
 $ ./server_cod4 list
         6155.cod4_28960 (Detached)
 1 Socket in /var/run/screen/S-cod4.
  • check <port> : retourne 0 ou 1 si le serveur est lancé ou non, cette fonction sert uniquement avec l’interface web

<Port>

Vous avez le choix entre un port de 20000 à 40000

<mods>

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.

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

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

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.

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, 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_<port>/mods/< mon_mods > /mod.ff
 ~/master/mods/< mon_mods > /mod.ff 

/ !\ 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.

Installation des scripts Punkbuster pour le streaming

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

Source : www.majorxtrem.be