ポートのルール
- PC のポートは、ユーザーが組み込みの既定の Windows ファイアウォールを使用している場合、すべての送信 Transmission Control Protocol (TCP) と User Datagram Protocol (UDP) トラフィックを許可し、要求されていない受信 TCP および UDP パケットをブロックします。
- 優先ローカル UDP マルチプレイヤー ポートは、他のポートと同じように動作しますが、要求されていない受信 UDP パケットを許可します。TCP は使用できません。
- 送信フローは常に機能し、これに対して属性を宣言する必要はありません。ユーザーがリモート サーバー/デバイスに最初のパケットを送信すると、そのデバイスからの以降の受信パケットは、無条件に配信されます。
- Microsoft Game Development Kit (GDK) タイトルのピアツーピアには、優先マルチプレイヤー ポート上で UDP を使用する必要があります。さらに、ファイアウォールと NAT パンチングを実行する必要があります。要求されていない受信 TCP パケットは、ユーザーがゲームを除外しない限りブロックされます。要求されていない受信 UDP パケットも既定でブロックされ、UDP ピアツーピア フローのブロックを解除するには、ユーザーによる除外設定か、なんらかの形式のファイアウォール パンチングが必要です。
- タイトルの除外設定は、ファイアウォールの設定を通じてユーザーが追加するか、パッケージング プロセス中に特定の属性を宣言することで追加できます。ユーザーのファイアウォール設定とゲーム パッケージの属性の両方が、実際の要求されていない受信パケットの動作を決定します。
- PC ユーザーはサードパーティのファイアウォールを使用できることに注意してください。これらの設定は、ポートの全体的な動作に影響します。詳細は下記のとおりです。
要求されていない受信トラフィックの管理
GDK を使用して作成された PC タイトルは、MSIXVC パッケージとして公開されます。 タイトルが MSIXVC パッケージとして出荷される場合、MicrosoftGame.config ファイルで privateNetworkClientServer や internetClientServer などの属性を宣言することで、要求されていない受信トラフィックの処理方法を宣言するオプションがあります。 重要: ユーザーのファイアウォールと設定の関係で、これらの属性は実際には効果を持たない場合があります。詳細については、ファイアウォールとトラフィックへの影響 を参照してください。 以下の表は、属性が要求されていない受信トラフィック アクセスと予想される顧客体験にどのように影響するかを示しています。GDK タイトルの MicrosoftGame.config を編集する方法
- タイトルのソース コードに移動します。
- MicrosoftGame.config を開きます。
- 以下のコード スニペットを追加してファイルを保存します。
ファイアウォールとトラフィックへの影響
ユーザーのファイアウォールと設定は、ゲームのネットワーク機能に影響します。このセクションでは、GDK タイトルに対するファイアウォールがトラフィックにどのように影響するかを説明し、ネットワーク設計を強化するのに役立ちます。 このトピックの理解を深めるため、参考として Win32 ゲームのファイアウォールに影響されるポート アクセスも記載しています。 一般に、privateNetworkClientServer と internetClientServer 属性は、サードパーティのファイアウォールを使用しているユーザーには効果がないと考えて備える必要があります。これは、総ユーザー数の 30 ~ 40% と予想されます。GDK 実行可能ゲーム
既定の Windows 10 ファイアウォールを使用しているユーザー- privateNetworkClientServer と internetClientServer 属性は前述のように機能します
- 送信ベースのフローは、privateNetworkClientServer と internetClientServer 属性の定義の有無にかかわらず、常に機能します。ユーザーがリモート サーバー/デバイスに最初のパケットを送信する限り、そのデバイスからの以降の受信パケットは配信されます。
- privateNetworkClientServer と internetClientServer 属性は効果がありません。これらのユーザーは要求されていない受信パケットを静かにドロップします。注: これはパッケージング中に MicrosoftGame.config でアクセス機能を宣言したかどうかに 関係なく 発生します。
- すべてのポート (優先ローカル UDP マルチプレイヤー ポートを含む) は、それらのファイアウォールで指定されたポリシーの対象となります。
- 送信ベースのフローは通常機能します。サードパーティのファイアウォール設定を通じてタイトルのネットワーク アクセスを適切に除外するのは、ユーザーの責任です。
Win32 実行可能ゲーム
注: このセクションは比較として追加されています。GDK タイトルは Win32 タイトルではありません。PC タイトルには開発に GDK を使用することをお勧めします。 既定の Windows ファイアウォールを使用しているユーザー- 最初の起動時に、ユーザーがゲーム サーバーへのアプリケーションのネットワーク アクセスを拒否または許可できるように通知が表示されます。
- 送信ベースのフローは、UI 通知なしでも常に機能します。
