TS-GS a besoin de vous ! D'avance merci !

Créer, configurer et lancer un serveur Left 4 Dead (L4D) (Linux/Dédié)

Par Patouf , le 29/12/2008 à 20h34 | Dernière modification le : 14/08/2009 à 01h39
Tutoriel testé sur : Debian 4.0 (Etch), Debian 5.0 (Lenny)
Apercu
logo info Ce tutoriel a été rédigé par Patouf, et est sous contrat Creative Commons (voir bas de page).
Vous pourrez le contacter via le forum.


Un petit clic sur cette publicité permet à TutoS-GameServer de vivre ! :-)

Ce tutoriel implique que vous soyez passé par cette page, puis choisi la solution des serveurs dédiés pour héberger votre serveur de jeu .. Vous avez ensuite loué un serveur dédié (aide pour les machines proposées par OVH sur cette page; aide pour les machines proposées par d'autres hébergeurs sur cette page), et installé un système d'exploitation Linux. La lecture du tutoriel sur l'utilisation de Putty est conseillée



logo importantMon tuto sera basé sur l'installation du serveur sur une machine dont le système d'exploitation est Debian 5.0 Lenny, en 32bits. Posséder cette distribution n'est pas nécessaire, mais conseillé. Si la distribution installée sur votre dédié n'est pas la même, la marche à suivre de ce tutorie pourrait ne pas être la bonne. Malgré cette recommandation, l'installation devrait se passer sans problème sur RedHat, Fedora, Suse, Gentoo, Ubuntu ...



Salut à tous !

Aujourd'hui, nous allons apprendre à installer et lancer un serveur Left 4 Dead (ou L4D pour les intimes), sur une machine sous Linux.

Nous allons rentrer directement dans le sujet, mais avant toute chose, vous devez evidemment posséder un compte ROOT (qui est le compte possédant tous les droits sur votre machine Linux), ainsi que le mot de passe associé à celui-ci. Vous devez vous connecter à votre machine via Putty (ou tout autre logiciel console). Toutes ces informations vous sont normalement communiquées, après l'achat du serveur.

Vous êtes assis derrière votre écran, les mains tremblantes, Putty lancé (et connecté à votre serveur), la tasse de café sur votre droite ... :D C'est parti !

logo infoLes écritures qui suivront dans un cadre sont les éléments que vous devrez rentrer dans la console. lorsqu'une ligne se termine, appuyez sur la touche Entrée de votre clavier.


1- Mise à jour du serveur


Putty est lancé, vous êtes donc en quelques sortes devant l'écran de votre serveur dédié. Nous allons lancer la mise à jour de celui-ci, afin d'avoir une machine bien protégée, et plus performante.

Tapez dans la console le code suivant. Si une question vous est posée, répondez en tapant Y (pour Yes) ou O (pour Oui).

On met à jour les paquets.

Console

apt-get update

 


On met à jour le serveur.

Console

apt-get dist-upgrade

 


2- Préparation du serveur


Votre serveur de jeu sera lancé 24h/24 et 7 jours /7. Il faut donc qu'il soit un minimum protégé. C'est pourquoi nous ne lancerons JAMAIS le serveur sous l'utilisateur ROOT. Il nous faut donc créer un nouvel utilisateur, qui servira seulement à faire tourner votre serveur. Nous allons de plus preparer les dossiers à l'installation de HLDS (Half-Life Dedicated Server), puis SRCDS (Source Dedicated Server)

Nous allons à la racine du disque dur.

Console

cd /

 


Nous nous déplaçons dans le dossier "home". Je précise, suite au contact de pas mal de personnes, que votre serveur peut être installé n'importe où. Moi je prends "home", mais ça peut parfaitement être "srv". ;-) Par contre, vous devez avoir entre 2.4 et 2.5 Go de libre dans ce dossier (c'est la place que prendra Left 4 Dead, sans mod, et sans map rajoutée).

Console

cd home

 


Nous créons le dossier "srcds" dans le dossier "home".

Console

mkdir srcds

 


