Type de serveur CS:S (OFFICIEL)
Nous allons apprendre ici, comment réaliser un serveur de jeu : Counter Strike Source : OFFICIEL
Pré-requis :
Avoir installé :
Debian (lenny) (ou autre distribution Linux).
ProFTPD.
SSH.
Webmin (conseillé).
Serveur LAMP (si vous héberger le forum de votre Team sur le même serveur et/ou si vous faite un "serveur distant" pour le téléchargement des MAPS)).
SOFT : pour travailler vous aurez besoin de PUTTY (SSH), FileZILLA (FTP), FireFOX ou ie (webmin).
Les dièses (#) en début de lignes de commandes (oranges) représente le shell et ne sont pas à saisir !
-< INSTALLATION DU SERVEUR DE JEU >-
Connectez-vous en SSH avec putty !
Nous allons installer notre serveur CSS dans /home/jeux/steam/css/s_officiel
- Création des répertoires :
#cd /home
#mkdir jeux
#cd jeux
#mkdir steam
#cd steam
#mkdir css
#cd css
#mkdir s_officiel
#cd s_officiel
Vérifier que l'on se trouve bien dans le répertoire s_officiel :
#pwd
Cela doit vous retourner :
/home/jeux/steam/css/s_officiel
Si vous vous êtes perdu tapez :
#cd /home/jeux/steam/css/s_officiel
- Téléchargement du contenu du serveur de jeu : hldsupdatetool.bin
#wget http://www.steampowered.com/download/hldsupdatetool.bin
une fois le téléchargement terminé, il faut rendre le fichier BIN executable !
#chmod a+x hldsupdatetool.bin
ou
#chmod 744 hldsupdatetool.bin
- Exécuter le fichier BIN :
#./hldsupdatetool.bin
et répondre "yes" dès que l'on vous le demande.
Un nouveau fichier steam a été créer.
Maintenant exécuter le fichier en lui passant les arguments suivant pour installer Counter Strike Source (Steampowered possède une large gamme de jeux)
#./steam -command update -game "Counter-Strike Source" -dir . (après -dir espace et point !!)
S'il ne se passe rien de plus que :
ckecking bootstrapper version ...
faire CTRL + C et refaire la commande jusqu'à obtenir ceci :
Puisqu'on vous le demande gentillement, refaire la commande encore une fois :
#./steam -command update -game "Counter-Strike Source" -dir . (après -dir espace et point !!)
l'installation débute et l'arborescence se crée, patientez jusqu'à la fin !!
Puis refaire la commande 2 ou 3 fois à la fin du téléchargement pour être sûr qu'il ai tout téléchargé (en effet, Steam n'a pas amélioré son processus de download, c'est dommage.)
#./steam -command update -game "Counter-Strike Source" -dir . (après -dir espace et point !!)
une fois terminée vous obtenez ceci :
Supprimer le fichier hldsupdatetool.bin
#rm hldsupdatetool.bin
- Création du fichier server.cfg dans css/cstrike/cfg
#cd /home/jeux/steam/css/s_officiel/css/cstrike/cfg/
#touch server.cfg
Remplir le fichier server.cfg comme ci dessous (modifier le Mot de Pass RCON)
#nano server.cfg
Contenu de server.cfg :
////////////////////////////////// // Fichier a Executer // ///////////////////////////////// // Execution du fichier de configuration des bots // Execution du fichier de restriction des armes //////////////////////////////////////// // Le nom du serveur. // Rcon du serveur pour l'administration à distance avec HLSW ou simplement le contrôler par la console du jeu // Mot de passe du serveur (pour le rendre privé). //////////////////////////////// // Définir la région ex:3 = euro. // Si votre serveur est en local. ////////////////////////////////////////////////////////////// // Autorise ou pas le téléchargement du client vers le serveur ex: un Tag. // Autorise ou pas le téléchargement du serveur ex: maps sound texture etc. // Url de téléchargement d'un serveur distant. Permet d'accélérer le téléchargement sur votre serveur. Si vous n'avez pas de serveur distant ne rien mettre entre les guillemets. ///////////////////////// // Nombre maximum d'images par secondes ex: 0 Pas de limite. // valeur de rate maximal (0=illimité) // valeur de rate minimale // Nombre maximum de fois où le serveur envoi au client la position de tous les joueurs par seconde // Nombre minimum de fois où le serveur envoi au client la position de tous les joueurs par seconde // Permet de passer la configuration du serveur au client (réglage minimum). //Permet de passer la configuration du serveur au client (réglage maximum). // Pour forcer la valeur de cl_predict pour les clients // Mini applicable chez le client // Maxi applicable chez le client différence max entre le cmdrate et l'updaterate /////////////////////// // Autorise le serveur à faire des logs. les log sont des fichiers textes qui vous donne la possibilité de voir se qui c'est passé sur le serveur. // Voir les joueurs bannie dans les logs // Autorise ou pas l'écriture des logs dans la console. // Active ou pas les logs du serveur dans le dossier des logs. // Enregistrer tous les logs dans le même dossier. // Définire le chemin des logs ex de nom: mani_log, mes_log, ou log_serveur, si vous utiliser mani_admin_plugin il faudra lui dire quel dossier utiliser. // Les dommages à prendre en compte ex: 0 ne rien prendre en compte, 1 Les dommages des ennemis sont pris en compte, 2 Les dommages des coéquipiers sont pris en compte, 3 tout prendre en compte // L'enregistrement de l'écho des commandes // Enregistrement de la conversation. //////////////////////////////////////////// // Pour que les fichiers des liens soit les même que ceux du serveur. // Nombre maximum de tué que doit faire un joueur pour gagner et changer la map. // Durer d'un round (en minute). // temps de la bombe avant explosion (en seconde). // Nombre de seconde pour acheter ses armes. // Nombre de seconde ou les joueurs ne peuvent pas bouger de leur spawn avant que le round commence. // La somme de départ pour tous les joueurs. // Active l'équilibrage des équipes après chaque redémmarage d'un round. // Temps en seconde entre 2 maps. // Nombre de décals autoriser exemple les taches de sang etc. // Mettre le spectateur mort en vue noir ex: 1:noir 0:tous voir // Autorise les flashs ou pas sur le serveur // Active ou pas les traces de pas sur le sol. // Active ou pas le mode spectateur // Active ou pas le tire sur un équipier (sur 1, les balles peuvent blesser votre équipier). // Cette option peut donner un nombre de décalage de joueur entre les équipes. // Nombre maximum de round à faire pour que la map change. // Active ou pas le mode specteur sur le serveur. // Active le kick automatique des joueurs inactifs ou des ban pour le team kill. // Définir le temps pour que la map change 0 désactiver // Active la punition pour un tk (un tir sur un équipier). // Nombre de victoire pour terminer la map. // Projection des objets // Rapidité de déplacement des objets // Le déplacement de la bombe // Vitesse de la glissade exemple les map surft // Vitesse dans les sauts // Autorise le vocal sur le serveur // Autoriser ou pas les cheats sur le serveur // Résistance a l'avancement (surface) // Permet de modifier la puissance de graviter // Vitesse de déplacement des joueurs // Permet de mettre le serveur en pause // Taille des pas // Temps ou vous pouvez rester inactif avant que le serveur vous kick. // Couper ou pas le micro des clients // La vitesse de l'eau // La résistance de l'eau // Interdit les clients d utiliser la correction de couleur sur le serveur // Autoriser ou refuser la commande d'attente sur les clients connectés à ce serveur. ///////////////////////////////////////////////////////////////////// // Active ou désactive la récompence de l'étoile sur le serveur // Active ou désactive la domination / vengeance sur un serveur // Active ou désactive les stats sur le serveur // Active ou désactive le freezecam sur un serveur // Restart le round ex: toutes les 5 secondes |
- Utiliser un script de démarrage automatique du serveur de jeu en cas de reboot du serveur réel :
Installer le screen
#apt-get install screen
Puis se rendre dans le dossier /etc/init.d/
#cd /etc/init.d/
Créer un fichier qui se nommera s_officiel (même nom que le serveur de jeu pour plus de simplicité)
#touch s_officiel
Éditer le fichier comme suit et remplir les variables :
- Nom de l'utilisateur
- Nom du screen
- Répertoire du serveur
- Options de lancement (modifier l'IP)
#nano s_officiel
Contenu de s_officiel :
#!/bin/sh ############################################# ## Script de lancement des serveur Principal ## ############################################# ############################################# # Nom de l'utilisateur # Nom du screen # Binaire du serveur # Repertoire du serveur # Options de lancement # Ligne de commande pour l'update ############################################# if [ -z $1 ]; then srcds_start() { srcds_stop() { srcds_restart() { srcds_update() { srcds_patch () { case $1 in exit 0 |
puis modifier les droits du fichier s_officiel du répertoire /etc/init.d/ pour qu'il s'execute.
#chmod 775 s_officiel
Afin de démarrer ou arrêter le serveur de jeu :
#/etc/init.d/s_officielstart
#/etc/init.d/s_officielstop
On permet le démarrage automatique du serveur CS:S lors du boot !
#update-rc.d s_officieldefaults
Nous allons voir l'installation de UNRAR sous linux :
#apt-get install unrar
Nous allons voir l'installation de Metamod Source :
Metamod est un plugin permettant de faire fonctionner des Mod de jeu comme GunGame, V.I.P mod, GoreMod, ZombieMod, Deathmatch et bien d'autre.
Télécharger Metamod puis uploader metamod_1_9.rar dans /home (par exemple) puis le dézippé :
#unrar x metamod_1_9.rar
Vous obtenez le dossier metamod_1_9 dans lequel se trouve le dossier addons.
1- Si le dossier addons EXISTE : copier seulement son contenu dans css/cstrike/addons comme ceci
#cp -R /home/metamod_1_9/addons/metamod /home/jeux/steam/css/s_waresl/css/cstrike/addons
2- Si le dossier addons N'EXISTE PAS : copier le répertoire addons dans css/cstrike/ comme ceci
#cp -R /home/metamod_1_9/addons /home/jeux/steam/css/s_waresl/css/cstrike/
-< INSTALLATION >-
Éditez le fichier gameinfo.txt dans css/cstrike/
#nano /home/jeux/steam/css/s_officiel/css/cstrike/gameinfo.txt
et ajouter cette ligne (en rouge) comme ci dessous. (ATTENTION lors d'une mise à jour STEAM, le fichier gameinfo.txt est remplacé par celui d'origine, donc, vous devez rajouter cette ligne après chaque mise à jour STEAM)
GameBin |gameinfo_path|addons/metamod/bin
Fichier gameinfo.txt
"GameInfo" { game "Counter-Strike Source" title "COUNTER-STRIKE'" title2 "source" type multiplayer_only nomodels 1 nohimodel 1 nocrosshair 0 bots 1 hidden_maps { "test_speakers" 1 "test_hardware" 1 } nodegraph 0
// |
Sauvegarder.
supprimer l'archive et le répertoire :
#rm /home/metamod_1_9.rar
#rm -R /home/metamod_1_9
Nous allons voir l'installation et la configuration du Mani Admin Pluging :
-< INSTALLATION >-
Placer vous dans le dossier : /home/jeux/steam/css/s_officiel
Télécharger et décompresser l'archive mani_admin_plugin_v1_2_22_8_orange.zip sur votre PC
Transférer par FTP le contenu du dossier en respectant la structure des dossiers comme suit :
addons --> copier le contenu du répertoire dans css/cstike/
cfg --> copier le contenudu répertoire dans css/cstrike/cfg/
materials\decals\custom --> copier le répertoire dans css/cstrike/materials/decals/
sound --> copier le contenu du répertoire dans css/cstrike/sound/
Créer le fichier client.txt comme ci-dessous, puis l'envoyer par FTP dans css/cstrike/cfg/mani_admin_plugin/.
Fichier client.txt :
"clients.txt" // This key group lists all your client players "name" "MaTeam | GoodSpeedReseau" } } |
Remplacer MaTeam | GoodSpeedReseau par le nom de votre Joueur CSS
Remplacer STEAM_0:0:XXXXXXX par votre steamID
Si vous voulez donner les droits administrateur à plusieurs joueurs, copier le BLOC en VERT et coller le à la suite du premier. Puis changer les informations en rouge du deuxième BLOC pour le deuxième joueur et ainsi de suite.
Supprimer les fichiers DLL (ça ne sert a rien sous linux !) :
mani_admin_plugin.dll dans css/cstrike/addon/
mani_admin_plugin_mm.dll dans css/cstrike/addons/mani_admin_plugin/bin/
Dans l'archive que vous avez décompressée, supprimer le fichier existant css/cstrike/addons/mani_admin_plugin.vdf puis éxecuter le fichier css/cstrike/addons/CreateVDF.exe
une fenêtre s'ouvre :

sélectionner : Game Type --> cstrike
puis cliquez sur save VDF
Un fichier est créé : mani_admin_plugin.vdf, le transférer en FTP dans css/cstrike/addons/
Editez le fichier metaplugins.ini qui se trouve dans css/cstrike/addons/metamod
puis ajouter en fin de fichier la ligne suivante :
addons/mani_admin_plugin/bin/mani_admin_plugin_mm
Enregistrer.
Configuration du Mani Admin Plugin :
Ouvrer le fichier mani_server.cfg dans css/cstrike/cfg/ et configurer le serveur à votre guise !!
#nano css/cstrike/cfg/mani_server.cfg
Sauvegarder.
supprimer l'archive et son dossier :
#rm /home/jeux/steam/css/s_dust2/mani_admin_plugin_1_2vb.rar
#rm -R /home/jeux/steam/css/s_dust2/mani_admin_plugin_1_2vb
Nous allons voir l'installation de MATTIE EVENTSCRIPTS :
-< INSTALLATION >-
Télécharger eventscript_css_v2_1_1_370.rar
Décomprésser eventscript_css_v2_1_1_370 sur votre bureau.
A l'aide de votre ftp, transférer le contenue de l'archive en suivant la même structure de dossier que celle du serveur. (Ajouter les fichiers sans les remplacer ni les supprimer).
Effacer tous les fichiers .dll du dossier addons ils ne servent à rien sur un serveur LINUX.
Contenu :
- addons
- cfg
Puis dans /home/jeux/steam/css/s_officiel/css/cstrike/cfg/autoexec.cfg
#nano /home/jeux/steam/css/s_officiel/css/cstrike/cfg/autoexec.cfg
rajouter à la suite les lignes suivantes :
//config enventscripts
mattie_eventscripts 1 // 1 = activer eventscripts, 0 = désactiver
Enregistrer.
OPTION DU SERVEUR DISTANT.
Nous allons voir la mise en place d'un serveur distant :
Qu'est-ce qu'un serveur distant ?
- Un serveur distant sert à diminuer le temps de téléchargement des maps et sons lors d'une connexion au serveur CS:S par un client. C'est pourquoi il est fortement conseillé d'installer un serveur distant correspondant à son serveur de jeu CS:S. Pour cela il faut installer sur son serveur physique Apache2 et faire pointer celui-ci sur le dossier /home/html (dans le cas de GoodSpeedReseau.com).
-< PRÉPARATION POUR LE SERVEUR DISTANT >-
Dézippez le fichier bz2.rar puis copier le dossier bz2 contenant bzip2.exe dans C:\Documents and Settings\Nom_de_votre_utilisateur\ de votre PC.
Dans ce dossier bz2 coller les fichiers .nav et .bsp provenant des MAPs, les MP3 et wav provenant des sons et tout autre texture....
Pour compresser depuis windows en .bz2 COPIER les fichiers de la MAP dans
C:\Documents and Settings\Nom_de_votre_utilisateur\bz2\
La plus part du temps, vous n'aurez qu'un fichier ".bsp" et un fichier ".nav" par MAP.
Puis Démarrer, exécuter, tapez cmd puis une fenêtre prompt s'ouvre :
tapez cd bz2 puis
tapez bzip2 *.bsp puis
tapez bzip2 *.nav
Vous pouvez constater que vos fichiers ont changés de nom d'où l'intérêt de copier/coller et non couper/coller
vos fichiers dans le répertoire bz2.
Le dossier html doit être votre dossier racine web (apache2 doit pointer sur /home/html )
Pour envoyer des fichiers bz2 sur le serveur distant, respecter la structure des dossiers et ne compresser que les fichiers !!
Créer un dossier à la racine du serveur web de votre LAMP (/home/html/)et nommer le : cstrike
Dans le dossier /home/html/cstrike reproduire la même structure de dossier que sur le serveur de jeu :
Créer les dossiers : maps, materials, models et sound
ensuite modifier les fichiers du serveur de jeu CS:S :
- downloadlist.txt qui se trouve dans /css/cstrike/cfg/mani_admin_plugin/
Modifier comme suit :
"downloads.txt" { // The key can be any name you wish. // The value must be the location on your server of the file "downloads" "endofvote.mp3" "sound/admin_plugin/actions/endofvote.mp3" |
Il ne faut pas lui donner les extension .bz2 mais les extensions réelle des fichiers d'origine !!
même chose pour les sons.
ensuite il faut informer notre serveur de jeu d'un serveur distant en lui donnant l'adresse IP !!
Éditer le fichier : /css/cstrike/cfg/server.cfg
#nano /css/cstrike/cfg/server.cfg
Trouver le bloc :
//Gestion des téléchargements
sv_allowupload 1
sv_allowdownload 1
sv_downloadurl ""
Et modifier le comme suit :
//Gestion des téléchargements
sv_allowupload 1
sv_allowdownload 1
sv_downloadurl "http://89.XXX.XXX.107/cstrike"
Si vous avez installé Mani_Admin_Plugin, penser aussi à compresser en bz2 les fichiers des dossiers :
- /css/cstrike/materials/decals/custom/mani_admin_plugin/
- /css/cstrike/sound/admin_plugin/
et les transférer dans le serveur Distant en respectant la structure des dossiers et les signaler dans le download.txt.
Vous pouvez modifier les fichiers directement par l'interface de Webmin,
dans le menu choisissez Autres puis Gestionnaires de Fichiers.
puis démarrer votre serveur :
#/etc/init.d/s_officielstart
Connecter vous à votre compte STEAM puis dans SERVEURS, onglet FAVORIS cliquez sur AJOUTER UN SERVEUR
Saisir l'adresse IP : 192.168.167.52
puis cliquez sur AJOUTER CETTE ADRESSE AUX FAVORIS
Le nom de votre serveur apparaît dans la liste, double cliquez dessus
Cliquez sur JOINDRE,
Il ne reste plus qu'à binder une touche d'administration pour pouvoir vous servir du menu ManiAdmin !
Dans la console du jeu tapez : "bind" "a" "admin"
Maintenant en appuyant sur la touche A du clavier, le menu ManiAdmin apparait !
votre serveur OFFICIELest prêt.