Quelques informations autres, quelques contestations (inévitables, n'est-il pas ?) et précisions.
Il m'a fallu me repencher sur des souvenirs et il doit y avoir quelques imprécisions mais les sources sont citées à la fin pour les râleux.
autoexec.cfgPremièrement, si vous plantez vos cfg, sachez qu'il y a de fortes chances que vos erreurs soient enregistrées via steamcloud, le service de Steam qui sauvegarde vos cfg, vous permettant de retrouver votre configuration si vous jouez depuis un autre poste que celui habituel.
Faites très attention aux modifications que vous faites, si vous avez sauvegardé une erreur via steamcloud, le seul moyen de l'effacer est de désinstaller le jeu via le panel de contrôle de Steam.
L'autoexec.cfg est le seul fichier qui ne sera pas sauvegardé et potentiellement si certains serveurs peuvent réécrire votre cfg, elle ne peut pas toucher l'autoexec.
Cependant, si vous modifiez certaines valeurs via l'autoexec à chaque lancement du jeu, ça n'empêche pas que le serveur force certaines valeurs au moment où vous entrez sur celui-ci...
fovVotre oeil est éduqué, tout autant que vos réflexes, votre cerveau etc.
Les modifications de fov sont à prendre avec des pincettes, c'est une cvar qui n'est pas modifiable sur tous les jeux Source, et qui n'existe même pas sur les jeux d'autres éditeurs...
La variable qui permettait de modifier l'équivalent du fov sur BF2 par exemple n'était pas modifiable. La modification de celle-ci (par un moyen que je ne citerait pas non plus) était détectée par PunkBuster et un américain qui était particulièrement bon en avion (dans le top 20 mondial aviation) a été banni à l'époque... (par Punk Buster, donc son compte mais aussi sa carte mère ont été bannis...)
Interpolation :Vous ne verrez pas de différence aux valeurs de l'interpolation au dessous d'un certain seuil :
Voilà une explication en local de cette valeur
par l'absurde.
Selon ce que le serveur peut faire, selon votre connexion mais surtout selon ce que le type en face envoie comme informations vous n'aurez pas le même résultat du tout.
L'interpolation est le calcul de points imaginaires pour fluidifier les mouvements d'un joueur. Avec les paramètres de qualité propre au serveur, de votre machine et celles relatives au type en face, vous pouvez recevoir moins d'informations que celles que vous êtes à même de traiter et l'interpolation est la vitesse de calcul de ces points.
En clair : le serveur ne vous renvoie "que" 50 positions du joueur en face en une seconde et votre ordinateur est capable de traiter 100 fps, les 50 images manquantes seront "inventées", le serveur va compenser tout ça avec tout ce que vous renvoyez de part et d'autre et décide au final de ce qu'il va faire exactement avec d'autres commandes qui lui sont propres, comme le sv_unlag etc.
Note :
En en causant avec un pote à l'instant il s'avère que depuis l'Orange Box dont le moteur originel est celui de TF2, la commande cl_interp n'est plus utilisée. Renseignée mais pas utilisée.
Elle est remplacée par cl_interpolate_ratio qui dépend directement de l'updaterate.
La valeur par défaut des serveurs à ce niveau là est "sv_client_interpolate 1" qui force l'interpolation du client quelque soit la valeur qu'il a renseigné.Je vais chercher des sources supplémentaires là dessus.
cl_cmdrate et cl_updaterateLes valeurs cl_cmdrate et cl_updaterate sont liées aux informations que vous envoyez et recevez du serveur.
Il s'agit du nombre de paquets d'informations maximum que vous pouvez recevoir ou envoyer.
Chacun de ces paquets envoie les informations relatives aux positions des autres joueurs et de ce qu'ils font.
Les valeurs proposées par Choun sont optimales. Qui peut le plus peut le moins...
Sur le moteur de CSS qui n'est pas tout à fait le même que celui de TF2 (orange box) vous pouvez voir certains joueurs qui jouent au stromboscope, du coup c'est injouable parce qu'ils sont intouchables.
C'est plus rare de voir le cas sur TF2, il s'agit généralement d'un lag matériel (volontaire ou pas), le serveur a la possibilité de traduire plus intelligemment la position du petit malin qui aurait son rate à 1000 et son updaterate à 10. En bref, il a plus de chance d'être touché parce que considéré par défaut comme dans la ligne de mire alors qu'auparavant il était considéré par défaut comme "à côté".
tickrateLa valeur "66" correspond au tickrate du serveur. Le "tick" est un instantané du monde pour le serveur. Il n'y a rien entre 2 ticks (mis à part potentiellement un lag...

)
Ces instantanés sont mis les uns derrière les autres, un peu comme un film est une succession d'images, mais le tickrate 66 est la traduction idéale d'un calcul du monde du serveur toutes les 15 millisecondes (1000/66).
Dans les faits, le tick est évolutif, selon les ressources que peut utiliser le serveur (principalement CPU), le serveur peut lui même considérer que passer en tick 50 est suffisant (un instantané toutes les 20 millisecondes).
Cette valeur était à 33 sur les premières version du moteur Source, mais les serveurs sont devenus plus costauds, on peut héberger plusieurs serveurs sur une seule machine et c'est là qu'on s'est rendus compte que l'architecture même du moteur Source était limitative.
Il n'y a pas de tick 100 pour TF2 et il n'y a pas de stabilité du tick 100 pour CSS (par exemple) au dessus de 24 joueurs.
Vous allez me dire "ho bordel, peu chère, rogntudjuu, quel dommage", mais votre cerveau, la liaison à votre main pilotant une souris qui est l'interface entre votre cerveau et une plateforme numérique est beaucoup plus limitatif que ça.

