Counter-Strike SOURCE : réaliser et démarrer un serveur dédié sous LINUX


Vous devez 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.

Les écritures qui suivront dans un cadre noir 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 :
apt-get update


On met à jour le serveur :
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 préparer les dossiers à l'installation de HLDS (Half-Life Dedicated Server), puis SRCDS (Source Dedicated Server).

Nous allons à la racine du disque dur :
cd /


Nous nous déplaçons dans le dossier "home" :
cd home


Nous créons le dossier "srcds" dans le dossier "home" :
mkdir srcds


Nous donnons tous les droits au dossier "srcds" :
chmod 0777 srcds


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


Nous donnons le dossier "srcds" à l'utilisateur "admin", qui en sera donc le nouveau propriétaire :
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 Source 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, Counter-Strike : Source).

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


Nous allons télécharger maintenant l'outil d'installation :
wget http://www.steampowered.com/download/hldsupdatetool.bin


Nous donnons le droit de s'exécuter à l'outil d'installation :
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) :
./hldsupdatetool.bin


Il faut maintenant accepter les conditions d'utilisation :
yes


Nous donnons maintenant le droit de s'exécuter à Steam, situé sur votre serveur :
chmod +x steam


Nous exécutons steam :
./steam


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


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

4- Installation du jeu (Counter-Strike Source)

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.
mkdir css


Voilà la commande qui permet de lancer le téléchargement des fichiers :
./steam -command update -game "Counter-Strike Source" -dir css


Nous venons de dire ici au serveur (à l'exécutable "steam", plus particulièrement) de mettre à jour les fichiers (-command update) du jeu Counter Strike : Source (-game "Counter-Strike Source") dans le dossier "css" (-dir css).

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 soucis).
./steam -command update -game "Counter-Strike Source" -dir css -verify_all


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

Toute la configuration de votre serveur Counter-Strike : Source se fait dans ce dossier : /home/srcds/css/orangebox/cstrike/cfg.

Le fichier qui va nous intéresser ici est server.cfg. C'est dans celui-ci que la configuration de notre serveur se trouvera.

Notez que les phrases précédées de "//" sont des commentaires, non pris en compte par Counter-Strike : Source.


Nous nous rendons dans le bon dossier :
cd /home/srcds/css/orangebox/cstrike/cfg


Nous créons le fichier de configuration :
nano server.cfg


Vous vous retrouvez devant un fichier vide.

Plus qu'à le remplir selon vos envies !
Voici un server.cfg complet, n'hésitez pas à l'adapter !

// Nom du serveur - Mettez ici le nom de votre serveur
hostname "FR | Event - HardGoRe | 16000$ | PaRachuTe | CSS-@"

// Mot de passe rcon (ceci est le mot de passe pour l'administration
// de votre serveur, il ne faut pas le communiquer)
rcon_password "motdepasse"

// Mot de passe du serveur (Ici vous pouvez mettre un mot de passe
// pour accéder au serveur, laissez le vide si vous désirez ouvrir un
// serveur public)
sv_password ""

// active le tir-amis
mp_friendlyfire 0
// active les les bruits de pas
mp_footsteps 1
// active l'autoteambalance
mp_autoteambalance 1
// Ejection automatique du joueur
mp_autokick 0
// Autorise la lampe de poche
mp_flashlight 0
// Punition automatique pour team-killing
mp_tkpunish 1
// Bloque la caméra des joueurs morts
mp_forcecamera 0
// Active la discussion vocal pour les deux équipes
sv_alltalk 0
// Permet de mettre le serveur en pause
sv_pausable 0
// Autorise la triche
sv_cheats 0
// Vérifie l'intégrité des données afin que le client et le serveurs aient
// bien les mêmes fichiers
sv_consistency 1
// Autorise l'upload et le download. (des tags par exemple ou des cartes
// que vous avez ajoutées)
sv_allowupload 1
sv_allowdownload 1
sv_maxspeed 320
// Nombre maximum de joueurs en plus ds une team avant que l'equilibrage
// auto de fasse
mp_limitteams 2
// Nombre maximum d'otages tués par un CT avant une punition
mp_hostagepenalty 5
// Active les micros
sv_voiceenable 1
// Autorise les spectateurs
mp_allowspectators 1
// Durée de chaque carte (en minute)
mp_timelimit 25
// Durée en secondes laissée aux joueurs pour parler ensemble avant un
// changement de map
mp_chattime 10
// Durée avant l'éjection d'un joueur qui ne répond plus (en seconde)
sv_timeout 65

