[ARTICLE EN COURS D’ECRITURE]
J’y viens donc !! 😀
Après avoir relaté d’un article sur la fin des tickrates 100 sous CSS depuis cette méga maj OrangeBox (ici), je vous propose dorénavant ni plus ni moins que la recette (magique ?) pour retrouver un serveur Tick 100 (ou plus) sur Counter Strike Source 😉
Suivez le guide, c’est par ici que ça ce passe !! :p
Le pré-requis ultime ! Le détail éliminatoire pour 90% d’entre vous !
Voilà, le ton est donné, vous êtes donc ici pour savoir comment avoir un serveur tickrate 100 sous Counter Strike Source (d’ailleurs méthode fonctionnelle aussi pour Team Fortress 2 en théorie), bien que la manip ne soit pas compliquée, il faut savoir qu’il y à un seul pré-requis qui écartera pas mal d’entre vous !
KICKED !! ><
En effet, out les possesseurs de serveurs mutualisés sans accès à l’exécutable serveur, ou tout simplement out tout les serveurs loués par les offres des GSP classique (Verygames, redLine et consort) !
Enfin, pour le moment, car techniquement ce ne leur est pas impossible d’inclure dans une offre nouvelle ce genre de choses, mais leur politique ne semble pas prendre cette direction pour différentes raisons logique de leur point de vue …
Effectivement il vous faut en général un serveur dédié entièrement sous contrôle, soit par location d’une machine dédiée que vous contrôlez pleinement (Dédibox, OVH, 1&1 et autres) ou bien sur un serveur lancé localement sur votre pc ou bien sur un pc secondaire à votre domicile, et ceci car il vous faut avoir directement accès aux options de lancement du serveur source (srcds).
Pour le reste c’est du gateau, voici un petit tuto 🙂
Si vous n’êtes po éliminé par ce détail d’importance et kicked tel un pitbull fighté par un cat, c’est partie pour le tutorial 😉
1- Réadapter (comme par le passé) la ligne de commande du serveur avec la commande -tickrate
En effet, tel qu’indiqué, il s’agit de remettre la commande -tickrate et de la renseigner dans les options de lancement de votre serveur Counter Strike Source
exemple :
./srcds -game cstrike -console -tickrate 100 +maxplayers 13 +map de_dust2 -ip 94.23.219.76 -port 27027 –autoupdate
2- Installer le plugin Tickrate enabler
Ensuite c’est plus simple ^^, c’est la partie la plus classique à la modification d’un serveur CSS.
Il vous suffit de pouvoir installer le plugin magique qui rétablit l’option “cachée” par Valve lors de cette maj, le dénommé Tickrate enabler !
Voici donc le lien vers le plugin Saint Graal =>
http://css.wolwx.net/downloads/server/Tickrate_Enabler_0.1.rar
Ou voici le lien vers le site officiel du plugin =>
http://didrole.com/tickrate_enabler/
Pour ce qui est de son installation, c’est minimaliste, il suffit de placer les fichiers dans le dossiers “cstrike/addons” de votre serveur CSS. Aucun autre fichier n’est nécessaire, ni même pour une configuration liée au plugin, par contre il faudra vous reporter à l’étape suivante pour la config serveur à adapter (les cfg).
PS : Il est bon à savoir que ce plugin est un stand alone, il fonctionne sans nécessiter l’installation d’un plugin parent tel que Mattie’s Event Script ou d’un SourceMod.
Pour vérifier si son installation est ok, passer par la commande rcon permettant d’afficher les plugins actif sur votre serveur (par HSLW par exemple) “plugin_print“
A ce stade donc, le serveur devrait bien tourner en tickrate 100 🙂
3- Adaptation de la config serveur
Très important, il faut absolument passer par la cfg afin d’indiquer au serveur les réglages à prendre en compte pour exploiter au mieux ce haut taux de calcul (tick rate).
Je vous glisse ici ma cfg type (à indiquer dans votre autoexec.cfg ou bien server.cfg), incluant toutes les CVARS adaptées à un tickrate 100 =>
//################################################
//# n1-SerVerS powered by WolwX.net #
//# Config n1-War-Nue #
//################################################
// autoexec.cfg powered & tweaked by WolwX
say -
echo " "
echo " n1-SerVerS | autoexec.cfg Loading... "
echo " n1-SerVerS | last update 21/08/10"
say "n1-SerVerS | autoexec.cfg Loading..."
say "n1-SerVerS | last update 21/08/10"
echo " "
say -
//#############################
//# Réglages sv_pure
//# based on http://developer.valvesoftware.com/wiki/Sv_pure
//#############################
sv_pure "1"
sv_pure_kick_client "0"
sv_pure_trace "1"
echo " n1-SerVerS | sv_pure settings loaded... "
say "n1-SerVerS | sv_pure settings loaded..."
//#############################
//# Net Settings Tickrate 100
//# based on http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
//#############################
sv_maxrate "0"
sv_minrate "50000"
sv_maxupdaterate "101"
sv_minupdaterate "100"
sv_maxcmdrate "101"
sv_mincmdrate "100"
sv_client_min_interp_ratio "0"
sv_client_max_interp_ratio "0"
sv_client_cmdrate_difference "1"
sv_client_predict 1
sv_client_interpolate 1
echo " n1-SerVerS | Net settings Tickrate 100 loaded... "
say "n1-SerVerS | Net settings Tickrate 100 loaded..."
say -
echo " "
echo " n1-SerVerS | autoexec.cfg Successfully Loaded"
say "n1-SerVerS | autoexec.cfg Successfully Loaded"
echo " n1-SerVerS | last update 21/08/10"
say "n1-SerVerS | last update 21/08/10"
echo " "
say -
//################################################
//# #
//# Config Powered #
//# #
//# () () #
//# (>.<) #
//# (")_(") #
//# #
//# By WolwX #
//# #
//# for more informations #
//# add "nt_wolwx" to your steam friends #
//# #
//################################################
Ou pour les plus flemmards, le fichier autoexec.cfg à installer directement sur votre serveur à l’emplacement suivant “cstrike/addons/cfg/“
clic droit “enregistrer la cible sous …“
4- Adaptation du client (des joueurs)
Pour conclure il vous faut régler votre client afin de profiter pleinement des réglages du tickrate 100.
Pour ce faire, voici les CVARS importantes, celles là même que j’utilise personnellement, avec une petite explication des CVARS à comprendre au passage :
//################################################
//# n1-SerVerS powered by WolwX.net #
//# Config Client Tick100 #
//################################################
// tick100.cfg powered & tweaked by WolwX
echo " "
echo " n1-SerVerS | tick100.cfg Loading... "
echo " n1-SerVerS | last update 30/08/10"
echo " "
//#############################
//# Netgraph
//# voir http://developer.valvesoftware.com/wiki/TF2_Network_Graph
//#############################
// Reglage du netgraph, indicateur de ping et de fps
net_graph "1" // 0 pour désactiver
net_graphheight "0" // position par rapport au bas de l'écran, valeur en pixel
net_graphpos "500" // position par rapport a la gauche de l'écran, valeur en pixel
//#############################
//# Netcode settings Tickrate 100
//# voir http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
//#############################
// Nombre d'images maximum à afficher par seconde.
// On bloque à une valeur à peine supérieur au tickrate du serveur de manière a ne pas solliciter le cpu et le gpu a plus de calcul.
// A savoir qu'en dessous de 40 -30 fps vous aurez une sensation de lag visuel.
fps_max "110"
// Taux de rafraichissement des informations à calculer et à transmettre au serveur. En octets par seconde.
// Vous pouvez aisément monter à la limite max du moteur source à savoir 1048576 octets par seconde.
// Ce réglage fera que votre connexion au serveur de jeux "coutera" 1 mo/s sur votre bande passante descendante soit une connexion de 8 MBit/s.
// Au vue des connections net actuelle ça devrait être bon pour beaucoup de monde. Au pire pour 1 MBit/s il faut ce mettre à 131072.
rate "1048576"
// cl_cmdrate et cl_updaterate sont couplées et à adapter au tickrate du serveur. Valeur en kbit/s
// Nombre de calcul par seconde que le client va accepter de la part du serveur.
// A savoir, vous ne pouvez pas recevoir plus d'informations que de nombre de tickrate du serveur
cl_cmdrate "101" // Important, il semblerait que le cl_cmdrate ne puisse dépasser 100.0000 depuis maj orangebox :(
// Nombre de calcul par seconde que le client va envoyer au serveur.
// A savoir, vous ne pouvez pas transmettre plus d'information que de nombre de FPS affichés
cl_updaterate "101"
// Interpolation - Réglage permettant de corriger les éventuels décalage entre hitboxes et positions réelles.
cl_interp "0.01"
cl_interp_ratio "1"
// Smoothing - Réglage permettant d'autoriser la correction d'informations erronées tirs et déplacements (rare) par le serveur.
cl_smooth "1"
cl_smoothtime "0.01"
// Réglage permettant d'appliquer une correction sur les pings concernant les tirs d'arme.
cl_lagcompensation "1"
// Réglage permettant d'autoriser la correction par le serveur de paquets défectueux tel que chokes ou loss.
cl_lagcomp_errorcheck "1"
// Predictweapons - Permet de gérer le son des évènements en fonction des informations client(1) ou serveur(0).
cl_predictweapons "1"
echo " "
echo " n1-SerVerS | tick100.cfg Successfully Loaded"
echo " n1-SerVerS | last update 30/08/10"
echo " "
Ou là aussi toujours pour les plus flémards, le fichier tick100.cfg à installer directement sur votre client CSS et à utiliser en bind ou en exec console lorsque vous jouer sur un serveur tickrate 100
Pour le bind, voici la commande à renseigner dans la console :
bind “tatouche” “exec tick100.cfg”
et pour retourner en réglage par défaut soit en config tick66 :
bind “tatouche2” “exec tick66.cfg”
Dès lors, lorsque vous utiliserez “tatouche” vous passerez en réglage tickrate 100 et “tatouche2” vous rerégleras en tickrate 66
L’indispensable indicateur netgraph pour confirmer le tout
Effectivement, on ne peux pas parler de tickrate 100, sans passer par le netgraph pour vérifier ingame !
Sans rentrer dans les détails (je ferais probablement un article concernant le netgraph), voici les choses importante à confirmer sous le netgraph pour valider le fonctionnement d’un serveur en tick 100.
Explications, les indicateurs entourés de rouge sur l’image sont ceux à prendre en compte, et tel que vous le voyez, c’est principalement eux qui change entre un serveur tick 66 et un tick 100.
De manière général, vous devez comprendre que lorsque vous êtes sur un tickrate X, ces chiffres doivent être au minimum à X 🙂
Des choses à garder en tête
Pour conclure je vais me permettre de rappeler quelques informations importantes.
Le serveur source, même après la maj OrangeBox, reste le même que par le passé, par conséquent il est toujours apte à calculer 100 tick comme 66 ou 33 (les 3 réglages possibles avant la maj OrangeBox).
L’exécutable serveur (srcds) ainsi que les 3/4 de ces composants n’ont pas changé, cependant ils ont subit une grosse mise à jour.
Le plugin présenté dans cet article (TickRate Enabler) n’est donc pas une solution modifiant le netcode (les régles propre au serveur) mais permettant tout simplement de réactiver l’option “cachée” par Valve lors de cette maj et permettant de spécifier le tickrate à employer par l’application serveur.
A noter que ce plugin existait avant même la maj OrangeBox pour CSS, car il était déjà employé pour les serveurs Team Fortress 2 qui sont eux bloqué en tickrate 66 depuis le début car en “évolution moteur” OrangeBox depuis sa sortie.
Il n’à donc pas été codé à la va vite suite à la maj ou pour CSS, n’est pas en phase beta, et ne semble pas être problématique pour une quelconque raison pouvant lui être imputer directement, sûrement car, encore une fois, il permet simplement l’utilisation d’une option native de l’exécutable serveur (srcds).
Le passage à un tickrate 100 d’un serveur CSS après cette mise à jour OrangeBox, pourrais provoquer des effets secondaires indésirables (je parle pas des boutons que vous avez à cause de la nouvelle interface ou des frags que vous sembler prendre plus qu’avant ><‘ ) léger et classique, mais rien de gros et c’est important à noter !
Il est important de comprendre que la maj à apportée son lot de réglages sensés transposer ce qu’était certaines règles d’un serveur tick100 avant maj vers le standard tick66 d’après maj. C’est ainsi avec la vitesse de tir des armes à donc était updatée il y à peu.
Il serait donc tout à fait possible que ce passage tickrate 100 résulte à plus de balles tirées à la seconde sur un tickrate 100 que sur un tickrate 66 (en théorie, reste à confirmer).
Le jeux semble plus rapide en tickrate 100, c’est un ressenti qu’on pas mal de joueurs, et qui peut être confirmer par la théorie citée juste au dessus, ou le bug RC1 zBlock anti-speedhack.
Petit effet secondaire observé, les portes peuvent poser problème comme par le passé en tickrate 100 (sur de_nuke par exemple).
L’utilisation du plugin zBlock bloque partiellement le fonctionnement du plugin tickrate 100 car le zBlock empêche l’adaptation des CVARS clients et serveurs en les forçant pour un tickrate 66 (réglages de la partie 3 et 4 dans le tutorial d’installation plus haut).
Dans sa version précédente, la RC1, le zBlock kickait automatiquement tout les joueurs du serveur avec sa fonction anti-speedhack, là aussi une preuve permettant de penser que le jeux serait plus rapide en tickrate 100.
Quoi qu’il en soit, ce changement de réglages ne doit pas provoquer d’instabilité avec votre serveur, et que vous le passiez en tickrate 33, 66 ou 100, seul les sensations de “toucher” et de “vitesse” du jeux devrait être altérées.
Enfin, vous devez prendre conscience que la charge processeur et les ressources consommées par le serveur CSS en tickrate 100 seront bien supérieur à la version tickrate 66 !
Puis n’hesiter pas à jeter un oeil sur l’article que j’avais écris il y à presque un mois à ce sujet =>
ARTICLE : MAJ Orangebox et fin des tickrate 100 sous Counter Strike Source ?
Besoin d’un serveur tickrate 100 pour test et à un prix raisonnable ?
A ma connaissance, et à ce jour, pas de GSP vous proposant des serveur tickrate 100 en location.
Cependant si certains d’entre vous sont intéressé, et dans une optique de test stable, je peux fournir des serveurs préréglés avec arrangement.
Je pourrais proposer un serveur tickrate 100 préréglés avec les plugins adéquats et nécessaires au besoin que vous aurez (war ou ffa haute qualité).
Le but premier n’étant pas commercial, je le propose pour une petite échelle et car j’ai eu des requêtes en ce sens.
A ce sujet vous pouvez me contacter par steam => nt_wolwx
Sachant que la page dédiée au serveur en location est ici => http://css.wolwx.net
Sources et Crédits :
Merci à Didrole pour son Tickrate Enabler 😉