Nous donnons tous les droits au dossier "srcds".

Console

chmod 0777 srcds

 


Nous créons un utilisateur nommé "admin". Choisissez ensuite votre mot de passe.

Console

adduser admin

 


Nous donnons le dossier "srcds" à l'utilisateur "admin", qui en sera donc le nouveau propriétaire.

Console

chown admin /home/srcds

 



Nous avons finis de préparer le serveur !

Déconnectez-vous maintenant, en quittant tout simplement Putty, puis reconnectez vous avec l'utilisateur "admin" !


3- Téléchargement du Half-Life Dedicated Server



Quelque soit le jeu que vous voulez installer, le principe est le même (car le serveur source est identique pour tous les mods, que ce soit Counter Strike Source, ou bien Day of Defeat Source, ou encore Half life 2 Deathmatch, par exemple).
Nous allons commencer par télécharger l'élément qui constituera le serveur en lui-même (qui pourra interagir avec les joueurs)
Nous téléchargerons ensuite les fichiers correspondants au jeu que vous voulez installer (ici, Left 4 Dead).

Nous nous déplaçons dans le dossier "srcds" situé dans "home"

Console

cd /home/srcds

 


Nous allons télécharger maintenant l'outil d'installation.

Console

wget http://www.steampowered.com/download/hldsupdatetool.bin

 


Nous donnons le droit de s'éxecuter à l'outil d'installation

Console

chmod +x hldsupdatetool.bin

 


Nous allons executer cet outil, de manière à obtenir les fichiers nécessaires au serveur (pas encore les fichiers du jeu).

Console

./hldsupdatetool.bin

 


Il faut maintenant accepter les conditions d'utilisations.

Console

yes

 


Nous donnons maintenant le droit de s'éxécuter à steam, situé sur votre serveur.

Console

chmod +x steam

 


Nous éxecutons steam.

Console

./steam

 


Nous l'executons une deuxième fois.

Console

./steam

 


Pour que l'installation reste propre, nous allons supprimer ce qui est inutile.

Console

rm hldsupdatetool.bin

 



Tout est prêt pour l'installation du jeu !

4- Installation du jeu (Left 4 Dead)


Nous allons maintenant télécharger tous les fichiers du jeu, des plus importants aux plus inutiles (donc soyez patients ;) ). Nous allons créer en premier le dossier où se trouvera le jeu.

Console

mkdir l4d

 


Voilà la commande qui permet de lancer le téléchargement des fichiers.

Console

./steam -command update -game left4dead -dir l4d

 


Nous venons de dire ici au serveur (à l'exécutable "steam", plus particulièrement) de mettre à jour les fichiers (-command update) du jeu Left 4 Dead (-game left4dead) dans le dossier "l4d" (-dir l4d).

C'est parti ! Vous voyez défiler tous les fichiers en cours de téléchargement sur votre serveur. Ça peut être trèèès long.

==== ELLIPSE NARRATIVE ==== :-D

Tous les fichiers sont enfin présents et installés sur votre serveur dédié. Nous allons vérifier leur intégrité (c'est très rapide). En cas d'erreur, il vaut mieux supprimer le dossier (commande "rm -r nom_du_dossier"), et tout recommencer, c'est plus prudent (dans 99,99999% des cas, il n'y a pas de souçis).

Console

./steam -command update -game left4dead -dir l4d -verify_all

 



Si tout se passe bien, vous obtiendez le message suivant :
[code]HLDS installation up to date[/code]

Si tout se passe bien, VOTRE SERVEUR EST INSTALLE ! Il est donc opérationnel (encore faut-il le lancer) !



Maintenant il vous reste à configurer votre serveur !

5- Configuration du serveur Left 4 Dead


Maintenant que vous avez installé votre serveur, nous allons le configurer.

En effet, un serveur non configuré (donc avec toutes les options par défaut, est difficilement jouable).

Le fichier de configuration du jeu Left 4 Dead se trouve ici : /home/srcds/l4d/cfg (pour un serveur sous Windows, il se trouvera dans /dossier_dinstallation/l4d/cfg/).

Il se nomme server.cfg. S'il n'est pas présent, créez-le avec votre éditeur de texte favori.

Pour accéder à ce fichier, et le modifier/créer, vous pouvez donc y accéder via WinSCP, ou Putty.
Avec Putty voici la demarche (sous Windows, pas besoin de ça ;-)):
On se rend dans le bon dossier.