// Variables de round
// Durée ou les joueurs sont immobilisés en début de round (en seconde)
mp_freezetime 6
// Durée d'un round (en minute)
mp_roundtime 5
// Montant avec le quelle les joueurs commencent le round
mp_startmoney 800
// Durée du timer de la bombe
mp_c4timer 45
// Nombre maximum de round avant de changer de carte
mp_maxrounds 0
/ /Nombre maximum de victoire pour une équipe avant de changer de carte
mp_winlimit 0
// Durée de protection des joueurs avant le début d'un round (en seconde)
mp_spawnprotectiontime 5

// Temps minimum entre 2 poses de tag par un même joueur
decalfrequency 60

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

// Logs du serveur
// Active l'enregistrement des journaux du serveurs (répertoire /logs)
// variables:on/off
log on

//Enregistre les joueurs bannis
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0

// Divers
// Défini si le serveur est un serveur locale ou en ligne (Toujours laissé
// cette variables sur 0)
sv_lan 0
// Définis la région on se trouve le serveur (Pour l'Europe c'est 3)
sv_region 3
// Désactive le système de prix dynamique de valve
// (très peu de serveurs l'utilisent)
mp_dynamicpricing 0

// Exécute ban files
// Le serveur va lire la liste des steam_id bannis
exec banned_user.cfg
// Le serveur va lire la liste des ips bannis
exec banned_ip.cfg


Un fois que vos modifications effectuées, enregistrez le fichier avec CTRL-O puis CTRL-X !

Vous êtes maintenant prêt à lancer le serveur !

Oups j'allais oublier ! Vous souhaitez sûrement rajouter des maps sur votre serveur ?!

Vos maps doivent se trouver dans le dossier maps, situé à la racine de votre installation.

Vous trouverez une mine incroyable de maps pour votre serveur sur le site FPS Banana.
Téléchargez-les sur votre PC, puis transférez les ensuite sur votre serveur via WinSCP, ou via un serveur FTP.

Une fois transférées, il faut indiquer au serveur que vos maps sont prêtes à être jouées
(oula ça m'a pas l'air français cette phrase).

nano /home/srcds/css/orangebox/cstrike/mapcycle.txt


Et voilà, plus qu'à rajouter le nom de la map à la fin du fichier. Vous pouvez aussi supprimer des noms de maps déjà présents dans le fichier, si vous ne voulez pas qu'elles soient jouées sur votre serveur !

Vous enregistrez le nouveau mapcycle.txt avec CTRL-O puis vous quittez NANO avec CTRL-X

Notez que que les maps que vous ajoutez devront être téléchargées par vos joueurs, en entrant sur votre serveur. Je vous conseille la mise en place d'un mirroir de téléchargement !

Vous souhaitez aussi sûrement personnaliser le MOTD de votre serveur ? Vous savez, cette fenêtre de présentation du serveur lorsqu'un joueur arrive s'y connecte !

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 Counter-Strike : Source s'est installé dans ce dossier : /home/srcds/css/orangebox

Nous nous plaçons dans le dossier de l'installation du serveur.

cd /home/srcds/css/orangebox


Nous lançons le serveur, en executant "srcds_run".
./srcds_run -game cstrike -console +ip XXX.XXX.XXX.XXX -port 27015
+maxplayers 16 +exec server.cfg +map de_dust2 -tickrate 66 +fps_max 0
-autoupdate -pingboost 3


Il y a donc plusieurs paramètres à choisir :
- le jeu : Counter-Strike Source (-game cstrike),
- 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).
Je connais pas la limite du nombre de joueurs, mais je sais que vous pouvez aller jusqu'à plus de 60 .
- la map de départ : (+map de_dust2). Dans mon cas, la map de lancement du serveur sera de_dust2.
- l'auto update : (-autoupdate)
Permet au serveur de se mettre à jour tout seul, lorsqu'une MAJ sort.
A moins de vouloir se faire du mal, je vois mal pourquoi s'en priver.
- le tickrate : (-tickrate 66 est imposé maintenant).

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é !

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 !

Notez que la commande "quit", via RCON, peut ne pas arrêter votre serveur, mais le redémarrer.

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 :
/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'abri 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.

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.

