Steamworks ドキュメンテーション
Steamネットワーキング
ネットワークAPIでは、プレイヤー間のメッセージ通信に使用できる、いくつかの異なるAPIを用意しています。

この最新のAPIは、デフォルトでValveネットワークを介してパケットをリレーし、プレイヤーとゲームサーバーを確実に保護します。 より高性能であり、より高品質の信頼性レイヤーを使用しています。 また、通常のUDP接続もサポートしています。 オープンソース版はgithubから入手できます。
  • ISteamNetworkingMessages-任意のピアにメッセージを送信するための高レベルインターフェイス。 接続ハンドルを使用しないという点で、UDPに似ています。 sendto()ソケット関数と同様に、メッセージを送信するたびに受信者を指定します。 1つのピアを「クライアント」として選択して接続を開始する必要はなく、サーバーはクライアント接続を「リッスン」したり「受け入れ」たりする必要はありません。 どちらのピアもすぐにメッセージを送信できます。 UDPと非常によく似ているため、既存のUDPコードを移植するのに最も簡単なAPIと言えるかもしれません。 しかし、生のUDPとは異なり、このAPIは、単一パケットよりも大きなメッセージや、信頼できるメッセージの送信をサポートしています。 トラフィックは、Valveのバックボーンを介してリレーされ、必要な場合は直接接続が確立されます。
  • ISteamNetworkingSockets-メッセージ送受信用の低レベル接続ハンドル指向のインターフェイス。
  • ISteamNetworkingUtils-任意のインターネットホスト間のping時間を推定するためのツールなど、さまざまなユーティリティがあります。
  • Steamnetworkingtypes-多くの一般的なタイプとユーティリティを備えたヘッダーです。
  • Steamデータグラムリレー-ゲームトラフィックをValveのバックボーンを介してリレーするサービス。 これによりIPアドレスが公開されることを避けられるほか、多くの場合、ping時間と接続の質が改善します。 すべてのP2P接続は、必要に応じて自動的にValveのバックボーンを介してリレーされます。 このドキュメントでは、専用サーバーゲームにSDRを使用して、ping時間を最適化し、DoS攻撃からサーバーを保護したい場合に必要な手順について説明します。

ISteamNetworking-非推奨の古いAPI。 今後のリリースでこのAPIをSDKから削除する可能性があるため、使用している場合は、すぐに新しいAPIに移行することを検討してください。

Steamマッチメイキングとロビーと使うことでこのAPIは最適に機能し、パケットの種類に応じて、ホストとなる1人のプレイヤー(通常はロビーオーナー)またはゲームサーバーを通してすべてを通信するか、あるいは各プレイヤーにすべてを直接送信できます。

多様なネットワークに関する優れた記事をインターネット上で読むことができます。 以下、弊社からのおすすめです:

クライアント-サーバーコミュニケーションにおけるISteamNetworkingSocketsの使用例は、Steamworks APIのサンプルアプリケーション(SpaceWar)を参照してください。