Name : BETA-TESTERS
Project name : ZW3B-API-BETA-TESTERS
Authorized. - 200 - Client API Name and Origin Wildcard OK
Installer un serveur du Jeu Counter-Strike 1.6
Nous allons créer ensemble un serveur steam sous une distribution Linux.
Pour cela nous utiliserons le fichier hldsupdatetool.bin
qui nous permettra de récupérer tous les fichiers dont nous avons besoin.
Nous expliquerons ensuite l'installation de meta-mod et de l'amx ainsi que les règles de firewall en utilisant iptables.
Pour commencer vous devez créer un répertoire steam
dans /usr
:
Script avec 1 ligne
001mkdir /usr/steam
Puis on rentre dans ce nouveau dossier :
Script avec 1 ligne
001cd /usr/steam
Maintenant nous allons télécharger le fichier hldsupdatetool.bin
:
Script avec 1 ligne
001wget http://download.zw3b.net/games/counter-strike/bin/hldsupdatetool.bin
Une fois télécharger on va affecter les droits d'execution à ce fichier :
Script avec 1 ligne
001chmod +x ./hldsupdatetool.bin
Et décompacter le fichier pour récupérer le fichier steam
:
Script avec 1 ligne
001./hldsupdatetool.bin
Vous décompacte 1 fichier :
Script avec 1 ligne
001# steam
Maintenant que le fichier steam
est décompressé nous allons pouvoir installer le serveur.
Un endroit plus approprié serait judicieux pour notre installation : par exemple dans /home/steam/
Nous allons donc créer ce répertoire et y déplacer le fichier steam :
Script avec 1 ligne
001mkdir -p /home/steam/hl1 && mv ./steam /home/steam/hl1
On rentre dans ce nouveau dossier :
Script avec 1 ligne
001cd /home/steam/hl1
Enfin nous pouvons nous préparer à l'installation et mettre à jour la syntaxe du fichier steam
:
Script avec 1 ligne
001./steam update
Nous allons créer un compte steam (admin). Si vous avez déjà un compte admin, vous pouvez passer à l'étape suivante.
Script avec 1 ligne
001./steam -command create -username MON_LOG -email MON_EMAIL -password MON_MOT2PASSE -question "MA QUESTION A CAS DE PERTES !?" -answer "MA REPONSE" -remember_password
Nous allons maintenant pourvoir réellement installer le serveur HL 1 :
Script avec 1 ligne
001./steam -command update -dir ./ -username MON_LOG -password MON_MOT2PASSE -remember_password
Puis installer le serveur CS:1.6 :
Script avec 1 ligne
001./steam -command update -game "cstrike" -dir ./ -username MON_LOG -password MON_MOT2PASSE -remember_password -verify_all
A titre d'information, à la place de -game "cstrike"
on aurait pû mettre -game "dod"
etc... Pour savoir quels sont les jeux disponibles la commande ./steam -command list
vous renseignera.
Une fois tous les fichiers receptionnés vous pourez lancer votre serveur.. youpii !! ;o)
La commande basic est celle-ci :
Script avec 1 ligne
001./hlds_run -game cstrike +port 27015 +maxplayers 16 +map de_dust2
D'autres arguments existes :
+ip 1.2.3.4
+servercfgfile server-autre_config.cfg
+mapcyclefile mapcycle-autre_mapcycle.txt
-autoupdate
Si vous avez des erreurs et qu'il manque des repertoires et des fichiers :
Script avec 5 lignes
001mkdir valve/SAVE 002mkdir -p platform/SAVE 003touch ./cstrike/banned.cfg 004touch ./cstrike/listip.cfg 005touch ./cstrike/language.cfg
Vous vous appercevez que le serveur se lance impécablement mais qu'il reste dans votre fenêtre SSH actuelle (pas très pratique).
Arrêtons le : CTRL + c
Pour remèdiez à cela, nous allons créer une "console vituelle" grâce à screen
et la nommer cstrike :
Script avec 1 ligne
001screen -S cstrike
Nous sommes maintenant dans notre console virtuelle et pouvons donc relancer notre serveur :
Script avec 1 ligne
001./hlds_run -game cstrike +port 27015 +maxplayers 16 +map de_dust2
OKay c'est bien gentil mais c'est la même chose ! En fait pas tout à fait, il vous suffit de cliquer sur : CTRL + a puis d pour sortir de votre console virtuelle et surtout de pouvoir ensuite quitter votre fenêtre SSH sans que votre serveur CS ne soit coupé.
Pour revennir sur le serveur CS il vous suffit de connaîre la nomination de la console virtuelle.
Si vous l'avez oublié, tapez un :
Script avec 1 ligne
001ps ax
qui vous affichera une ligne comme :
Script avec 1 ligne
001screen -S cstrike
Donc pour lire ce screen nous tapperons :
Script avec 1 ligne
001screen -x cstrike
Pour sortir du screen (comme tout à l'heure) : CTRL + a puis d
Voilà je pense que vous avez saisis la manière d'installer votre serveur et de le lancer !
Nous allons télécharger PingBooster pour diminuer et stabiliser le ping du serveur :
Script avec 1 ligne
001wget http://download.zw3b.net/games/counter-strike/bin/HLDSPingBooster-1.0.tar.gz
Décompresser l'archive :
Script avec 1 ligne
001tar xzvf ./HLDSPingBooster-1.0.tar.gz
Vous décompresse 3 fichiers :
Script avec 3 lignes
001# booster.so 002# hlds_boost 003# README
Maintenant vous pouvez relancer votre serveur (revenez dans votre screen, arrêter le serveur CTRL + c et relancer le) :
Script avec 1 ligne
001./hlds_boost -game cstrike +port 27015 +maxplayers 16 +map de_dust2
Un bon p'tit serveur qui tourne bien :o)
N.B : Il existe à l'heure actuelle les versions MetaMod v1.17.4p21 && AMX v0.9.9b mais nous utiliserons dans cet article les versions officelles (MetaMod v1.17.1 && AMX v0.9.9).
Nous nous placons dans le répertoire cstrike :
Script avec 1 ligne
001cd cstrike/
Nous allons télécharger amx et meta-mod :
Script avec 1 ligne
001wget http://download.zw3b.net/games/counter-strike/modules/amx-0.9.9-steam.tar.tar
Dezipper l'archive :
Script avec 1 ligne
001tar xjvf amx-0.9.9-steam.tar.tar
Cela vous crée le répertoire addons/
avec dedant 2 autres dossiers :
Script avec 2 lignes
001# meta-mod 002# amx
Implanter Meta-Mod au serveur CS.
Pour cela vous devez éditer le fichier liblist.gam
:
Script avec 1 ligne
001vi liblist.gam
et modifier la ligne gamedll_linux
par :
Script avec 1 ligne
001gamedll_linux "addons/metamod/dlls/metamod_i386.so"
Implanter AMX au module Meta-Mod.
Le fichier sample_plugins.ini est la configuration basic, copions le en un fichier nomé plugins.ini
:
Script avec 1 ligne
001cp addons/metamod/sample_plugins.ini addons/metamod/plugins.ini
Voilà le serveur est prêt à être redémaré, mais avant, histoire de résoudre le bug du @@mapchooser.amx@@ voici le fichier !
Script avec 2 lignes
001cd addons/amx/plugins 002wget http://download.zw3b.net/games/counter-strike/plugins/mapchooser.amx
Le changement de map en fin de partie est maintenant opérationnel !
Bon frags !! GO GO GO !! Good Game ^^
Toutes ces variables sont prisent en compte à chaque changement de map (pas besoin de reboot votre serveur).
Tout dabors nous allons parler rapidement du fichier :
./cstrike/addons/amx/config/amx.cfg
La ligne amx_show_activity
vous permet d'afficher sur le serveur l'activité des commandes effectuées par les admins.
On peut :
amx_show_activity 0
amx_show_activity 1
amx_show_activity 2
Ensuite la variable amx_reservation
permet de déclarer qu'un ou plusieurs slots soient reservé pour un habitué ou un admin. Dans ce cas vous aurez un slot de perdu si aucun admin n'est présent.
ex :
Script avec 1 ligne
001amx_reservation 1
La variable amx_extendmap_max
permet aux joueurs lors des votes de fin de map d'augmenter la carte jusqu'à la valeur précisée ici.
ex :
Script avec 1 ligne
001amx_extendmap_max 90
Voila, c'est très rapide, mais cela vous permettra de vous jeter dedant.
Vous pouvez remarquer que si une carte est prolongée jusqu'à 90mn, les cartes suivantes auront elles aussi un mp_timelimit
de 90mn.
Pour remédier à cela, AMX propose de faire un fichier de configuration personnalisé à chaque map.
Ils se trouvent dans le dossier : ./cstrike/addons/amx/config/maps/
Imaginons que nous avons 3 maps sur notre serveur (donc dans le dossier ./cstrike/maps/
).
Script avec 3 lignes
001# de_dust2 002# aim_ak-colt 003# scoutzknivez
Dust2, map favorite monte souvent au maximum de temps autorisé soit 90mn, et donc c'est ici qu'intervient les fichiers de configuration personnalisés.%%% Nous allons mettre dans ceux-ci des variables qui seront prises en compte dès le chargement des maps.
Créons maintenant un fichier de configuration pour la map aim_ak-colt :
./cstrike/addons/amx/config/maps/aim_ak-colt.cfg
Script avec 3 lignes
001mp_timelimit 20 002mp_freezetime 0 003sv_alltalk 1
Créons maintenant un fichier de configuration pour la map scoutzknivez :
./cstrike/addons/amx/config/maps/scoutzknivez.cfg
Script avec 4 lignes
001mp_timelimit 30 002mp_freezetime 0 003sv_alltalk 1 004sv_gravity 220
Créons maintenant un fichier de configuration pour la map de_dust2 :
./cstrike/addons/amx/config/maps/de_dust2.cfg
Script avec 3 lignes
001mp_timelimit 120 002mp_freezetime 3 003sv_alltalk 0
Voilà comme vous pouvez le remarquer pour les AIM nous préférons avoir le ALLTALK et surtout ne pas avoir de FREEZE au démarage des rounds. De plus pour la raison expliquée ci-dessus nous redéclarons le temps de la map.
Il suffit simplement de l'ajouter dans le dossier :
./cstrike/addons/amx/plugins/
et d'ajouter son nom exact dans le fichier des plugins :
./cstrike/addons/amx/config/plugins.ini
Pour rajouter des plugins dont voici les détails :
Plugins pouvant être activé et désactiver par les commandes admin dans PAUSE DES PLUGINS
anti-camping.amxx
awplimit.amxx
head_shot_locational_announcer.amxx
awp_map_control.amxx
amx_realmod.amxx
plugin_gore.amxx
war_weapon_tracers.amxx
advanced_tracers.amxx
team_advantage.amxx
killerbeam.amxx
enter-leave_message.amxx
cluster_grenade.amxx
amx_adminmodel.amxx
automatic_knife_duel.amxx
Pour que ces plugins fonctionne il faut qu ils soient activer dans pause des plugins et taper la commande du plugins > dans la console
adminchat.amx
)Parler qu'aux Admins :
Script avec 1 ligne
001amx_chat votre phrase
Parler à tous les joueurs :
amx_say votre phraseParler à un joueur en privé :
Script avec 2 lignes
001listplayers 002 amx_psay#ID_DU JOU€ votre phrase
ou :
Script avec 1 ligne
001amx_psay le_pseudo_du_joueur votre phrase
PS : les 3 premieres lettres du le_pseudo_du_joueur
comptent...
adminvote.amxx
)Script avec 1 ligne
001amx_vote "votre vote" "réponse OUI" "réponse NON"
Les " sont importants si vous avez besoin d'une espace
Si vous voulez faire un vote par exemple d'une commande serveur vous pouvez aussi :
Par exemple faire un vote pour activer ou non le Alltalk.
Script avec 1 ligne
001amx_vote sv_alltalk 1 0
psrank.amxx
)Remplace l affichage des stats d origine par celles de [Psychostats|http://stats.clan-zarka.com/ |Psychostats Clan-ZarKa]
Script avec 5 lignes
001say /stats 002say /rank 003say /top10 004say /top15 005say /search <nom du joueur>
hsonly_mod.amxx
)Pour l'activer :
Script avec 1 ligne
001amx_hsmode_on
Pour le désactiver :
Script avec 1 ligne
001amx_hsmode_off
admin_rocket.amxx
)Script avec 1 ligne
001amx_rocket nom du joueur
cluster_grenade.amxx
)Script avec 1 ligne
001amx_cluster_grenade_enable 1/0 = ON/OFF
amx_swapteams.amxx
)Pour inverser les équipes taper dans la console :
Script avec 1 ligne
001amx_swapteams
ps.amxx
(il faut l'intsaller (DB MySQL)vous permet de vous creer un compte sur psychostats afin de vous enregistrer et de vous identifier pour acceder a votre compte.
Pour les visiteurs :
Script avec 1 ligne
001ps_username <password> <new username>
Pour les admins :
Script avec 1 ligne
001ps_admin <admin password>
amx_gasnades.amxx
).Script avec 6 lignes
001amx_gasnades 1/0 = ON / OFF 002amx_gasobeyFF = Choisir si le Gaz attaque les gens de la team ou pas (def=1) 003amx_gasdmg = Dommage causé (def=10) 004amx_gascheck = dommage toutes les X secondes (def=3) 005amx_smokegasp = Gasping sounds when in the gas (def=1) 006amx_gasradius = Radius de dommage de la grenade (0 pas de dommage) (def=200)
Si vous avez besoin d'aide n'oublier pas !!!!
Ouvrez votre console et taper amx_help
Voici quelques variables a changer pour ameliorer votre qualite de jeu :
Vous pouvez les modifier soit en les tapants dans la console ( tels qu'lls sont donnes ici - il faut ajouter -console
au options de lancement de couter-strike) lors d'une partie, ou bien en ouvrant le fichier config.cfg
dans le dossier cstrike (il faudra alors ajouter des " " autour de la valeur ex: fps_max "101" )
fps_max 101
: permet d'avoir un fps a 100 (ne s'ignifie pas forcement que vous l'aurez)
rate 25000
: pour connexion internet haut debit (1024 ko et plus)
cl_rate 9999
: pour connexion internet haut debit (1024 ko et plus)
cl_cmdrate 101
:pour connexion internet haut debit (1024 ko et plus)
cl_updaterate 101
: pour connexion internet haut debit ( 1024 ko et plus)
cl_interp_ratio 2
: pour baisser les millisecondes (par rapport au rafraichisseement de votre écran)cl_interp 0.02
: pour baisser les millisecondes (par rapport au rafraichisseement de votre écran)cl_dynamiccrosshair 0
: votre viseur ne s'agrandit pas quand vous courrez, mais grandi tout de même quand vous tirez ( ne s'ignifie pas que vous êtes plus précis cependant )
cl_crosshair_color 250 50 50
(viseur rouge vif, ne se fond pas dans les décors)
net_graph 3
: vous donne divers informations (notamment les fps )
max_shells 0
: annules les cartouches de balles (augmente votre fps)
max_smokepuffs 0
: cache les flammes de votre arme (améliore votre fps)
Pour les variables de la connexion internet, n'hésitez pas à jouer avec ces valeurs - Si çà vous convient et surtout que le jeu est plus fluide - super, c'est normal ;)
Pour garder active, vos variables configurées :
En effet si vous ne faites pas la manipulation suivante, certaines variables retourneront a leurs valeurs d'origine. Pour les garder comme elle doivent être faites les étapes ci dessous
Lors du changement de la variable, faite la directement dans votre fichier config, et non par la console de cs.
Une fois toutes les variables changées, faites click droit sur votre fichier config.cfg
, puis propriétés et cochez la case "lecture seulement" ou "read only" pour les anglophone ici.
Ceci evitera que lors d'une partie de cs les valeurs reviennent a leurs origines (surtout si vous ouvrez la fenetre option) ou qu'un admin change une de vos variables ou binds et ke vous vous tapiez ensuite toute la demarche pour les remettre comme vous le desirez.
J'ai (Kss*) un bind que j'apprécie qui me permet d'appuyer une fois sur une touche pour activer le microphone - puis en ré-appuyant une autre fois çà coupe le microphone (cela permet de ne pas occuper un de mes doigt pour pouvoir communiquer ;) ^^)
Il faut faire cela :
Script avec 4 lignes
001alias microphone microphone1 002alias microphone1 "+voicerecord; alias microphone microphone2" 003alias microphone2 "-voicerecord; alias microphone microphone1" 004bind "MOUSE3" "microphone"