---------------------------------------------------------------------------------------------------
Nous nous retrouvons aujourd'hui pour parler des screen.

Mais qu'est-ce qu'un screen ? Pour répondre à cette question, asseyons-nous au coin du feu.

Lorsque vous lancez votre serveur de jeu, via la console (de toute façon, c'est forcement via la console, quand on est sur une machine Linux à distance), vous pouvez remarquer que celle-ci est "bloquée" sur le jeu dont vous avez lancé un serveur. Vous voyez ce qui se passe en direct du jeu, sur votre console, mais vous ne pouvez plus rien faire d'autre, sur le serveur, en dehors du jeu : elle devient "indisponible".

Par exemple, vous voulez lancer votre serveur de jeu, puis un serveur TeamSpeak. Impossible, car lorsque vous aurez lancé le serveur de jeu, la console sera "bloquée" sur le jeu. Il vous sera donc impossible d'intéragir avec votre machine, en dehors du jeu lancé.

Autre exemple, vous lancez votre serveur, et lorsque vous fermez votre fenêtre Putty, le serveur de jeu s'éteint aussi, et donc impossibilité de jouer dessus (vu qu'il est éteint ). Normal, car la fermeture de Putty correspond à une fermeture de session : d'où la fermeture de tous les programmes.

PROBLÈME :

Je veux pouvoir continuer à faire ce que je veux sur mon serveur dédié, même après avoir lancé le jeu !

SOLUTION:

Explications
Bien sur, les Linuxiens ont tout prevu : il existe un moyen de lancer votre serveur de jeu, mais tout en gardant un contrôle total sur votre ordinateur (ou votre dédié), le SCREEN.

Pour comprendre, considérons votre fenêtre Putty comme une session sur votre serveur dédié.
Si vous quittez Putty, vous fermez votre session, donc plus aucun logiciel ne peut fonctionner, comme sous Windows.

La solution consiste à utiliser un screen, une sorte d'instance, de logiciel, permettant d'ouvrir "plusieurs session" sur votre serveur dédié, dans la même fenêtre Putty.

A partir de ce screen, vous pourrez donc jongler entre ces sessions, et donc lancer un serveur de jeu sur une session, et par exemple lancer une deuxième session vous permettant d'accéder à des documents perso sur le serveur.

Mais le meilleur avantage d'un screen est qu'une fois Putty fermé, les sessions ne sont pas fermées !
Vos serveurs de jeu resteront lancés, par exemple !

Sans ce screen, pour que vos serveurs TeamSpeak, Mumble, CS:S, etc ... restent allumés, vous auriez du garder Putty ouvert non-stop, et donc votre ordinateur aussi.

Commandes
Vous avez la console de votre serveur sous les yeux. Le serveur de jeu (ou vocal) n'est pas encore lancé. Commençons par taper "screen".
screen


Si vous obtenez une erreur lors du lancement du screen, c'est que cette fonction n'est pas installée par défaut sur votre machine. Il faut donc..... l'installer (bravo ^^).
apt-get install screen


(une fois installé, lancez-le en tapant la commande précédente : screen.)

Validez le lancement du screen, en appuyant sur la barre d'espace. Vous voilà maintenant rentré dans votre screen, enfin dans la toute première fenêtre du screen (ya une répétition, là, non ? ^^). Nous allons ouvrir d'autres fenêtres (ou sessions, si vous préférez), ce qui fera un peu comme si vous aviez plusieurs consoles de lancées, pour le même serveur, le tout dans le même Putty.

Faites simultanément Ctrl+A, puis SHIFT+A. Le nom de votre première fenêtre se grise, et vous pouvez le modifier. Supprimez ce qui est déjà écrit, puis mettez "Contrôle", par exemple. Nous avons ici renommé notre première session screen.

Nous avons notre fenêtre de "contrôle", pour garder un acces au serveur dédié, même quand notre serveur de jeu sera lancé.

Nous allons maintenant créer une autre fenêtre/session, spécialement pour la vérification de la charge du serveur, et des différentes proccessus lancés.
Tapez Ctrl+A, puis Ctrl+C. Une nouvelle fenêtre du screen vient de s'ouvrir. Avec Ctrl+A, puis SHIFT+A, renommez-la "stats", puis validez. Tapez maintenant "top" dans la console, puis validez.
top


