* Bien régler son jeu *
Un certain nombre de paramètres sont à prendre en compte pour jouer dans de bonnes conditions à Counter-Strike Source. Tout d'abord, il faut avoir une machine bien configurée, puis une connection internet bien réglée, et ensuite, une configuration qui vous convient.


Software configuration .

- Assurez vous de posséder les derniers drivers disponibles pour votre carte mère ainsi que votre carte graphique, et dans certains cas, pour votre processeur. Reportez vous directement sur le site de fabricant pour trouver les derniers drivers officiels. Pour les drivers moddés, c'est sur le site des drivers que ca se passe. Faites aussi une désinstallation / Réinstallation propre.
-
Vous devez aussi posséder la dernière version de DirectX. A ce jour, il s'agit de la version DirectX 9.0 c Maj 08/2006. Disponible ici. icon_arrow.gif DirectX 9.0c 08/2006 (52 Mo)
-
Vérifiez que vos fichier CSS ne sont pas corrompus en lançant cette commande dans votre navigateur internet: steam://validate/240
-
Pour une meilleur optimisation, steam propose aussi une défragmentation des fichiers du jeu. Pour la lancer, copier cette commande dans votre navigateur internet: s team://defrag/240
-
En fonction de votre quantité de ram, vous pouvez autoriser le jeu à utiliser plus de mémoire vive que celle allouée par défaut (voir comment faire ci dessous). Il est en général recommandé d'allouer la moitié de votre ram au jeu. Mais ceci depend encore de la quantité que vous avez.

Pour les ordinateurs possédant 512 Mo de ram, la quantité par defaut utilisée etant déjà de 256 Mo, il est théoriquement inutile d'y toucher, mais parfois, on peut constater de meilleures performances lorsque celui ci est réglé sur 512 Mo ( à ce moment la, c'est windows qui gère seul ce qu'il doit prendre pour tourner correctement avec le jeu de lancé).
Pour les ordinateurs possédant 1024 Mo de ram, il est donc conseillé de mettre 512 Mo pour HL2.exe
Le processus ne dépasse que très rarement ce seuil, voir jamais, vous pouvez tout de meme allouer 1024 Mo pour le processus, mais les différences ne se feront théoriquement pas ressentir. Au dessus de 1024 Mo de ram, vous pouvez laisser sur 512 ou 1024, au choix.
Pour paramétrer la quantité de ram à utiliser, vous devez entrer dans les propriétés de lancement du jeu (clic droit sur le jeu, puis propriété). Dans l'onglet "Général", cliquer sur "définir les options de lancement". Une ligne apparaît alors pour entrer les commandes. Celle du screenshot permet de lancer la console au lancement, et de régler le heapsize sur 1024 Mo.



 Réduction à 54% de la taille originale [ 936 x 552 ]

La commande -heapsize permet donc de définir cette quantité de ram. -heapsize 1048576 permet d'allouer 1048576 octets, ce qui correspond à 1024 Mo. Pour trouver la valeur, il suffit simplement de multiplier la quantité souhaitée par 1024 (1024*1024 => 1048576). Pour allour 512 Mo, 512*1024 = 524288. La commande pour allouer 512 Mo sera donc -heapsize 524288.


