Infos Netcode Source


edved03

Recommended Posts

Bon, voile un petit texte ecris par Valve (je pense) au sujet de la question tres "chaude" du netcode de CS:S

http://www.valve-erc.com/srcsdk/general/multiplayer_networking.html

This screenshot was taken on a listen server with 200 milliseconds of lag (using net_fakelag), right after the server confirmed the hit. The red hitbox shows the target position on the client where it was 100 milliseconds ago. Since then, the target continued to move to the left while the user command was traveling to the server. After the user command arrived, the server restored the target position (blue hitbox) based on the estimated command execution time. The server traces the shot and confirms the hit (the client sees blood effects). Client and server hitboxes don't exactly match because of small precision errors in time measurement. Even a small difference of a few milliseconds can cause an error of several inches for fast-moving objects. Multiplayer hit detection is not pixel perfect and has known precision limitations based on the tickrate and the speed of moving objects. Increasing the tickrate does improve the precision of hit detection, but also requires more CPU, memory, and bandwidth capacity for server and clients.

Bonne lecture.

Link to comment
Share on other sites

Petite traduction (merci Google) avant qu on ne se pleigne de ne pas avoir suivi les cours d anglais au collège ;)

"Ce screenshot a été pris sur un serveur d'écoute avec 200 millisecondes du retard (employant le net_fakelag), de droit après que le serveur ait confirmé le coup. Le hitbox rouge montre la position de cible sur le client où il était il y a de 100 millisecondes. Depuis lors, la cible a continué à se déplacer vers la gauche tandis que l'ordre d'utilisateur voyageait au serveur. Après que l'ordre d'utilisateur soit arrivé, le serveur a reconstitué la position de cible (hitbox bleu) basée sur le temps d'exécution estimé de commande. Le serveur trace le projectile et confirme le coup (le client voit des effets de sang). Les hitboxes de client et de serveur ne s'assortissent pas exactement en raison de petites erreurs de précision dans la mesure de temps. Même une petite différence de quelques millisecondes peut causer une erreur de plusieurs pouces pour les objets rapides. La détection multijoueuse de coup n'est pas Pixel parfait et a su des limitations de précision basées sur le tickrate et la vitesse des objets mobiles. L'augmentation du tickrate améliore la précision de la détection frappée, mais exige également plus d'unité centrale de traitement, de mémoire, et de capacité de largeur de bande pour le serveur et les clients."

Bonne compréhension... :ange:

Link to comment
Share on other sites

  • 6 years later...

Archived

This topic is now archived and is closed to further replies.