Tout un tas de choses devraient apparaitre : charge mémoire vive, charge processeur, processus (morts, zombis, lancés etc), temps de focntionnement du serveur, nombre de clients connectés et charge générale de la machine. Cette fenêtre est à surveiller : c'est le bilan santé de votre serveur dédié ^^.

Il faut maintenant créer la fenêtre réservée au serveur de jeu. Tapez Ctrl+A, puis Ctrl+C. Une nouvelle fenêtre du screen vient de s'ouvrir. Avec Ctrl+A, puis SHIFT+A, renommez-la "Serveur TF2, DOD, CSS ..." (rayez la mention inutile), puis validez. A partir de ce moment, vous pouvez vous considérer comme étant prêt à installer votre serveur de jeu. Notez que vous pouvez ouvrir autant de sessions screen que vous le souhaitez (si vous avez 36 serveurs CS 1.6 à installer et lancer, lancez au moins 36 fenêtres screen).

Vous n'avez plus qu'à vous rendre dans la fenêtre screen qui vous servira à lancer un de vos serveur pour l'installer et le lancer.

Mais vous vous dites surement : comment retrouver les fenêtres que nous avons créees précédement ? et aussi : comment naviguer entre les fenêtres/sessions que nous avons ouvertes ?

Et bien c'est tout simple ! Tapez Ctrl+A, puis " (oui, le signe guillemets). Et magie ! Un menu apparaît ! Vous pouvez maintenant choisir, avec les flèches directionnelles, la fenêtre que vous souhaitez récupérer ! Vous avez donc un accès total à votre machine !

Sans screen, si vous quittez la console, cela quitte le serveur de jeu. Avec screen de lancé, si vous quittez la console, votre serveur de jeu reste ONLINE !

Lorsque vous vous reconnectez plus tard à votre console, tapez :
screen -x


et vous retrouvez toutes vos fenêtres !

Voilà un résumé des commandes associées au "screen" :
- "screen" : lancer le screen.
- "screen -x" : récupérer un screen fermé.
- Ctrl+A, puis " : menu des fenêtres.
- Ctrl+A, puis Ctrl+C : créer une nouvelle fenêtre.
- Ctrl+A, puis SHIFT+A : renommer une fenêtre.
- Ctrl+A, puis \ : fermer un screen.

@++ et BON FRAGS

Installation d'un serveur Counter-Strike: Source

I - Téléchargement de HL-Dedicated Server

Le principe du serveur source est le même pour tout les mods (du moins ceux proposés officiellement par valve) conçus sous ce moteur, par exemple Counter Strike Source, Half Life 2 Deathmatch ou encore Team Fortress 2.
Il faut en premier lieu télécharger le serveur puis les fichiers correspondants au jeu à installer.

Commençons par créer un répertoire pour le déploiement de l'utilitaire d'installation puis téléchargeons le fichier. (Source Dedicated Server soit srcds)

cd srv mkdir srcds cd srcds wget http://storefront.steampowered.com/download/hldsupdatetool.bin chmod +x hldsupdatetool.bin

Lançons maintenant la mise à jour de cet utilitaire et de steam.

./hldsupdatetool.bin ./steam

II - Installation des fichiers du jeu

Il faut maintenant récupérer les fichiers du jeu correspondants à celui voulant être installé, dans notre casCounter-Strike Source. Créons tout de même un répertoire pour ceux-ci.

mkdir css ./steam -command update -game "Counter-Strike Source" -dir css

Autant vous prévenir que cette partie de l'installation est de loin la plus longue ! Si vous souhaitez accélérer le téléchargement et le traitement de tous les fichiers, vous pouvez prendre quelques parts de plus le temps de l'installation.

Astuce :

Cette commande est la même à utiliser lorsque vous voulez mettre à jour votre serveur si vous n'utilisez pas l'autoupdate, comme nous le verrons plus bas

Nous indiquons donc à steam de mettre à jour l'installation (-command update) du jeu Counter Strike Source (-game "Counter-Strike Source") dans le répertoire actuel (-dir .). Dans notre cas elle est inexistante : le jeu sera donc intégralement téléchargé.

Astuce :

Pour installer d'autres mods, il suffit de changer "Counter-Strike Source" par le nom du mod, par exemple "TF" pour Team Fortress 2, "hl2mp" pour HL2-Deathmatch.