- Les options graphiques vous permettent d'augmenter vos FPS pour jouer avec une meilleur fluidité. Si votre machine ne suit pas, il est recommandé de baisser la qualité graphique pour augmenter votre fluidité. /!\ Il ne faut pas se limiter à 24 FPS comme une TV pour avoir une sensation de fluidité. Pour plus d'information techniques (ou biologique transpi.gif ) à ce sujet vous pouvez aller lire l'article icon_arrow.gif Framerate & FPS, vous comprendrez pourquoi il faut beaucoup plus de FPS qu'au cinéma pour être à l'aise. De plus vous devez tenir compte des baisses de FPS lors de multiples combats. Par exemple, si vous avez 24 fps en vous baladant dans la map, il est sur et certain que vous tomberez bien bas lorsque vous verrez à l'écran 2-3 joueurs en train de se tirer dessus, le tout mélangé avec quelques explosions de grenades, que vous tomberez sous la barre des 10 FPS, et la, c'est quasiment injouable. Pour ne pas ressentir de baisse de FPS et avoir une bonne impression de fluidité, il est conseillé d'en avoir environ 60 minimum en temps normal (c'est à dire en se baladant sur la map).
/!\
Pour des conditions optimales, le 100 FPS est recommandé. Il n'est pas question ici de savoir si l'oeuil distinguera la différence entre 100 FPS ou 60 FPS, mais il est question de netcode (décrit plus bas dans les configurations internet). En effet, il faut savoir qu'un des défaut majeur du moteur est d'être limité en cmdrate par les FPS. On verra plus loin l'utilité du cmdrate, et pourquoi il est préférable de l'avoir a 100. Ce qui implique de pouvoir se rapprocher le plus possible des 100 FPS pour des condition OPTIMALES de jeux. Bien évidemment, un FPS a 66 avec un cmdrate de 66 n'est pas énormément pénalisant.

-
Plusieurs commandes sont disponibles en plus des options graphiques. Vous pouvez les écrire dans un fichier nommé autoexec.cfg (pour le créer, voir la partie "configuration / commandes" ) Voici une listedes principales mais il en existe beaucoup d'autres influant plus ou moins sur la qualité / les fps. (a updater)


Les commandes principales influant sur la qualité graphique sont:
CITATION
cl_phys_props_enable 0 // Désactive les petit objets qui ne dérangent pas les déplacement. (petite boites, briques ...)
cl_ragdoll_physics_enable 0 // (Efface les corp des perso mort. Pas de corp par terre)
cl_ragdoll_collide 0 // (Pas de gestion de collision entre les corps)
cl_show_splashes 0 //(pas d'effet d'éclabousures quand on tire dans l'eau)
fog_enable 0 //(désactive le brouillard)
fog_enable_water_fog 0 //(désactive le brouillard au dessus de l'eau)
mat_antialias 0 //(désactive l'anti aliasing)
mat_bumpmap 0 //(désactive le bumpmapping)
mp_decals 8 //(n'affiche que 8 tag perso des joueurs)
r_decals 10 //(affiche que 10 decals du jeu en même temps. 1 decal = 1 impact de balle, une tache de sang ...)
mat_fastspecular 0 //(désactive le fast spécular lighting. La plupart des reflet devienne inactifs. Ex: sniper scope)
mat_specular 0 //désactive le specular lighting
r_dynamic 0 // désactive les lumière dynamique
mat_forceaniso 0 //(désactive le filtrage aniso)
mat_forcemanagedtextureintohardware 1 //(je sais pas trop, mais il parait que ca aide un peu les vielles config biggerGrin.gif )
mat_hdr_enabled 0 //(Désative la gestion du HDR)
mat_picmip 2 //(Texture peu détaillées)
mat_trilinear 0 //(désactive le filtrage trilinéaire)
r_rootlod 2 //(Qualité des models généraux pas très élevés)
r_rainradius 0 //(désactive la pluie)
r_shadows 0 //(désactive les ombres. Peu reommandé car elles sont utiles sur source)
r_waterforceexpensive 0 //(Une Optimisation de l'affichage de l'eau, mais je sais pas trop quoi)
r_3dsky 0 //(Désactive les texture 2D autour de la map. Ex les buildings qui font croire a un centre-ville)
rope_smooth 0 //(désactive l'anti aliasing des cables)
rope_wind_dist 0 //(désactive l'effet de vent qui fait bouger les cables)
r_worldlights 1 //(Une seule source de lumière)
r_modellodscale 0.6 //(abaisse la qualité des personnages avec la distance plus vous êtes loins, plus la qualité du perso baisse).

Si vous êtes patients, la Version 2 du CSS HUD TWEAKER (voir la section customize) devrait intégrer la possibilité de modifier ça beaucoup plus simplement et de manière plus complète.

- Vous pouvez aussi forcer votre carte graphique à utiliser un DirectX inférieur à celui qu'elle peut gérer. Par exemple, si votre carte a du mal a gérer le directX 9, telle une 9600 par exemple. Vous pouvez la forcer à utiliser un directX 8.1 ou 8.0, voir même un directX 7 au détriment de la qualité graphique biensur. Pour cela, il suffit d'ajouter un ligne dans l'autoexec, comme les commandes si dessus.
Pour forcer en directX 9 => mat_dxlevel 90 (95 pour les dernières nvidia en directX 9.0c)
Pour forcer en directX 8.1 => mat_dxlevel 81
Pour forcer en directX 8.0 => mat_dxlevel 80
Pour forcer en directX 7 => mat_dxlevel 70
Pensez aussi à réduire la résolution de jeu si votre machine est difficulté.
- La commande fps_max 101 permet d'avoir une bonne fluidité sans ressentir de ralentissements. En passant d'une scène peu chargée a une scène très chargées, vous sentez une légère baisse de FPS en passant de 250 a 90 par exemple. Ce qui peut être genant. Par contre si vous passez de 100 a 90, le ralentissement est beaucoup moins perceptible.
De plus, si l'on ne tien pas comptes des variations de FPS, Il est inutile de monter plus haut que la fréquence de rafraîchissement de votre écran, vous ne verrez pas plus d'images par seconde que ce que peux vous afficher votre ecran, par contre, si la fréquence de rafraîchissement de votre écran est inférieure à 100 Htz, vous devez tout de même laisser une valeur minimum de 100 pour ne pas que vos FPS brident votre cmdrate comme il est précisé plus haut. Par exemple si vous avez un ecran lcd a 60 Htz. Il faut désactiver la synchro verticale et avoir un fps_max > 100 pour ne pas limiter le cl_cmdrate a 60.



- La console permet d'effectuer plusieurs réglages sur le jeu qui ne sont pas accessibles par les options. Vous pouvez l'obtenir au lancement du jeu en ajoutant -console dans les options de lancement, comme sur le screen de la partie décrivant le heapsize. Par contre vous risquez de la perdre en pleine partie si vous la fermez, et ce, sans pouvoir la récupérer. Pour ca, on va pouvoir rentrer ces lignes dans l'autoexec.cfg
CITATION

con_enable 1
bind "'" "toggleconsole"


Ca va vous permettre d'avoir la console en plein jeu en appuyant sur la touche ² et de pouvoir la réouvrir même après l'avoir fermée.






Network configuration.

- Un bon serveur est un serveur configuré en tickrate 100. C'est à dire qu'il prend 100 phases de jeu par secondes, et ceci a une influence énorme sur la qualité de jeu. Un serveur qui a un tickrate 33 est un serveur qui « ne touche pas » comme ont dit car le nombre d'informations par secondes est trop bas. Ca influe sur les impacts de balles et les déplacement des joueurs. Pour mieux comprendre ce phénomène, vous pouvez lire l'excellent article sur le netcode source traduit en français: icon_arrow.gif Le moteur Source : une analyse du Netcode

Il n'est pas nécessaire d'avoir des connaissances avancées pour comprendre cet article.

- Coté client
- Ce qui nous intéresse ici, c'est d'être synchro avec le serveur pour avoir un maximum de tick (shéma du jeu) par secondes, et donc une meilleur qualité de jeu. La majeur partie des serveurs étant en tickrate 100, et la majorité des joueurs possédant une connection haut débit, on peut partir des meilleurs valeurs. Ces valeurs peuvent être entrée dans l'autoexec.cfg (voir la partie configuration pour créer le fichier).

On va donc simplement entrer ces valeurs.
cl_cmdrate 100 (on envoie vos actions, ou tick [déplacement, tirs...]) 100 fois par secondes, au serveur)

