1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

TUTO Les configs....

Discussion dans 'FAQ / Tutoriaux' créé par Calimero, 31 Juillet 2014.

  1. Calimero

    Admin Master Calimero

    Inscrit:
    4 Juillet 2008
    Messages:
    594
    Évaluations:
    +211 / 2 / -0
    Bonjour,
    je n'ai pas regardé jusqu'au bout pour voire si il y avait déjà un post concernant les config mais je trouve qu'il manque un peu d’échange sur ce thème :
    un joueur peux faire partager son expérience ou ces problèmes concernant le paramétrage de la souris,sa sensibilité, le nombre de dpi utilisé, faut il ou pas utiliser l’accélération de la souris quels sont les avantages,les inconvénients, les fameuses "rates" on entends de tout et son contraire, pourquoi 87000 et pas 1048654?!
    le choke le loss bref tout ce qui tourne autour de ça!
    j'ai faits quelques recherches sur le net j'ai trouvé quelques explications intéressante je vous soumets à cette lecture ensuite je vous propose d'en débattre pour affiner les réglages , le but n'est pas d’être le meilleurs mais de mieux comprendre( pourquoi on est mauvais!!) les caractéristique du jeu,d'avoir une meilleurs fluidité en jeu et surtout de ne plus avoir le fameux: "je ne touche rien ou t'es mal réglé !!!"
    voilà ce que j'ai trouvé il y a aussi un lien pour une video concernant les LERP basé sur le jeu DOD mais applicable aussi a css!
    Le sujet pour le moins houleux du Netcode des FPS fourmille d'idées reçues et autres affirmations gratuites. Ainsi, on trouve souvent sur les forums des recommandations de ce style : "Règle ton cl_updaterate / cl_cmdrate à XX et tu lagueras 10 fois moins / ton ping descendra de 10 ms / tu seras intouchable", alors que leurs auteurs n'ont en réalité effectué que des tests très subjectifs, souvent dénués de toute méthodologie, alors qu'eux-mêmes n'ont souvent aucune idée de ce dont ils parlent.

    Dans le but de changer cet état des choses, j'ai réalisé une étude poussée et méthodique du comportement de la partie réseau de Source. Je livre dans ce tutoriel le fruit de mon travail, c'est-à-dire la réponse à la question "Quelle est la configuration optimale ?" que se posent beaucoup de joueurs.

    Ce tutoriel est très orienté pratique : il vous expliquera uniquement comment obtenir la meilleure configuration possible pour votre jeu. Si vous souhaitez plus d'informations théoriques (si vous avez envie de comprendre comment tout ce shmilblick fonctionne) je vous invite à vous reporter à mon document original.

    La console de Source et les CVARs

    La console

    Le moteur Source, comme la plupart des FPS, permet d'utiliser une interface pour envoyer des commandes, ou modifier les paramètres du moteur de jeu. Cette interface est appelée console. Pour faire simple, il s'agit d'un bloc dans lequel défile du texte vous donnant des indications sur l'état actuel du moteur. En dessous de ce bloc se trouve un champ de texte permettant d'entrer des commandes. Ceux qui ont déjà vu une invite de commandes sous Windows ou un terminal Linux sauront de quoi je parle ; pour les autres, vous comprendrez quand vous la verrez. ;)

    Comment accède-t-on à cette console ?

    Il existe plusieurs moyens de l'afficher : je vais ici vous présenter celui que j'utilise ; bien évidemment, si vous utilisez un autre moyen, ne changez pas vos habitudes pour moi. ^^

    Allez dans la section "Jeux" de Steam.

    Faites un clic droit sur le jeu concerné (par exemple, Counter-Strike Source).

    Cliquez sur "Propriétés".

    Cliquez sur "Définir les options de lancement..."

    Entrez "-console

    Ensuite, pour accéder à la console, il vous suffira d'appuyer sur la touche "echap" lorsque vous jouez, et vous aurez alors la console sous les yeux.

    Les fichiers de démarrage

    Lorsque vous démarrez votre jeu, celui-ci doit définir un certain nombre d'options, telles que votre nom dans le jeu, votre configuration des touches, la sensibilité de votre souris, etc. Ces options sont en réalité des commandes console, qui sont stockées dans des fichiers spécifiques, lesquels sont exécutés au démarrage du jeu.

    "Au démarrage du jeu" signifie que ces fichiers sont exécutés au moment où les menus du jeu sont affichés, et non lorsque vous lancez ou rejoignez une partie.

    Tous ces fichiers de démarrage sont situés dans le sous-répertoire "cfg" du répertoire où est stocké le jeu (par exemple : C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Source\cstrike\cfg). Il y a 4 fichiers lancés au démarrage, les voici dans l'ordre dans lequel ils sont exécutés :

    userconfig.cfg

    config.cfg : on ne modifiera jamais ce fichier, car il est effacé et réécrit par le moteur à chaque fois que vous modifiez les paramètres du jeu via le menu Options.

    autoexec.cfg (lancé par le précédent : en effet, le fichier valve.rc contient la ligne "exec autoexec.cfg")


    Cet ordre est important, car si une directive de configuration est présente dans deux fichiers de démarrage, c'est celui qui a été exécuté en dernier qui l'emporte sur l'autre.


    Ainsi, placer des commandes dans le fichier userconfig.cfg doit être fait avec précaution, car ces commandes risquent d'être écrasées par le fichier config.cfg généré par le moteur. Par conséquent, je vous recommande de placer toutes les commandes que vous souhaitez exécuter au démarrage dans le fichier autoexec.cfg, qui, de cette manière, ne risque pas d'être "écrasé".


    Commandes et CVARs


    Il y a deux types d'instructions que vous pouvez donner à la console (que ce soit en jeu, ou dans un fichier de démarrage) : les commandes et les CVARs.

    Les commandes


    Une commande est un simple mot qui demande au moteur d'effectuer une action précise. Elle prend parfois des paramètres. Nous n'utiliserons aucune commande dans ce tuto. Exemple : "echo Texte à afficher dans la console" ou "connect 193.27.10.33:27015" ou encore "retry".

    Vous pouvez obtenir une liste complète des commandes disponibles en utilisant la commande cmdlist.


    Les CVARs


    Une CVAR, pour Configuration VARiable, est comme son nom l'indique, un paramètre que l'on peut modifier.


    En entrant simplement le nom de la CVAR dans la console, par exemple : "cl_interp" (que l'on étudiera plus loin dans ce tuto), on obtient des informations intéressantes sur son contenu et son fonctionnement :


    ] cl_interp


    "cl_interp" = "0.010000" ( def. "0.1" ) min. 0.010000 max. 1.000000


    client


    - Interpolate object positions starting this many seconds in past


    Comme vous pouvez le voir, le moteur nous indique plusieurs informations au sujet de cette CVAR, notamment sa valeur actuelle (0.01), sa valeur par défaut (0.1), sa valeur minimale (0.01) et sa valeur maximale (1.0), ainsi qu'une brève description.


    Les CVARs décrites dans ce tuto sont toutes assez bien documentées par le moteur, mais si vous vous aventurez en dehors des sentiers battus, vous risquez d'obtenir moins d'explications.


    Pour définir une CVAR à une certaine valeur, il suffit d'écrire le nom de la CVAR suivi de la valeur qu'on souhaite lui faire prendre, exemple :


    ] cl_interp 0.1


    Cette fois-ci, la console ne vous répondra rien - ceci est normal.


    Vous pouvez obtenir une liste complète des CVARs disponibles en utilisant la commande cvarlist.

    Latence, choke, loss et fidélité de la simulation


    Lorsque vous jouez en multijoueur sur un FPS, trois types de problèmes peuvent survenir : les problèmes de latence, de choke et de loss. Il faut également veiller à obtenir une simulation (c'est-à-dire un jeu) la plus fidèle possible à celle du serveur.


    parie 1
     
    • J'aime J'aime x 1
    Dernière édition: 18 Février 2019
  2. Calimero

    Admin Master Calimero

    Inscrit:
    4 Juillet 2008
    Messages:
    594
    Évaluations:
    +211 / 2 / -0
    partie 2

    La latence


    La latence, aussi appelée ping, désigne le temps que prend un paquet de données pour passer d'un ordinateur à un autre : dans notre cas, de votre jeu au serveur.


    La latence affichée dans le tableau des scores ou dans le netgraph (que nous verrons plus loin) est un chiffre peu fiable, qui représente plus un indice de la qualité du jeu que la latence proprement dite. Qui plus est, ce chiffre peut se révéler totalement faux avec certaines configurations. Pour obtenir le "vrai" ping réseau, vous devez utiliser la commande ping de Windows.


    Contrairement à une idée répandue, lorsque vous avez un ping de 200 par exemple et que vous tirez, le tir ne sera pas pris en compte 200 millisecondes plus tard. En effet, le serveur dispose d'algorithmes lui permettant de déterminer à quel moment vous avez réellement tiré, et de "remonter le temps" jusqu'à cet instant, pour revenir à une image de jeu plus proche de celle que vous aviez lorsque vous avez tiré. Ce procédé est appelé lag compensation.


    Malgré ce procédé, le ping a une influence importante sur la qualité du jeu. De plus, le lag compensation, de par sa nature même, induit des effets secondaires nuisant à la crédibilité de la simulation (par exemple, lorsque vous vous faites tuer alors que vous veniez de vous mettre à couvert).


    La modification de la configuration du netcode ne peut en aucun cas vous aider à obtenir un meilleur ping, qui ne dépend que de la qualité de votre connexion au serveur.

    Le choke


    Le choke est un autre problème pouvant survenir au cours du jeu. Avoir du choke signifie que le jeu n'a pas assez de bande passante disponible pour échanger les paquets de données à la fréquence voulue (soit parce que le jeu dispose de trop peu de bande passante, soit parce que les paquets à transmettre sont de tailles trop importantes). En pratique, cela signifie que les paquets arrivent en retard. De plus, si le problème persiste, cela peut provoquer une réaction en chaîne qui allonge encore plus les temps de transmission.


    Le choke est en général un phénomène de courte durée (2-3 secondes). Si vous avez du choke en continu, alors vous avez un gros problème, et ce tuto va vous aider à le résoudre.


    Le choke peut avoir pour causes :


    Une mauvaise connexion avec le serveur


    Une mauvaise configuration du Netcode du jeu


    Les limites du moteur


    Le loss


    Le loss est probablement le phénomène le plus simple à comprendre, mais paradoxalement le plus difficile à résoudre : avoir du loss signifie tout simplement que tous les paquets n'arrivent pas à destination ; autrement dit, qu'ils se perdent en chemin ou deviennent corrompus.


    Seule la mauvaise qualité de votre connexion au serveur peut causer des problèmes de loss. Si vous avez du loss sur tous les serveurs sur lesquels vous jouez, contactez votre FAI.




    Fidélité de la simulation


    Le serveur de jeu a le plein contrôle sur ce qui se passe dans la partie ; c'est lui seul qui possède la version la plus fidèle du jeu - on dit qu'il a autorité sur le jeu.


    Le client (c'est-à-dire votre jeu) reçoit une "mise à jour" de l'état actuel du jeu à une certaine fréquence, appelée updaterate réel. Plus votre jeu reçoit de mises à jour, plus sa représentation sera fidèle à celle du serveur, donc plus le jeu sera précis.


    Si vous avez un framerate de 85 images par seconde, et que votre updaterate réel est de 20, vous n'aurez qu'une mise à jour toutes les 4,25 images. Pour éviter les saccades, le jeu dispose d'un procédé appelé interpolation, qui "invente" les positions des entités (joueurs, objets) entre deux mises à jour. Néanmoins, ces points sont "inventés" et nuisent donc à la fidélité de la simulation.


    De la même manière, votre cmdrate réel constitue la fréquence à laquelle vous envoyez les informations sur ce que vous faites au serveur. Là encore, plus cette fréquence est élevée, plus le serveur aura une représentation précise de ce que vous faites.


    La fidélité (ou précision) de la simulation est aussi appelée "touchabilité" par beaucoup de joueurs (par exemple, "je touche que dalle aujourd'hui").

    Le netgraph


    Pour illustrer ces notions de choke, loss et fidélité, nous allons utiliser un outil très pratique fourni par le moteur Source : le netgraph.


    Pour l'activer, il suffit de régler la valeur de la CVAR net_graph à 3 (net_graph 3).


    Le netgraph comporte 3 modes : 1, 2 et 3. Cependant, seul le 3 nous sera utile.


    Cela fait apparaître un tas d'informations en bas de votre écran :

    Image utilisateur


    Voici comment les interpréter, de gauche à droite, et de haut en bas :


    votre framerate actuel (en images par seconde)


    votre ping (rappel : peu fiable)


    la taille du dernier paquet reçu


    la bande passante consommée en réception (en Ko/s)


    l'updaterate réel (fidélité de la simulation)


    la taille du dernier paquet envoyé


    la bande passante consommée en émission (en Ko/s)


    le cmdrate réel (fidélité de la simulation)


    le loss


    le choke.


    Ces informations vous seront très utiles pour diagnostiquer vos problèmes, et pour configurer au mieux le Netcode.


    La CVAR "rate"


    La première CVAR que nous allons étudier, qui est probablement la plus connue des CVARs de contrôle du netcode de Source, est la CVAR "rate". Il s'agit probablement aussi de la CVAR la plus controversée. En effet, beaucoup de personnes se font de fausses idées à son propos.


    Pour commencer, voyons la définition qu'en donne le moteur :


    Citation : Moteur Source


    Max bytes/sec the host can receive data


    Traduction : "Débit maximum en octets/seconde auquel le moteur peut recevoir des données".


    Beaucoup de gens pensent bien faire en réglant cette CVAR en fonction de la vitesse de leur connexion (56K, ADSL 512, ADSL 8096...). Eh bien NON !


    La CVAR rate n'optimise pas le netcode, elle le limite.


    En effet, le seul rôle de cette CVAR est de limiter la bande passante consommée par le jeu ; en aucun cas elle n'optimise le jeu pour une certaine quantité de bande passante disponible.


    Forts de cette information, et sachant que nous ne voulons pas limiter la bande passante consommée par le moteur (bien au contraire), il faut donc placer la valeur de la CVAR rate à 1048576, soit la valeur maximale autorisée par le moteur, et correspondant à un débit maximal de 1 Mo/s.


    Pendant longtemps, la valeur maximale du rate était de 81920, soit 80 ko/s, ce qui pouvait provoquer du choke sur les serveurs avec un grand nombre de joueurs ; la mise à jour du moteur Source du 12 juin 2007 a relevé cette limite et élimine ainsi ce problème.


    Plus la valeur de cette CVAR sera basse, plus les risques de choke seront élevés.


    La CVAR "cl_interp"


    Cette CVAR contrôle l'interpolation, ou plus précisément, la durée pendant laquelle se fera l'interpolation entre deux positions d'une entité.


    Pour faire simple, disons que plus la durée d'interpolation est élevée, plus votre décalage avec le serveur sera grand (ce qui, en pratique, équivaut à augmenter son ping), mais moins les déplacements des entités seront saccadés, et vice-versa.


    Le bon réglage de l'interpolation dépend de la qualité du serveur sur lequel vous jouez, et de la qualité de la configuration du Netcode des autres joueurs présents.


    Cependant, dans la plupart des cas, vous devriez pouvoir définir une interpolation de 0,01 s (cl_interp 0.01, le minimum) sans problèmes.


    Désactiver entièrement l'interpolation (cl_interpolate 0) est une mauvaise idée, car le jeu devient alors très sensible aux fluctuations du réseau, ce qui provoque dans beaucoup de cas des saccades permanentes et un jeu inconfortable.


    Plus l'interpolation est élevée, plus l'intensité du lag compensation est élevée, d'où des effets secondaires plus marqués dans le jeu.


    Les CVARs "cl_updaterate" et "cl_cmdrate"


    Ces deux CVARs sont, comme leurs noms l'indiquent, directement liées à l'updaterate réel et au cmdrate réel.


    Ces CVARs ne contrôlent pas, comme beaucoup le pensent, l'updaterate ou le cmdrate réel. Elles ne font que poser des limites maximales à ces deux valeurs. L'updaterate réel et le cmdrate réel dépendent également d'autres facteurs.


    En effet, un cl_updaterate de 50 par exemple voudra dire : "ne reçois pas les mises à jour à une fréquence plus élevée que 50".


    Plus les valeurs de ces CVARs sont élevées, plus la bande passante consommée est élevée, ce qui augmente les risques de choke.


    Cependant, cela augmente également la fidélité de la simulation. Pour trouver les valeurs optimales, il faut donc procéder par tâtonnement : d'abord commencer avec un updaterate et cmdrate de 100, puis les baisser progressivement, jusqu'à obtenir un choke de 0 (souvent, vous pouvez les garder à 100 sans choke).


    Les valeurs optimales varient selon les serveurs, voire selon le nombre de joueurs présents sur le serveur. D'une manière générale, être obligé de baisser son updaterate/cmdrate à cause de choke provoqué par le serveur, alors que votre connexion peut supporter plus, témoigne d'un serveur de mauvaise qualité, ou mal configuré.


    En conclusion, j'ose espérer que ce tutoriel vous aura permis de mieux configurer votre jeu, et par là même d'exploiter au mieux votre matériel. :)
     
    • J'aime J'aime x 2
  3. Calimero

    Admin Master Calimero

    Inscrit:
    4 Juillet 2008
    Messages:
    594
    Évaluations:
    +211 / 2 / -0
  4. pyro76

    pyro76

    Inscrit:
    19 Avril 2009
    Messages:
    1 652
    Évaluations:
    +181 / 0 / -1
    merci cali enfin des explications ca confirme que certains sont mal réglé car je les touches pas (le mec qui a rien compris)
     
  5. Trilark

    Trilark

    Inscrit:
    6 Septembre 2008
    Messages:
    346
    Évaluations:
    +79 / 0 / -1
    Merci Cali gros boulot faut que je prenne le temps de tout lire
     
    • J'aime J'aime x 1
  6. Cotedeporc

    Cotedeporc

    Inscrit:
    1 Mai 2009
    Messages:
    1 312
    Évaluations:
    +117 / 4 / -0
    je le lirais au boulot... il y a de quoi lire c'est clair merci calimero ;)
     
  7. Marcus Aurelius

    Marcus Aurelius

    Inscrit:
    19 Juin 2014
    Messages:
    37
    Évaluations:
    +5 / 0 / -0
    question conne ... au final, que conseillez vous ?
     
  8. aristote

    aristote

    Inscrit:
    25 Novembre 2008
    Messages:
    245
    Évaluations:
    +49 / 5 / -1
    http://openclassrooms.com/courses/optimiser-le-netcode-de-source

    Dans ce tuto il explique que les rate limite effectivement la bande passante et que plus tu limite plus t'as de chance d'avoir de choke.

    Je vais résumer ce que dit le tuto : avec une connexion potable "cl_interp 0.01 / rate 1048576 / updaterate et cmdrate sont aussi des limitations mais plus compliqué à déterminer, cela dépend vraiment de chaque connexion, il conseille de commencer haut genre cl_cmdrate 100 cl_updaterate 100, de surveiller le choke et de baisser progressivement juqu'a ce qu'il n'y en ai plus.

     
  9. Zamatu

    Zamatu

    Inscrit:
    9 Avril 2009
    Messages:
    54
    Évaluations:
    +0 / 0 / -0
    MERCCIIIIIIIII , je me suis toujours retenu de remballer les admins qui me '' détérioraient les parties sphériques de mon anatomie'' avec mon rate trop élevé malgré mes explications et je me pliais gentiment aux règles par respect pour la communauté.

    En tout cas merci d'avoir pris le temps de tout rédiger .
     
  10. Calimero

    Admin Master Calimero

    Inscrit:
    4 Juillet 2008
    Messages:
    594
    Évaluations:
    +211 / 2 / -0
  11. jeandentaire

    jeandentaire

    Inscrit:
    7 Août 2008
    Messages:
    3 941
    Évaluations:
    +196 / 1 / -0
    C'est très intéressant comme topic Calimero :
    (dans la vidéo)
    "High lerp = no packet loss but inaccurate hitboxes
    Low lerp = very accurate hitboxes but perhaps packet loss"

    Ce qui signifie qu'il faut ajuster le cl_interp à la valeur la plus basse qui laisse votre lerp en blanc et non de descendre votre lerp à son plus bas niveau.
    Et si j'ai bien compris pour les autres réglages, le but c'est d'ouvrir la vanne au maximum pour ne pas brider les infos venant du serveur.. En définitive.. plus ta connexion est bonne, plus tu touches... lol.. XD
     
  12. beebop

    Admin Modérateur beebop Mapper Inside

    Inscrit:
    27 Juin 2008
    Messages:
    2 298
    Évaluations:
    +93 / 1 / -0
    Et ça fait quoi de mettre le cl_cmdrate et cl_updaterate à 0 ???
     
  13. Azure

    Azure

    Inscrit:
    17 Mai 2015
    Messages:
    6
    Évaluations:
    +0 / 0 / -0
    Normalement ils se lock au minimum serveur. Sinon le minimum c'est cl_updarate 10 & cl_cmdrate 46.
     
  14. beebop

    Admin Modérateur beebop Mapper Inside

    Inscrit:
    27 Juin 2008
    Messages:
    2 298
    Évaluations:
    +93 / 1 / -0
    Moi on m'avais dit que de les mettre à 0 faisait en sorte qu'il n'y avait pas de limite mais j'aimerais confirmation
     
  15. Santiago

    Admin Santiago

    Inscrit:
    18 Septembre 2016
    Messages:
    113
    Évaluations:
    +42 / 0 / -0
    Je trouve ton investigation de bonne qualité Cali, et j'ignorais pas mal de choses à propos de ces CVAR.
    Pour avoir parlé rapidement de rates sur le TeamSpeak avec toi hier soir, je remet le topic en actif afin que nous puissions établir les meilleurs réglages (rates, cmdrates, etc) pour le nouveaur serveur diacre en fonction de notre connexion.
    En effet, comme tu l'as dit, certains se plaignent (ou râlent :p) de ne "pas toucher ce soir" ; je pense qu'il y a correllation avec ces fameux réglages ; et qu'il faut donc faire un point là dessus.
     
  16. beebop

    Admin Modérateur beebop Mapper Inside

    Inscrit:
    27 Juin 2008
    Messages:
    2 298
    Évaluations:
    +93 / 1 / -0
    Ha ben c'est pour ça que je touche pas !!!
    LooooooooL

    GG le tuto ça explique pleins de choses
     
  17. Korrig@n

    Admin Adjoint Korrig@n

    Inscrit:
    28 Septembre 2018
    Messages:
    8
    Évaluations:
    +2 / 0 / -0
    Merci pour le tuto Cali !
     
  18. Embrouille

    Admin Embrouille

    Inscrit:
    19 Février 2016
    Messages:
    101
    Évaluations:
    +19 / 0 / -0
    merci Cali ,mais pour ceux qui on rien compris au réglages à mettre dans la console du jeux y a t'il un tuto ?
    ou nous mettre directement les lignes de commande a mettre dans la console copier coller quoi ?
     
  19. Calimero

    Admin Master Calimero

    Inscrit:
    4 Juillet 2008
    Messages:
    594
    Évaluations:
    +211 / 2 / -0

Partager cette page