Console

cd /home/srcds/l4d/cfg

 


Puis on créé/modifie le fichier !

Console

nano server.cfg

 


Modifiez ce fichier directement dans la console ! ;-)

Voici un exemple de serveur.cfg non complet (parce qu'il existe trop de variables !), mais parfaitement fonctionnel pour s'éclater ! :-D

Sachez que 0 correspond à désactivé et 1 correspond à activé, pour les options à modifier de la sorte.

De plus, dans le fichier, tout ce qui trouve après "//" est un commentaire : pas pris en compte par Left 4 dead.

server.cfg

// Définir le nom du serveur
hostname "FR - L4D FUN SERVER - ts-gs.fr"
// Définir un mot de passe pour accéder au serveur (laissez "" pour désactiver le mot de passe)
sv_password ""
//Définir si le serveur est local (1) ou en ligne (0)
sv_lan 0

// start rcon settings
//Définir le mot de passe administrateur pour la gestion a distance ou en console
rcon_password "motdepasse"
// Nombre de tentatives de mot de passe avant d'être banni
sv_rcon_maxfailures 10
// Durée du banissement en minutes
sv_rcon_banpenalty 5

// Activer le friendly fire (0/1)
// mp_friendlyfire 1
// Désactive les cheats (0/1)
sv_cheats 0
// Force le jeu a vérifier que ses fichiers principaux sont identiques à ceux du serveur
sv_consistency 1
// durée entre chaque tag en secondes
decalfrequency 10

// Autorise l'upload des fichiers du serveurs vers les clients
sv_allowupload 1
// Autorise le download vers le serveurs (pour les tags)
sv_allowdownload 1
// Taille maximale des fichiers à télécharger (en Mo)
net_maxfilesize 60
// Adresse du miroir de téléchargement : voir ici
sv_downloadurl "http://www.miroir.com/l4d/"

//VARIABLES DE CONNEXION POUR UN TICK 100
//// => A VOUS D'ADAPTER SI VOUS SOUHAITEZ UN AUTRE TICK
sv_minrate 25000
sv_maxrate 0
sv_maxupdaterate 101
sv_minupdaterate 50
sv_mincmdrate 50
sv_maxcmdrate 100

//VARIABLES DE CONNEXION POUR UN TICK 66
//// => A VOUS D'ADAPTER SI VOUS SOUHAITEZ UN AUTRE TICK
sv_maxrate 0
sv_minrate 15000
sv_minupdaterate 30
sv_maxupdaterate 66
sv_mincmdrate 30
sv_maxcmdrate 66


// Active l'enregistrement des logs
log on
// Enregistre les ban dans les logs
sv_logbans 1
// Affiche les logs dans la console
sv_logecho 1
// Active l'enregistrement des infos serveur dans les logs
sv_logfile 1
// Enregistre les logs dans un seul fichiers (0/1)
sv_log_onefile 0
// Répertoire ou les logs sont enregistrés
sv_logsdir "logs"

// Indique la région ou se trouve le serveur (0/1=USA/2=Amerique du
// sud/3=europe/4=asie/5=australie/6=moyen orient/7=afrique)
sv_region 3
// Adresse mail de l'admnistrateur
sv_contact contact@mail.com
// Autorise la mise en pause du serveur (0/1)
sv_pausable 0

// Définis le niveau de sécurité du serveur (0=tout les modifications sont possibles/
// 1=les fichiers autorisé sont à définir dans whitelist.txt / 2=aucun fichiers tiers autorisés
sv_pure 1
// Kick les lcients dont le contenu ne correspond pas
sv_pure_kick_clients 1

// Lance la lecture des utilisateurs et IP bannis
exec banned_user.cfg
exec banned_ip.cfg

//Cvar spécifique à Left For Dead
//Permet la connexion au serveur via le navigateur de serveurs (openserverbrowser dans la console) en plus des lobby
sv_allow_lobby_connect_only 0

//Règle la difficulté du serveur, donc des zombies (Easy, Normal, Hard, Impossible)
z_difficulty impossible

//Associe une communauté Steam à un serveur (permet de faire apparaitre la liste des serveurs)
//l'id xxxx est affiché sur la page d'admin de votre communauté team
sv_steamgroup "xxxx"
//Reserve le lancement d'un serveur à un membr de la communauté (une fois le jeu lancé tout le monde peut rejoindre la partie)
sv_steamgroup_exclusive 1

////////////////
//Autres Cvars//
////////////////

//Indique le mode de fonctionnement du serveur. "coop" pour cooperation, "versus" pour le versus mode, et "survival" pour le survival mode (introduit dans Left 4 Dead depuis la MAJ : Survival Pack)
mp_gamemode versus/coop/survival

//Active/Désactive le MOTD voir http://www.tutos-gameserver.fr/tuto-17-tout-sur-le-motd-message-of-the-day-mods-steam.html
motd_enabled 1

//Indique l'emplacement de votre MOTD
motdfile "chemin/du/motd"

//Active/Désactive les BOSS infectés
director_no_bosses 1

//Active/Désactive les bots en survivant
director_no_survivor_bots 1

//Active/Désactive les munitions illimitées (nécéssite "sv_cheat 1")
sv_Infinite_ammo 1

//Active/Désactive le chat global (tout le monde s'entend)
sv_alltalk 1

 


C'est cuit, dégustez ! ^^

Modifiez-le selon vos envies, et envoyez-le à l'emplacement cité au début du tutoriel.

Si vous l'avez édité avec NANO (comme suggéré au début de tutoriel, pour les serveurs dédiés sous Linux), il vous faut enregistrer le fichier en pressant Ctrl + O, puis quitter l'édition du fichier en pressant Ctrl + X. ;-)

