Documentation Steamworks
Réseau Steam
Différentes API de réseau peuvent être utilisées pour envoyer des messages entre les personnes qui jouent.

Nos dernières API relaient les paquets en utilisant le réseau de Valve par défaut, ce qui assure la protection des comptes et des serveurs de jeux. Ce réseau est plus performant et plus fiable. Il prend en charge la connectivité UDP. Une version open source est disponible sur github.
  • ISteamNetworkingMessages est une interface de haut niveau qui permet d'envoyer des messages à des pairs arbitraires. Cela fonctionne comme UDP, dans le sens où on n'utilise pas de handles de connexion. Vous spécifiez le ou la destinataire chaque fois que vous envoyez un message, de manière similaire à la fonction de socket sendto(). Vous n'avez pas besoin de choisir un pair comme « client » et de démarrer la connexion, et le serveur n'a pas besoin d'« écouter » les connexions du client ou de les « accepter ». Tous les pairs peuvent envoyer un message immédiatement. Au vu de sa grande similarité avec UDP, il s'agit probablement de l'API la plus simple pour porter du code UDP existant. Néanmoins, contrairement à UDP, l'API prend en charge des messages plus grands qu'un unique paquet et assure une remise fiable des messages. Le trafic est transmis par la dorsale de Valve, ou bien une connexion directe peut être établie dans les cas pertinents.
  • ISteamNetworkingSockets est une interface de plus bas niveau qui utilise des handles de connexion pour envoyer et recevoir des messages.
  • ISteamNetworkingUtils comprend divers utilitaires, parmi lesquels des outils pour estimer la durée du ping entre des hôtes Internet arbitraires.
  • steamnetworkingtypes est un entête qui contient de nombreux types et utilitaires courants.
  • Steam Datagram Relay est un service qui relaie le trafic de votre jeu sur la dorsale de Valve. Cela permet d'éviter que les adresses IP ne soient révélées et, dans de nombreux cas, cela améliore les temps de ping et la qualité de la connexion. Toutes les connexions P2P sont automatiquement transmises sur la dorsale de Valve quand cela est pertinent. Ce document décrit les étapes à suivre si vous voulez utiliser SDR pour des serveurs de jeux spécifiques, optimiser les temps de ping et protéger les serveurs contre les attaques par déni de service.

ISteamNetworking est une ancienne API obsolète. Si vous l'utilisez, pensez à migrer rapidement vers une API plus récente, car il est possible que nous la supprimions du SDK lors d'une prochaine mise à jour.

Cette API fonctionne mieux lorsqu'elle est utilisée avec le matchmaking Steam. En fonction des types de paquets, vous pouvez tout acheminer via un compte qui fait office d'hôte (en général, le compte propriétaire de la salle d'attente) ou via un serveur de jeu, ou encore tout envoyer directement à chaque personne.

Internet regorge d'articles concernant la programmation réseau. En voici quelques-uns, en anglais, que nous vous recommandons :

Consultez cet article pour découvrir comment utiliser l'API ISteamNetworkingSockets pour les communications entre le client et le serveur.