cl_updaterate 100 (on reçoit les actions du jeu, ou tick, 100 fois par seconde, par le serveur, si ce dernier est en tickrate 100)

cl_interpolate 1
Permet d'avoir une image fluide des joueurs. Avec l'interpolate a 0, si un joueur envoie 20 paquets par seconde au serveur (cause: fps faibles, ou cmdrate mal réglé) alors vous verrez ce joueur saccader (on dit aussi se téléporter) car vous n'aurez que 20 images par secondes de ce joueur.
Avec l'interpolate à 1, le client va combler le manque de position du joueur par des images (tick) insérée entre chaque déplacement du joueur avec une trajectoire calculée en fonction des 2 dernière positions reçue, pour ainsi le rendre plus fluide. Inconvénient: les images générée par l'interpolation ne sont pas touchable. Comme si c'etait un model virtuel etant donné que c'est géré uniquement chez le client.

cl_interp_ratio 1
Temps / cl_updaterate sur lequel est généré l'interpolation. C'est aussi le temps de retard qu'aura l'affichage par rapport au jeu. Voir description plus bas. (Lag Compensation)
si votre cl_updaterate est a 100 et que votre ratio est a 1 vous aurez un temps d'interpolation de 0.01, ce qui correspond a l'ancienne variable cl_interp 0.01.