Notez tout de même que la variable mp_gamemode est réglée par le lobby, donc un serveur "normal" tournant sur des lobby ne nécessitera pas d'intervention de la part de l'administrateur du serveur, pour changer le gamemode (qui sera donc automatiquement réglé selon le type de map) ! ;-)

En revanche, si votre serveur tourne en LAN (réseau local), vous devrez régler le mp_gamemode, avant de lancer une map.
Par exemple, il faudra régler le mode SURVIVAL avant de lancer la map l4d_sv_lighthouse !

Console

mp_gamemode survival; map l4d_sv_lighthouse

 


6- Lancement du serveur


Vous avez configuré votre serveur, ou êtes trop impatient et souhaitez le lancer de suite ? C'est parti !

Si vous avez suivi correctement mon tutoriel d'installation de serveur, le serveur Team Fortress s'est installé dans ce dossier : /home/srcds/l4d.

Nous nous plaçons dans le dossier d'installation ("l4d").

Console

cd /home/srcds/l4d

 


Nous lançons maintenant le serveur, en executant "srcds_run".

Console

./srcds_run -game l4d +ip XXX.XXX.XXX.XXX -port 27015 +maxplayers 12 +map l4d_hospital01_apartment

 


Il y a donc plusieurs paramètres à choisir :
- le jeu, Left 4 Dead (-game l4d). Notez que vous aurez peut être à mettre "-game left4dead" à la place de "-game l4d",
- l'adresse ip (+ip XXX.XXX.XXX.XXX)(mettez l'adresse IP de votre serveur dédié),
- le port (-port 27015) (ne changez pas cela, à moins de vouloir créer deux serveur de jeu sur votre serveur dédié, RDV sur ce tutoriel)
- le nombre maximum de joueurs (+maxplayers XX) que vous souhaitez avoir sur votre serveur.
- la map de départ (+map l4d_hospital01_apartment). Dans mon cas, la map de lancement du serveur sera l4d_dem_hospital01_apartment.