Une fois le téléchargement terminé, il est bon de vérifier que les fichiers sont tous en bon état. Cette étape n'est pas obligatoire mais elle prend peu de temps et nous assure le bon fonctionnement du serveur.

./steam -command update -game Counter-Strike Source -dir css -verify all

Le serveur de jeu est maintenant complètement téléchargé et prêt à être lancé. Mais il faut le configurer afin d'obtenir un serveur personnalisé et surtout optimisé.

III - Personnalisation du serveur

A - Le server.cfg

Toute les informations nécessaires au serveur se trouve dans le fichier server.cfg qui se trouve lui même dans le répertoire cfg. Si il n'existe pas, créez le.
Voici les informations de base à lui fournir. Il existe énormement de variables qu'il serait inutile de présenter toutes ici, mais que vous trouverez sans soucis sur le web. C'est assez indigeste comme ça, mais il est nécessaire de connaitre un minimum ces variables pour bien administrer son serveur.

server.cfg

// Nom du serveur - Mettez ici le nom de votre serveur hostname "Server Counter-Strike Chez le Père Flubber @ Gandi"   // Mot de passe rcon (ceci est le mot de passe pour l'administration de votre serveur ne le communiquez à personne) rcon_password "motdepasse"
// Mot de passe du serveur (Ici vous pouvez mettre un mot de passe pour accéder au serveur, laissez le vide si vous désirez ouvrir un serveur public) sv_password "" 

cvars Serveur (ici commence la longue liste des variables serveurs)
Dans la majorité des cas :
0 désactive la fonction
1 active la fonction
Parfois il faut rentrer une valeur, en particulier sur les variables de temps.
Les valeurs commentées (par //) sont les plus importantes.

// active le tir-amis mp_friendlyfire 0 mp_footsteps 1 mp_autoteambalance 1 // Ejection automatique du joueur mp_autokick 0 // Autorise la lampe de poche mp_flashlight 0 //Punition automatique pour team-killing mp_tkpunish 1 //Bloque la caméra des joueurs morts  mp_forcecamera 0 //active la discussion vocal pour les deux équipes sv_alltalk 0 //Permet de mettre le serveur en pause sv_pausable 0 //Autorise la triche sv_cheats 0 //Vérifie l'intégrité des données afin que le client et le serveurs aient bien les mêmes fichiers sv_consistency 1 //Autorise l'upload et le download. (des tags par exemple ou des cartes que vous avez ajoutées) sv_allowupload 1 sv_allowdownload 1 sv_maxspeed 320 mp_limitteams 2 mp_hostagepenalty 5 sv_voiceenable 1 mp_allowspectators 1 //Durée de chaque carte (en minute) mp_timelimit 25 mp_chattime 10 //Durée avant l'éjection d'un joueur qui ne répond plus (en seconde) sv_timeout 65
// variables de round //Durée ou les joueurs sont immobilisés en début de round (en seconde) mp_freezetime 6 //Durée d'un round (en minute) mp_roundtime 5 //Montant avec le quelle les joueurs commencent le round mp_startmoney 800 //Durée du timer de la bombe mp_c4timer 45 //Nombre maximum de round avant de changer de carte mp_maxrounds 0 //Nombre maximum de victoire pour une équipe avant de changer de carte mp_winlimit 0 //Durée de protection des joueurs avant le début d'un round (en seconde) mp_spawnprotectiontime 5

Réglages du réseau
Ces paramètres permettent de forcer les machines des joueurs à transmettre les informations à la même vitesse, afin que tout les joueurs soient logés à la même enseigne et ce quelque soit la rapidité de leur connexion.

sv_minrate 4000 sv_maxrate 8000 decalfrequency 60 sv_maxupdaterate 100 sv_minupdaterate 60
// Logs du serveur //Active l'enregistrement des journaux du serveurs (répertoire /logs) variables:on/off log on
//Enregistre les joueurs bannis sv_logbans 1 sv_logecho 1 sv_logfile 1 sv_log_onefile 0
//Divers //Défini si le serveur est un serveur locale ou en ligne (Toujours laissé cette variables sur 0) sv_lan 0 //Définis la région on se trouve le serveur (Pour l'Europe c'est 3) sv_region 3 //désactive le système de prix dynamique de valve (très peu de serveurs l'utilisent) mp_dynamicpricing 0
// execute ban files //Le serveur va lire la liste des steam_id bannis exec banned_user.cfg //Le serveur va lire la liste des ips bannis exec banned_ip.cfg

Astuce :

Si vous ne voulez pas faire vous même votre server.cfg, il existe des générateurs automatiques qui vous permettent de générer un cfg configuré avec vos variables.
Par exemple : http://www.cstrike-planet.com/cfgmaker?cfg=srcds

B - Ajouter des maps

Aujourd'hui, peu de serveurs ne tournent qu'avec les cartes d'origines. En effet, les joueurs les ont joués des centaines de fois, voire plus.
Il convient d'ajouter des cartes qui correspondent au ton de votre serveur et aux désirs des membres de votre clan ou de vos visiteurs.
Difficile ici de vous donner des conseils sur quelles cartes il est préferable d'installer. Je ne peux que vous conseiller un site qui, pour moi, est une référence : fpsbanana.com qui liste quasiment toutes les cartes créées par les mappeurs et qui met à disposition un top des cartes les plus téléchargées.

Les cartes doivent être copiées dans le répertoire "maps" qui se trouve à la racine de votre installation.
Une fois copié, il faut les ajouter au mapcycle. Pour cela, rien de plus simple : il suffit d'éditer le fichiermapcycle.txt qui se trouve lui aussi à la racine de votre serveur et d'y rajouter le nom de la carte récemment installée et enfin de le sauvegarder.
Il sera pris en compte dès la prochaine carte jouée sur votre serveur, sans même avoir besoin de le redémarrer.

Astuce :

Le moteur d'half-life 2 inclu un décompresseur bzip. Celui-ci permet d'accélérer grandement le téléchargement des cartes par les clients connectés car ceux-ci récupèrent la version compressée de la carte au lieu de la version complète.
Tout les fichiers devant être récupérés par le client peuvent être compressés. Il convient de procéder ainsi :
cd maps bzip2 nouvellecarte.bsp

Vous obtiendrez alors un fichier nouvellecarte.bsp.bz2 qui prendra moitié moins de place que la carte d'origine, divisant ainsi par deux la durée de téléchargement pour les joueurs.
à savoir qu'il est possible de tout compresser, les fichiers .bsp pour les cartes, mais aussi les fichiers texte les accompagnant ainsi que les sons que vous voudriez ajouter.

:!: Il est possible de créer un miroir de téléchargement afin de ne pas surcharger le serveur lorsqu'un joueur ne possède pas la carte. Sur ce serveur il est impératif de conserver la même architecture que sur le serveur de jeu.
Par exemple, imaginons que mon miroir se trouve sur "http://www.miroircss.com". Je dois alors créer un répertoire css dans lequel je crée un répertoire maps où je placerais les nouvelles cartes ainsi que leurs versions .bz2 (il est nécessaire de mettre les deux). Une fois le miroir en place il faut ajouter ceci dans le fichierserver.cfg :

// Taille maximum autorisée pour les fichiers à télécharger (Valeur d'origine 15Mo) net_maxfilesize 60 //Indique l'adresse du miroir sv_downloadurl "http://www.miroircss.com/css/"

Attention :

Une fois le miroir mis en place, plus rien n'est téléchargé sur le serveur de jeu : le miroir devient la source exclusive de fichiers pour les joueurs. Si vous installez une carte sur votre serveur de jeu et que vous oubliez de la mettre sur le miroir, les joueurs ne pourront pas la télécharger.

IV - Lancement du serveur

Après cette longue, mais nécessaire, phase de configuration, il est temps maintenant de lancer notre serveur CS:S.
Placez-vous dans le répertoire /srcds/ et lancez le Source Dedicated Server de la manière suivante :

Dans notre exemple le serveur va avoir 24 places, un tickrate de 100 et va se lancer sur la carte de_dust2.

cd srv/srcds/ ./srcds_run -console -game cstrike +map de_dust2 -maxplayers 24 -autoupdate -tickrate 100

Astuce :

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. 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 :)

Important :

Il est évidemment tout à fait possible de lancer le serveur CS:S dans un screen, afin de conserver un accès à la machine, pour cela il suffit de lancer le serveur de cette manière :
screen -A -m -d -S css-server ./srcds_run -console -game cstrike +map de_dust2 -maxplayers 24 -autoupdate -tickrate 100