rate 1048576 ou moins
. C'est le taux de transfert maximum (serveur => client uniquement). Il s'agit en fait de la limite fixée par le source Engine. Si votre connection n'accepte pas ce débit, il est préférable d'en informer le serveur et de baisser votre rate. Un rate
1048576 correspond donc a une connection de 1 Mo/sec plus couremment exprimée par 8 Mbits/sec. Si vous avez une connection 512 K de bonne qualité (soit environ 64 Ko/sec de récéption max, vous pouvez baisser votre rate a 65536.
Pour une classique connection 1 MBits (128 Ko/sec) vous pouvez le mettre a 131072. Pour les détenteur de très mauvaises connexions ADSL, (ligne 512 très longues et de très faible qualité, ligne 256K etc...) Vous pouvez vérifier l'etat de vote downlad maximum et régler le rate en conséquence.
Il faut savoir que le serveurs possèdent leur propres restrictions sv_maxrate et sv_minrate qui définissent les maximum et minimum qui peuvent être appliquée par le clients. Beaucoup de serveur sont encore en sv_maxrate 30000 ou sv_maxrate 25000. Il est clair que dans ce cas, avoir un rate a 1048576 ne servira a rien puisque le serveurne vous everra pas plus de 30 ou 25 Ko/sec. C'est un débit qui suffit dans la plupart des cas, mais en phase intense, ce débit peut instantanément être largement dépassé. C'est pourquoi il est préférable de débrider totalement cette limite haute via la commande sv_maxrate 0. De cette manière, le débit maximim entre serveur et client sera d' 1 Mo/sec. Le serveur possède aussi une restriction minimum du rate. Si le serveur est par exemple réglé sur sv_minrate 5000 (proche du défaut mais plutot mauvais), cela veux dire qu'un client pourra régler son rate sur 5000, ce qui revient a lui envoyer pas plus de 5 Ko/sec. Ca revient a jouer en 56K et ca devient vite pénible. Pour cela, vous pouvez augmenter la valeur sv_minrate de votre serveur a environ 20000 ou 30000 ce qui evitera au client de simuler une connexion trop lente (pas en dessous de 20 Ko/sec).
Ca peux paraitre faible face aux connexions actuelles, mais beaucoup de personnes sont encore loins des dslams avec des lignes de très basse qualité, et leur débit en est souvent amoindri. De plus, 20 Ko/sec c'est largement suffisant en situation de jeu "normale".

cl_predict 1
. Permet d'avoir un jeu plus réactif chez le client. En fait, le jeu n'a pas besoins d'attendre une confirmation du serveur pour effectuer certaines action comme les animation de tir ou les déplacement.
Sans prédiction coté client, il faut que le client envoie l'info de son action au serveur, ensuite le serveur confirme l'action au client, et la, le client effectue son action. Avec la prédiction, le client envoie ses actions au serveur et c'est tout. Il arrive (rarement) que le client fasse quelques erreur de prédicion, notemment en ce qui concerne les déplacement. Si le client s'est trop déplacé par rapport au jeu réel (controlé par le serveur), le serveur va corriger la trajectoire chez le client. C'est en général tellement léger et peu fréquent qu'on ne s'en apercoit pas. (voir le cl_smooth)

cl_smooth 1 Cette valeur autorise le serveur à adoucir la correction de vos erreurs de predictions. Par exemple lorsque vos déplacement ont été trop important (tout est relatif encore, ca reste très faible en général) du coté client, le serveur va vous replacer très doucement à votre bonne position.

Si cette valeur est a 0, le client vous replacera brutalement et la vous vous apercevrez du changement. La prédiction n'est valable que pour vos déplacement et vos tirs.

cl_smoothtime 0.01/ 0.02
. C'est le temps maximum autorisé pour"smoother". C'est a dire pour vous replacer en douceur par rapport au serveur. Si l'erreur de prédiction est trop importante pour être corrigée en douceur dans le temps imparti, alors vous êtes replacé brutalement a votre position.
Cet variable doit être assez faible car si votre PC vous replace a votre position en 0.1 sec, vous aurez un décalage entre l'endroit d'ou vous voyez le joueur et l'endroit ou vous êtes réellement pour le serveur. Et les 2 différentes trajectoires de balles etant colinéaire avec un point de départ différent, n'auront pas le même point d'arrivée (impact). Mais cette valeur ne doit pas être trop faible car dans ce cas, le moteur n'a pas le temps de vous smoother et vous êtes brutalement replacé.



- Coté serveur
On vas déjà voir comment se débrouille le serveur pour gérer les latence générée par les différentes connexions. Ca s'appelle la compensation de Lag.

Lag compensation
Voila une petite explication du fonctionnement du mécanisme de compensation de lags. Dans l'exemple, Nous somme sur un serveur tickrate 100, avec un ping de 50 ms et des valeur network correctes (cmdrate 100, updaterate 100, et rate 25000, donné le plus souvent sous la forme 100/100/25000).
Pour comprendre le fonctionnement on va suivre le trajet d'une information reçue, ainsi que celui d'une information envoyée suite a une réaction du joueur, et voir comment le serveur analyse le tout (en simplifiant au maximum).
Ceci et théorique. Le lag compensation comporte de petit bug, il suffit de se rendre sur le forum steam pour le constater
clindoeil.gif

 Réduction à 63% de la taille originale [ 805 x 398 ]



Dans cet exemple, le serveur envoie la position d'un joueur (ennemi clindoeil.gif ) à 15,03 sec. Le ping étant (temps mis pour faire aller retour) de 50 ms, le trajet d'un aller simple durera 25 ms. L'information arrive donc 25 ms plus tard chez le client, soit a 15,055 sec.

C'est la qu'entre aussi en jeu le cl_interp. Pour pouvoir créer des positions supplémentaires sur la position des joueurs dont vous ne recevez que peu d'informations, votre pc vous fait joueur dans le "passé". Pas 15 ans en arrière non plus, juste la valeur cl_interp de retard. Ca permet de laisser 0.01 ou 0.02 secondes d'avances au pc, soit 1 ou 2 tick, pour pouvoir calculer les points de trajectoire intermédiaires et ainsi inventer des positions pour rendre les joueurs plus fluides.

Donc entre le temps ou le serveur vous envoie une info et le temps ou vous la voyez à votre écran, il s'est ecoulé 0,045 sec. (rien de grave théoriquement puisque le serveur va compenser tout ca).
Suite a ses 0.045 sec, il faut ajouter le temps de réaction du joueur (client) avant qu'il tire. On va dire qu'il met 0.05 sec pour l'exemple ce qui nous amène a 15,125 sec. La, pas de décalage entre le pc et l'affichage, l'information est directement envoyée a 15,125 sec.
Par contre, on retrouve un nouveau décalage de 25 ms dû au ping (50 ms) entre le moment ou le client recoit l'information et le moment ou le serveur la reçoit.


A u final, le temps qu'il s'écoule entre le moment ou le serveur envoie la position d'un joueur et le moment ou il reçoit l'information de tire du joueur et assez conséquent, même si l'on enlève le temps de réaction du joueur. Et ca parait énorme avec un ping de 80 ms et un cl_interp par défaut (0.1). Ca nous donnerais un décalage de 180 ms sans le temps de réaction.

C'est pour ca que le serveur va compenser tout ce lag (sv_unlag 1). Le serveur connait vos paramètres (ping + cl_interp) Il va donc facilement pouvoir calculer le temps qu'il a fallu au informations pour circuler à travers le réseau. Ainsi, a la réception de l'info de votre tir, le serveur va retourner voir ses "archives".
A 15,15 sec (réception de votre commande tir), il va retourner voir comment était le jeu au moment ou il vous a envoyé les info de positions. (temps réel - temps de latence - temps d'interpolation)
Ainsi, rien est décalé. Mais ca c'est théorique car l'interpolation introduit un retard d'affichage de 100 ms apparemment et ceci quel que soit le cl_interp chez le client. Ce qui a amené un lourd débat sur la valeur cl_interpolate a adopter.


Note: La valeur cl_interp est maintenant remplacé par cl_interp_ratio / cl_updaterate, mais ca ne change rien. Ca reste un temps d'interpolation
Voila maintenant les variables serveur principales concernant le network.
sv_maxrate 0, sv_minrate 30000 . Il faut savoir que le serveurs possèdent leur propres restrictions sv_maxrate et sv_minrate qui définissent les maximum et minimum qui peuvent être appliquée par le clients. Beaucoup de serveur sont encore en sv_maxrate 30000 ou sv_maxrate 25000. Il est clair que dans ce cas, avoir un rate client à 1048576 ne servira a rien puisque le serveur ne vous enverra pas plus de 30 ou 25 Ko/sec. C'est un débit qui suffit dans la plupart des cas, mais en phase intense, ce débit peut instantanément être largement dépassé. C'est pourquoi il est préférable de débrider totalement cette limite haute via la commande sv_maxrate 0. De cette manière, le débit maximim entre serveur et client sera d' 1 Mo/sec. Le serveur possède aussi une restriction minimum du rate. Si le serveur est par exemple réglé sur sv_minrate 5000 (proche du défaut mais plutot mauvais), cela veux dire qu'un client pourra régler son rate sur 5000, ce qui revient a lui envoyer pas plus de 5 Ko/sec. Ca revient a jouer en 56K et ca devient vite pénible. Pour cela, vous pouvez augmenter la valeur sv_minrate de votre serveur a environ 20000 ou 30000 ce qui evitera au client de simuler une connexion trop lente (pas en dessous de 20 Ko/sec).
Ca peux paraitre faible face aux connexions actuelles, mais beaucoup de personnes sont encore loins des dslams avec des lignes de très basse qualité, et leur débit en est souvent amoindri. De plus, 20 Ko/sec c'est largement suffisant en situation de jeu "normale". Vous pouvez aussi vous dire que beaucoup de personnes sont encore en 56K, mais il y a un moment ou il faut trancher entre les 2 pour avoir le meilleur compromis "contenter tout le monde / avoir de bons rates"


sv_minupdaterate 66, sv_maxupdaterate 101 Encore une fois, ce sont des limites hautes et basse pour le client concernant sa valeur cl_updaterate. Voir la partie "coté client pour plus de détails"

sv_mincmdrate 66, sv_maxcmdrate 100 Il s'agit la aussi de limite hautes et basse, mais celle ci concernent la variable cl_cmdrate. cette fameuse variable qui a mené a tant de pleintes sur le serveur. En effet, un joueur avec un cmdrate très bas, enverra ses information de jeu au serveur a intervalles assez espacées. Le problème, c'est l'interpolation, qui affiche des positions de ce joueur qui n'existent pas. cf la partie "cl_interpolate 1" pour plus d'explication. En bref, il s'agit ici d'eviter les personnes qui règlent ce cmdrate trop bas pour être difficilement touchable par les autres. 66 semble être une bonne valeur minimum. Les intervalles sont assez proches (66 position /sec) et les connection supportent pratiquement toutes ces delais. Le seul réel problème qu'il reste, ce sont les joueurs ayant des FPS plus bas que cette limite qui ne peuvent envoyer plus de paquet que ce que leur framerate leur permet. Rappel: le cmdrate réel ne peux pas dépasser le framerate. Un joueur ayent 30 FPS ne pourra pas envoyer plus de 30 paquets par secondes au serveur, même si le sv_mincmdrate est a 66. Mais dans ce cas, le joueur est plutot pénalisé par son framerate bas. La limite haute (100) est simplement la limite du serveur. Il est donc inutile de mettre un cl_cmdrate a 200 par exemple. Le serveur ne traîtera pas plus de paquet par secondes que son tickrate le permet.


sv_client_cmdrate_difference 20 . Ici, il s'agit de forcer le client a utiliser des valeur cl_cmdrate et cl_updaterate proches. Le serveur se base sur l'updaterate réglé par le client pour réajuster le cmdrate si nécéssaire. Par exemple, si un joueur demande 100 paquet / sec (cl_updaterate 100) et n'en renvoi que 66 (cl_cmdrate 100). Cette variable va remonter la variable cl_cmdrate client a 80 (100-20).
Bien evidemment, si l'ecart entre l'updaterate et le cmdrate est inférieur a 20, la commande ne rectifie rien.


sv_client_interpolate 1 . Cette variable force le client a utiliser l'interpolation. Si un serveur est en sv_unlag 1 et qu'un client règle son interpolation sur 0, il peux avoir un avantagesur les hitbox. Il lui suffit simplement de sniper derrière le model. Pratique pour sniper les CT aux début du round sur dust2 par exemple clindoeil.gif . Pour eviter ca, on force tout le monde a 1 (en LAN, on force tout le monde a 0)

sv_client_predict -1 . Le -1 permet de laisser libre choix au client sur sa variable. (voir cl_predict dans la partie client)

sv_client_min_interp_ratio 1; sv_client_max_interp_ratio 2 . La variable cl_interp n'etant plus a jour, on s'interesse maintenant la la variable cl_interp ratio, qui règle de délais d'iterpolation en fonction de l'updaterate. Ainsi, un client avec un cl_updaterate 100 et un ratio de 1, aura un delais d'interpolation de 1/ 100 = 0.01, avec un ratio de 2, 2/100 = 0.02. Avec un c_updaterate 66 et ratio de 2 => 2/66 = 0.03. L'interpolation client agit en fonction des paquets recu par le serveur. Plus l'updaterate est haut, plus le délais d'interpolation peut être faible.



- Avec ces valeurs, les conditions de jeu sont très bonnes. Il faut maintenant voir si votre connection tien le choke clindoeil.gif

Pour ça, il faut afficher le net graph. Il suffit de taper net_graph 3 dans la console, vous verrez alors un ligne indiquant loss et choke (voir détail du netgraph plus bas. Votre choke doit etre de 0 en condition normal de jeu. Il peut monter jusqu'à 4-5 en phase de combat et un peu plus à chaque début de round, mais au dela, c'est que votre connection ne peut pas suivre avec les valeur rentrée. Il suffit donc de baisser progressivement et simultanément le cmdrate et l'updaterate, vous pouvez passer a 85, puis 75 puis 66. En général on ne descend pas en dessous de 66. S'il y a encore du choke a cette valeur, vous pouvez essayer de descendre votre rate a 30000 puis 20000 voir 15000 si votre débit est très faible.

Si vous avez du loss, alors soit vous avez du choke important, soit votre connection est mauvaise. Y'a pas vraiment de réglage pour ça.

- Au niveau du ping, il ne faut pas se fier au tableau des scores qui affiche un ping de 5 voir moins en cas de cmdrate très bas. Le ping réel d'un joueur se situe dans le netgraph seulement, et il ne faut pas etre obsédé par cette valeur parce que votre adversaire a 20 ms de moins que vous. Les serveurs sont équipés de systèmes de compensation qui font très bien leur travail. Privilégiez surtout de hautes valeurs de rates, même si votre ping doit monter de 10 ms pour ça.


-
Comprendre le netgraph:


Savoir lire le netgraph n'est pas difficile, et permet simplement de bien configurer sa connection.
Le Net_graph 3 permet d'avoir pas mal d'info.
 Réduction à 93% de la taille originale [ 547 x 99 ]


En première ligne on retrouve les FPS actuel ainsi que le ping réel.
La deuxième ligne concerne les paquets reçus par le serveur. Le premier chiffre indique la taille du dernier paquet reçu. La deuxième indique la bande passante utilisée et le troisième étant le plus intéressant, le nombre de paquets reçu du serveur. Il s'agit de l'updaterate réel. Ce chiffre permet aussi de voir si le serveur tien un tickrate élevé puisqu'il s'agit en fait du nombre de tick par secondes qu'envoie le serveur. Ca permet de voir la qualité d'un serveur.
La troisième ligne concerne les paquets envoyés, avec comme au dessus, la taille du dernier paquet envoyé, la bande passante utilisée, et le plus intéressant aussi, le cmdrate réel. C'est le nombre de paquets que vous envoyez au serveur par seconde. C'est aussi cette valeur qui ne dépassera jamais le nombre de FPS instantané.


Vous devriez maintenant pouvoir régler votre connection pour avoir la meilleur qualité de jeu. chinese.gif





Configuration / Commandes.

Ici, il s'agit d'apprendre à paramétrer ses commandes le mieux possible.

-
Il est quasiment indispensable pour entrer des commandes personnelles ou d'optimisation, de créer un fichier autoexec.cfg qui se chargera directement lors du lancement du jeu. Il faut savoir aussi que si une commande apparaît déjà dans le config.cfg, c'est la valeur de celle de l'autoexec qui prendra le dessus car ce fichier est chargé après le fichier config.cfg.

Pour créer un fichier autoexec, vous ouvre un simple éditeur de texte comme notepad, et vous l'enregistrez en « autoexec.cfg » dans le dossier cfg qui se trouve par défaut dans:
C:\Program Files\Steam\steamapps\"votre_compte"\counter-strike source\cstrike\cfg\


Un petit aperçu pour montrer la simplicité du fichier clindoeil.gif





- Dans ce fichier, vous pouvez entrer toutes les commandes qui correspondent à ce que vous voulez. Les commandes d'optimisations graphiques et network données plus haut peuvent y etre insérées.

Voici d'autre commandes qui peuvent être utiles.


CITATION
cl_crosshairscale 2200 (Permet de rétrécir le viseur au centre de l'ecran. Plus la valeur est grande, plus le crosshair sera petit, le maximum doit etre de 6000 environ. Vous obtenez alors un tout petit crosshair)
cl_crosshairusealpha 1 (permet d'avoir un crosshair non translucide => meilleur visibilité)
cl_crosshairalpha 255 (permet d'augmenter la visibilité du crosshair)
cl_crosshaircolor 1 (permet de changer la couleur du crosshair. 0=vert 1=rouge ... => 4)
cl_dynamiccrosshair 0 (permet de ne pas avoir d'agrandissement du crosshair lorsque vous courez / sautez)
cl_radaralpha 255 (permet d'augmenter la visibilité du radar)
sensitivity xx (permet de sauvegarder votre sensibilité souris)
cl_downloadfilter nosounds (permet de ne pas télécharger les sons à l'entrée d'un serveur)
cl_forcepreload 1 (permet de précharger la map et les models. Moins de lag ingame)

bind x "incrementvar cl_crosshaircolor 0 4 1". (Ce bind permet d'incrémenter une variable. Dans l'exemple du crosshaircolor, la varible prendre pour première valeur 0 et pour dernière valeur 4. A chaque pression sur la touche X, la valeur augmentera de 1).
bind x "incrementvar cl_crosshaircscale 1000 6000 500" (A chaque pression de la touche, le crosshair prendra une valeur de 1000 puis 1500 puis 2000, jusqu'à 6000. Ensuite l'incrémentation reviendra a 1000).
Vous pouvez incrémenter toutes les variables que vous voulez de cette manière.

bind "x" +graph (Cette commande vous affichera votre netgraph uniquement lorsque vous restez appuyé sur x)

cl_restrict_server_commands 0 (Permet de rentrer sur les serveurs possédent des plug in [mani, matties,cvarblock,zblock...]. C'est a dire presque tous)
Pour les binds d'achats, je vous conseille le icon_arrow.gif Css Script Générator de m00t,



Jusqu'à la sortie du CSS HUD Tweaker V2 (cf ci dessous).




Radar/Overview

Le Radar de CS Source est l'un des éléments les plus utiles du jeu.
Il est un peu plus chargé qu'avant, et il est nécessaire de le connaître dans ses moindres détails.
Voici a quoi correspondent les principaux éléments.
 Réduction à 82% de la taille originale [ 618 x 266 ]


Notes:
Les ennemis ne se déplacent pas. Les points qui les représentent restent fixe quelque soit leur mouvement. Ils sont allumés uniquement lorsque vous, ou l'un de vos allié en a repéré un. Le point reste affiché quelques secondes puis disparaît.
Attention aux couleurs. Le bleu ne représentes plus vos alliés, mais l'équipe anti-terroriste. Si vous êtes dans l'équipe terroriste, vous et vos alliés serez représentés par des points rouges sur le radar.
Pour les maps CS_ Les icônes des otages prennent les même formes, mais sont de couleur jaune.
Lorsque vous êtes flashé, le radar disparaît quelques secondes de votre écran, jusqu'à ce que votre vue redevienne normale.
Vous pouvez activer la rotation de la carte ou non dans les options du jeu, ou en entrant la commande cl_radar_locked 0/1. Afficher l'alpha du radar en réglant cl_radaralpha entre 0 et 255 (0 = radar non visible)

Lorsque vous êtes en vue spectateur, ou mort, le radar s'agrandit par défaut.

Voici quelques commandes utile pour suivre le déroulement du jeu (spectateur uniquement).
CITATION
overview_preferred_mode 0/1/2 => 0=Off; 1=Mini map (defaut); 2=overview en fullscreen.
overview_health 1 => Permet d'afficher le niveau de vie des joueurs sur le radar.
overview_names 1 => Permet d'afficher le nom des joueur sur le radar.
overview_tracks 1 => Trace un trait derrière le joueur, représentant son parcours.
overview_locked 1 => Permet de ne pas rentrer dans les murs de la map en vue 3° personne.
overview_alpha 0 =>1 => Règle la transparence de la map entre 0 et 1. exemple: overview_zoom 0.7
overview_zoom => Règle le zoom du radar 1=> Map entière; 4 => zoom important. Vous pouvez jongler entre ces valeur avec des décimales. exemple: overview_zoom 2.33






Customize


Le HUD de cs source a la possibilité d'être modifié en changeant plusieurs variables dans certains fichiers du jeu.


Tout se passe en ligne de configuration difficilement configurables si l'on ne connait pas bien toutes les fonctions. Heureusement, chez INpact Team, on pense à vous clindoeil.gif . Le CSS HUD TWEAKER V 1.19 , vous permet de modifier tout votre HUD à souhait, le tout via une interface graphique très intuitive (thx m00t clindoeil.gif ) Vous pouvez sélectionner, déplacer; modifier chaque élément de la fenêtre d'un simple clic. Voici un exemple de HUD customisé (cliquez sur le HUD pour l'agrandir et sur le tweaker pour accéder a la dFR.gif page officielle de présentation ):



Vous pouvez aussi modifier l'apparence de vos armes et personnages en changeant les skins et parfois les models. Le site le plus complet (pour l'instant) à ce sujet est icon_arrow.gif fpsbanana. (skins, models, tag ...)

 Réduction à 79% de la taille originale [ 646 x 165 ]

/!\ Les scripts et packs complets sont totalement déconseillés . Ils vous installent souvent beaucoup de fichiers inutiles et modifient l'apparence de votre jeu (skin, model, qualité graphique) sans que vous puissiez en avoir un apercu au préalable. Certain scripts douteux ont déjà été détéctés pour contenir des cheats camouflés (c'est a dire que le joueur ne voit rien à l'écran, il joue sans cheat, mais certains fichier sensibles du jeu sont modifiés. => BAN permanent VAC²).



Une Bonne Communauté
La dernière chose pour jouer dans des condition agréables est de jouer sur de bons serveurs, avec des gens sympas.
Donc si vous avez un serveur, vous pouvez dans un premier temps charger la banlist ACP source pour eviter pas mal de cheater sur votre serveur.

Ensuite, pour avoir un serveur pas trop mal niveau tickrate, évitez d'installer trop de plugins & scripts dessus.