メインコンテンツまでスキップ

Introduction to Peer-to-Peer via a Relay Server

Last updated on August 9, 2023

概要

AGS は、WebRTC プロトコルに基づいて、ゲームが安全なピアツーピア通信を実装するための下位レベルネットワーキング機能を提供します。

AGS P2P 機能を有効にするコンポーネントには、次のようなものがあります。

  • シグナリングサーバーとして機能するAGSロビーサービス
  • AGS Armada でホストされるTURN サーバー
  • プレイヤーセッションを管理し、追跡するセッション サービス
  • 複数のリージョンにデプロイされたすべての TURN サーバーを管理し、追跡する TURN マネージャーサービス(リージョン選択についてはお問い合わせください)
  • ネットワーキングユーティリティライブラリ(現在UnrealとUnityがサポートされています)

AGS P2P ネットワーキングライブラリを使用して、ゲームクライアントは (ピアとして) 他のゲームクライアントとの安全な接続を確立できます。裏では、AGS はハンドシェイクネゴシエーション、安全なアドレス交換 (STUN)、NAT トラバーサル、およびフォールバックを処理して、直接接続できない場合にリレーサーバー (TURN) を使用します。

P2P ネットワーキングライブラリは、一般的に専用サーバー なしでピアホストのマルチプレイヤーセッションを実装するゲームに使用されます。AGS P2P ネットワーキングライブラリは、UnrealのレプリケーションシステムおよびUnityのゲームオブジェクトと組み合わせて使用できます。

キーコンセプト

WebRTC、ICE、STUN、および TURN テクノロジーは、P2P システムの基盤です。

WebRTC は、インターネットを介したアプリケーション間のリアルタイム通信を促進するためのオープンプロトコル標準です。

WebRTC は複数のプロトコルとテクニックを採用しています。

  • インタラクティブ接続確立 (ICE) は、2 台のコンピュータが互いに通信し、ネットワークアドレス変換 (NAT)、ファイアウォール、およびその他のネットワークバリアに対処するためのテクニックです。

  • ICE は、STUN (Session Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs))サーバーを介してネットワーク接続情報を交換したり、TURN (Traversal Using Relays around NAT)サーバーを介してネットワークトラフィックをリレーしたり、さまざまな技術を使用しています。

AGS はこれらの STUN および TURN サーバーをホストし、Google の COTURN プロジェクトに基づいています。

続きを読む:

セキュリティ

ピアが別のピアに接続しようとすると、AGS ロビー サービス内に実装されたシグナリングサーバーを介してハンドシェイクが実行されます。セキュリティ上の目的で、公開 IP アドレスは公開されず、ピア間で交換されません。

次のステップ

AGS ネットワーキングユーティリティのソース:

P2P ネットワーキングライブラリの使用方法に関するサンプルプロジェクト: