
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