N'oubliez pas que la persistance rétinienne (qui vous permet de regarder un film) commence aux alentours de 20 images/seconde mais n'ayez pas l'espoir que votre cerveau décode 20 images par seconde.
A la rigueur, un serveur surexploité se mettra en sous régime et son tick diminuera dangereusement, le serveur ne "touche pas" parce que ce que vous voyez n'est pas ce que le serveur voie.
Ce genre de serveur existe ; typiquement le type qui loue une machine à un fournisseur.
Le fournisseur aurait placé 40 slots dessus mais ce locataire va en installer 50 en proposant un tarif plus avantageux. Ce sont des serveurs wars vides la plupart du temps alors ça va, pas de soucis, sauf le dimanche soir où 45 slots sont utilisés et que personne ne peut jouer...
Pourquoi des valeurs non optimisées par défaut ?Parce qu'ils sont un poil naïf chez Valve, qu'ils sont proches d'une logique open source et que 90% des cvars (variable modifiable par le client) ont été utilisées à mauvais escient avant d'être bloquée. Les textures, particules etc ont également été triturées.
Les valeurs par défaut étaient celles qui, si elles n'avaient pas été modifiées, permettaient au type qui a le 100 Mo et habite au dessus du dslam de jouer avec le type qui a une connexion à 256 ko en Creuse sur un serveur Roumain.
Les serveurs sont plus puissants qu'avant, les machines aussi, les joueurs modifient pour la plupart leurs réglages en local parce que de bons tutos qui expliquent à quoi correspondent les valeurs y'en a peu.
Même si le serveur fait du bon boulot pour compenser les inégalités propres entre les joueurs, il y en a toujours qui vont compenser leur manque de skill par des modifications autres, en vous mettant dans des prédispositions positives, vous filez un coup de main non négligeable au serveur :
rate "30000"
cl_cmdrate "66"
cl_updaterate "66"
Sources :
http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networkinghttp://www.pcinpact.com/forum/lofiversion/index.php/t93094.htmlhttp://www.e-t172.net/articles/srcnetcode/