N'oubliez pas que pour lancer votre serveur, et que celui-ci reste ONLINE, malgré la fermeture de Putty, il faut lancer votre serveur dans un screen.



Et voilà, votre serveur est lancé !

Horreur malheur j'obtiens une erreur !!
Deux possibilités :

¤ Vous avez installé une version 64bits de Debian ou autre distribution. Dans ce cas vous n'avez plus qu'à réinstaller en 32bits, la SEULE version correctement prise en charge par Steam, en attendant que Valve se sorte les doigts du cul et nous ponde quelque chose de correct pour du 64bits. Aux dernières nouvelles, Lenny 64bits (du moins la version testing) serait compatible avec Left4Dead. :-D

¤ Autre possibilité, vous êtes bien en 32bits, mais obtenez l'erreur suivante :

Console

Failed to open bin/dedicated_i486.so (/lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by bin/dedicated_i486.so))

 


Dans ce cas voilà la marche à suivre : connectez-vous en root sur votre serveur, puis rendez-vous dans le dossier root.

Console

cd root

 


On télécharge un premier pack.

Console

wget http://http.us.debian.org/debian/pool/main/t/tzdata/tzdata_2008h-2_all.deb

 


Puis un deuxième.

Console

wget http://ftp.de.debian.org/debian/pool/main/g/glibc/libc6_2.7-18_i386.deb
OU (pour ceux qui ont une architecture AMD)
wget http://ftp.de.debian.org/debian/pool/main/g/glibc/libc6_2.7-18_amd64.deb

 


On décompresse le premier pack.

Console

dpkg -i tzdata_2008h-2_all.deb

 


Puis le deuxième

Console

dpkg -i libc6_2.7-18_i386.deb
OU (pour architecture AMD)
dpkg -i libc6_2.7-18_amd64.deb

 


Voilà vous pouvez lancer votre serveur ! Je précise quand même que Debian Lenny possède déjà cette lib à jour, donc pour ceux qui veulent réinstaller, lancez-vous !

7- Arrêt du serveur


Pour arrêter votre serveur, c'est tout simple.

Soit vous avez accès à la console du serveur, dans ce cas maintenez les touches Ctrl+C, soit vous envoyez la commande "quit" via RCON, et votre serveur de jeu s'arretera !

Vous pouvez aussi redémarrer votre serveur dédié (pas le serveur de jeu, mais la machine entière), en tapant dans la console, avec le compte ROOT :

Console

/sbin/reboot

 


8- Annexes


Le TICKRATE : L'information tickrate permet de définir la fréquence de mise à jour des informations clients elle peut aller de 40 (par défaut) à 100 (pour CS:S. Limité à 66 pour TF2). Plus elle est élevé moins il y aura de décalage entre les informations client et serveurs.
Un tickrate élevé permet par exemple de ne pas avoir un joueur qui viens de se mettre à l'abris tué par un joueur qui ayant un décalage dans les information de position le voit toujours en face de lui.
Pour faire bref, plus le tickrate est élevé plus les informations relatives à la position des joueurs sont précises et moins nombreuses sont les plaintes des joueurs :) (infos tickrate by gandi)

Le KERNEL : De plus, notez que pour avoir une machine la plus performante possible (et donc moins de lag, de ralentissements), il faut installer un Kernel 1000Hz dessus. Ceci permettra d'utiliser le tick à son maximum. ;-)

Les PORTS : Si vous vous trouvez derrière un firewall (ce qui n'est normalement pas le cas si vous avez loué un serveur dédié), il vous faudra forwarder les ports suivants : UDP 1200, UDP 27000 à 27015, UDP 27020, TCP 27030 à 27039, TCP 27015.

A très bientôt !




Ce tutoriel à été visité 16641 fois.

Une suggestion, un problème d'affichage ou une erreur dans ce tutoriel ? Signalez-le nous !
Vous bloquez quelque part ? Demandez de l'aide à la communauté !


Creative Commons License Ce tutoriel est protégé par une license Creative Commons.