Un screen css-server sera créé, pour y accéder tapez :

screen-x css-server


Installer un serveur F.E.A.R. Combat sur Ubuntu

F.E.A.R. est un jeu type FPS qui a rencontré un vif succès commercial pour son scénario entre l'action et le thriller. Vivendi Universal a décidé de sortir uneversion multijoueurs gratuite plusieurs mois après la sortie du jeu.
Voici comment installer le serveur sur Ubuntu.

Etape 1: Télécharger l'archive

Avant de télécharger l'archive d'installation, nous allons choisir un répertoire cible cohérent et nous y rendre :

cd /usr/local/games/

Nous allons maintenant télécharger l'archive (à peu près 160 Mo) grâce à la commande wget.

wget http://www.1337-server.net/fear/fear-linuxserver-1.08.tar.gz

Attention :

L'url donnée pour le wget est susceptible de devenir invalide. Nous comptons sur la communauté Gandi pour mettre à jour celle-ci.

Etape 2: Installer la librairie C++ requise

Pour pouvoir fonctionner, le serveur FEAR Combat nécessite l'installation d'une librairie C++ utilisée par le programme : libstdc++5.
Son installation est très simple et rapide :

apt-get install libstdc++5

Voici ce que cela donne :

Le module C++ étant installé, nous pouvons revenir au vif du sujet.

Etape 3: Déployer le serveur

Tout d'abord, nous allons décompresser l'archive.

tar -xvf fear-linuxserver-1.08.tar.gz

Cette opération peut prendre plusieurs minutes. A l'issue de celles-ci, vous aurez un répertoire FEAR dans votre répertoire /usr/local/games/ Rendons-nous donc dans ce répertoire :

cd /usr/local/games/FEAR

Si vous exécutez la commande de listing du répertoire (ls -la), vous trouverez un certain nombre de fichiers, dont notamment start.sh qui est le script de lancement du serveur. A ce stade là, l'exécution du script lancera le serveur dans sa configuration par défaut :

./start.sh

Etape 4: Configurer le serveur

Le fichier de configuration se trouve dans le répertoire ServerOptions.

cd /usr/local/games/FEAR/ServerOptions

Jetons un oeil au fichier ServerOptions.txt

vi ServerOptions.txt

Note :

Si vous souhaitez changer la configuration, il vous faut connaître les commandes de base de l'éditeur VI.

La première partie du fichier est la plus importante :

[ServerSettings] GameType=DeathMatch

C'est ici que vous déterminez le type de jeu souhaité. FEAR supporte un grand nombre de modes de jeu, avec des options propres à chaque type. Les modes de jeu possibles sont DeathMatch, SlowMoDeathmatch, TeamDeathMatch, TeamSlowMoDeathmatch, CTF, SloMo CTF, Elimination, TeamElimination, CaptureAll, CaptureHold

ServerMessage=

Le message qui sera envoyé par le serveur aux clients qui se connectent. Ex.: Welcome on my FEAR Combat Server, Hosted by Gandi.net

UsePassword=0 Password=password

Si la valeur de UsePassword est égale à 1, alors votre serveur sera privé et les joueurs devront rentrer le password défini dans la ligne en dessous pour pouvoir entrer sur votre serveur.

Port=27888

C'est le port de jeu par défaut

UsePunkBuster=0

Vous permet d'activer ou non le logiciel anti-triche PunkBuster.

Il y a de nombreuses options paramétrables, beaucoup trop pour fournir une explication de chacune d'elles, mais la plupart parlent d'elles même.
Si quelqu'un se sent de compléter cette partie du tutoriel, n'hésitez pas.

Installation de TeamSpeak sur Ubuntu

TeamSpeak est un logiciel gratuit vous permettant de communiquer vocalement avec des amis. Cet outil, très simple d'utilisation est également très simple à installer.
Voici comment installer le logiciel serveur :

Disponible également : une version ScreenCast du Tutoriel.

Etape 1: Récupération du package

Il est fortement conseillé de lancer TeamSpeak à partir d'un utilisateur non root.
Nous allons donc commencer par créer cet utilisateur. Vous pouvez bien-sûr utiliser un user déjà créé qui vous conviendra (en savoir plus sur la gestion des users sur votre serveur):

adduser teamspeakuser

Ce qui nous donnera ceci :

