Les développeurs peuvent désormais utiliser l'API réseau de Valve pour leurs jeux Steam

Au cours des dernières années, Valve a travaillé pour améliorer la qualité du multijoueur dans Dota 2 et CS: GO en relayant le trafic et en le transférant sur son réseau principal. Cela vous permet de protéger les jeux contre les attaques DoS, réduit le ping et améliore la qualité de la connexion. Dans la version 1.44 du SDK Steamworks, Valve a déployé une nouvelle API qui donne accès à ce service à tous les partenaires Steam.



Valve a publié un article spécial . L'API comprend:

  • L'accès au réseau Valve, qui permet aux joueurs d'être protégés contre les attaques, fournit un passage 100% NAT fiable et une connexion améliorée.
  • Outils pour évaluer instantanément le ping entre deux nœuds arbitraires sans envoyer de paquets.
  • Connexion de haute qualité via un protocole UDP fiable avec chiffrement de bout en bout.

Accès au réseau de vannes


Valve dispose de nœuds relais déployés sur 30 points de connexion réseau dans le monde avec une bande passante de plusieurs térabits. Il y a au moins quelques avantages du réseau.

Premièrement, le relais du trafic est anonyme et protège les serveurs de jeu et les utilisateurs contre les attaques DoS. De plus, comme les décisions de routage sont prises dynamiquement par le client, si le nœud relais devient indisponible, le client peut basculer vers un autre nœud en quelques secondes ou, si nécessaire, vers un autre point de connexion. Un attaquant ne pourra perturber le processus de jeu que si son attaque est capable de surcharger plusieurs centres de données à la fois.

Deuxièmement, les clients pourront choisir un itinéraire qui les transfère dès que possible d'une connexion Internet publique à des connexions dédiées. Valve garantit un routage optimal sur son réseau fédérateur, car ils travaillent avec plus de 2 500 fournisseurs Internet. De plus, le trafic de jeu sensible au délai a priorité sur les téléchargements de contenu sur HTTP. Cela est possible car la part du trafic de jeu dans la bande passante utilisée est relativement faible. Sur un réseau fédérateur, une augmentation soudaine du trafic hors jeu n'affectera pas la qualité du jeu.

La cerise sur le gâteau est de réduire le ping! Le protocole de valve donne au client la possibilité de choisir la route le long de laquelle les demandes seront root. Le client prend en compte chaque point de connexion de relais, détermine le retard de bout en bout sur la route, puis sélectionne la route avec le moins de retard.

Si vous autorisez les clients à choisir un itinéraire, leur connexion sera souvent meilleure que celle par défaut, de manière surprenante. Après avoir analysé 16 millions de connexions d'adresses IP clientes uniques à des serveurs dédiés dans les centres de données Valve, ils ont obtenu les résultats suivants:

  • Le temps de ping a diminué dans 43% des joueurs.
  • Pour 25% des joueurs, le temps de ping a diminué de 10 ms ou plus.
  • Pour 10% des joueurs, le temps de ping a diminué de 40 ms ou plus.

La portée des améliorations varie selon la région.



Outils d'évaluation Ping


Les ISteamNetworkingUtils interface ISteamNetworkingUtils incluent des outils d'évaluation de ping de relais basés sur le réseau. En mesurant le temps de ping vers différents nœuds de relais, nous générons des coordonnées qui décrivent l'emplacement de l'hôte sur Internet. En utilisant ces deux ensembles de coordonnées, Valve peut estimer très précisément le temps de ping entre deux nœuds arbitraires sans envoyer de paquets. Cette fonctionnalité est extrêmement utile lors de la sélection de jeux et de la sélection d'un nœud de réseau peer-to-peer.

Protocole de bout en bout Open Source


SteamNetworkingSockets non seulement d'accéder aux fonctions basées sur le réseau de relais Valve et à la dorsale du réseau pour les partenaires Steam, mais c'est également une bibliothèque de transport universelle pour les jeux, offrant les fonctionnalités suivantes:

  • Fragmentation, assemblage et relais. Dans votre code, vous envoyez et recevez des messages qui peuvent être inférieurs ou supérieurs aux paquets réseau. Pour augmenter l'efficacité, le protocole combine plusieurs petits messages en un seul paquet, divise les gros messages en plusieurs paquets, les collecte du côté de la réception et retransmet des segments de messages fiables perdus en raison de la perte de paquets.
  • Cryptage et authentification. La sécurité n'est pas une préoccupation secondaire pour un jeu en ligne moderne: la vulnérabilité peut ruiner l'impression du jeu. Un cryptage correct est un véritable défi. Valve a été guidé par des normes modernes pour des émissions fiables et les a appliquées à des messages non fiables utilisés par les jeux. Le cryptage intégré protège les données de l'interception par défaut. La protection contre les attaques détournées nécessite qu'un tiers de confiance donne accès au certificat ou au secret partagé. La vapeur est telle pour ses jeux: pour qu'un attaquant puisse intercepter ou modifier des paquets, il doit être à l'intérieur du processus de jeu, où le système VAC le détecte.
  • Les principales fonctionnalités de cette API sont également disponibles dans la version open source . Valve souhaite que les développeurs profitent pleinement de l' API , ce qui ne serait pas possible sans l'assurance que l'accès au code source est gratuit.

Ce n'est pas tout


Il s'agit du premier d'une série de mises à jour visant à améliorer les performances des jeux sur le réseau pour les partenaires Steam. Jusqu'à présent, Valve n'a amélioré que le fonctionnement des réseaux peer-to-peer, mais en outre, ils prévoient de donner aux partenaires l'accès aux développements utilisés pour leurs serveurs dédiés.

Source: https://habr.com/ru/post/fr443782/


All Articles