Après avoir renseigné le mot de passe, on se connecte sur cet utilisateur (su teamspeakuser à partir de root), on se rend dans son homedir (cd /home/teamspeakuser/) et on récupère l'archive de TeamSpeak (l'adresse donnée ici est valable au moment de l'écriture du tutorial, nous comptons sur la communauté pour maintenir cette adresse à jour) :

wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_server_rc2_202319.tar.bz2

Il nous faut maintenant décompresser cette archive :

tar -xjf ts2_server_rc2_202319.tar.bz2

Le serveur est prêt à fonctionner !

Etape 2: Lancement du serveur

Rendez-vous dans le répertoire du serveur

cd /home/teamspeakuser/tss2_rc2

vous y découvrirez quelque chose qui ressemble à cela (avec la commande ls -la)

Il manque néanmoins un fichier clé : server.log
Celui-ci sera généré au premier lancement du serveur, et il va être essentiel pour la suite.
Lançons donc le serveur :

./teamspeak2-server_startscript start

Ce qui nous donnera ce message :Si nous listons à nouveau notre répertoire, nous trouverons 6 nouveaux fichiers dont notre fameux server.log
Jetons un oeil sur celui-ci :

cat server.log

L'information essentielle de ce fichier se trouve sur les deux lignes ci-dessous :Ce sont les passwords pour l'admin ET le superadmin du serveur. Bien-sûr, chaque installation de TeamSpeak a un password différent généré lors du premier lancement. Voila pourquoi server.log n'existait pas avant.

Vous avez également la possibilité de taper cette commande pour afficher les mots de passe :

./teamspeak2-server_startscript passwords

Etape 3: Configuration du serveur

Avec ces informations, nous allons pouvoir nous connecter à l'interface web de TeamSpeak.
Pas besoin d'avoir Apache, MySQL, PHP ou autre d'installé, TeamSpeak est un véritable StandAlone :)

Dans votre navigateur web préféré, entrez l'url correspondant à l'IP (ou le nom de domaine si vous avez configuré le DNS) plus le port spécifique à l'interface d'administration de TeamSpeak, c'est à dire 14534. Par exemple :

http://217.70.190.13:14534

Vous arriverez sur une interface de ce type :

Préférez l'interface de superadmin qui vous permettra de passer sur celle d'admin ensuite (qui peut le plus, peut le moins) :

A partir de cette interface, vous pourrez éditer votre serveur, ajouter des utilisateurs, créer d'autres serveurs etc… Mais cela fera l'objet d'un autre tutorial :)

Autre méthode d'installation du serveur TeamSpeak sur Ubuntu

apparemment un paquet officiel existe sous ubuntu multivers (ou débian)

$ apt-get install teamspeak-server

Informations sur le paquet :

$ apt-cache show teamspeak-server  Package: teamspeak-server Priority: optional Section: multiverse/net Installed-Size: 2928 Maintainer: Ubuntu MOTU Developers  Original-Maintainer: Adam Cécile (Le_Vert)  Architecture: i386 Version: 2.0.23.19-1 Depends: libc6 (>= 2.6), lsb-base (>= 3.0-6) Pre-Depends: adduser Filename: pool/multiverse/t/teamspeak-server/teamspeak-server_2.0.23.19-1_i386.deb Size: 1093562 MD5sum: 33e5024090972916c0e61b0a4f1120fc SHA1: 7351ed5c8df06128ea49dfbce910c35fab3d21b6 SHA256: 2b0bebb817054756fd4e027787a598b8d706777d0be5f93a898f8e219595d39b Description: VoIP chat for online gaming (server)  TeamSpeak is a quality, scalable application which enables people to speak  with one another over the Internet. TeamSpeak consists of both client and  server software. The server acts as a host to multiple client connections,  capable of handling literally thousands of simultaneous users. This results  in an Internet based teleconferencing solution that works in a variety of  applications such as team mates speaking with one another while playing  their favorite online game, small businesses cutting costs on long distance  charges, or for personal communication with friends and family.  .  This package contains the server daemon.  .   Homepage: http://www.goteamspeak.com/ Bugs: mailto:ubuntu-users@lists.ubuntu.com Origin: Ubuntu

Les mots de passe initiaux sont stocké dans le fichier :

/etc/teamspeak-server/passwords

Commande de contrôle du service :

/etc/init.d/teamspeak-server {start|stop|status|restart|force-reload}