マッチコードを使用して他のプレイヤーと接続できません。なぜですか?

Hellpointは、マルチプレイヤーにPeer-2-Peerアーキテクチャを使用するゲームです。これは、2人のプレイヤーが直接接続することを意味します。私たちのサーバーはマッチメイキングサービスとして機能し、プレイヤーに接続方法と接続タイミングの情報を提供します。「方法」が重要な部分です:サーバーは接続を確立するために使用するIPアドレスとポートを提供します。

サーバーは20,000から30,000の間でランダムなポートを選び、両方のプレイヤーに特定の時間にお互いのアドレスに接続するように指示します。受信からのカウントダウンを使用します。

例:プレイヤーBがマッチコードを使用してプレイヤーAに接続します。サーバーは、6秒後にポート23,456を使用してお互いに接続することをプレイヤーに伝えます。プレイヤーAはローカルおよびリモートポート23,456を使用してプレイヤーBのアドレスに接続要求を送信します。彼のルーターはポート23,456を開きます。一方、プレイヤーBはローカルポート8,765とリモートポート23,456を使用してプレイヤーAのアドレスに接続要求を送信します。彼のルーターはポート8,765を開きます... プレイヤーAは正しいポートに表示される着信要求を確認します。しかし、プレイヤーBはローカルポートが間違っているため、着信要求を確認できません。結果:「接続失敗」。

なぜプレイヤーBは間違ったローカルポートで要求するのですか?

ルーター、モデム、ISPは、要求を異なるローカルポートにリマップすることを決定できます。ほとんどの場合、これはセキュリティ対策と見なされます。しかし、これによりP2Pゲームが正常に機能するのが非常に難しくなります。これを行うルーターは通常、対称NAT、厳格NAT、またはNATタイプ3と呼ばれます。これを行うモデムは通常... 厄介なものと呼ばれます(ただし、そのようなモデムは非常にまれです)。これを行うISPはキャリアグレードNATと呼ばれます。ISPはコストを削減するために要求をリマップし、ユニークなIPを割り当てるのではなく、他のクライアントと同じサブネットワークにいるかのように扱います。

ルーター

ルーターがポートをリマップしている場合、通常は次のオプションを試すことができます:

  1. UPnPをオンにする; バージョン356以降、Hellpointは有効なデバイスを検出するとUPnP要求を行います
  2. NATレベルを下げる; 「厳格NAT」または「NATレベル3」が表示される場合、通常はレベル1(低)または2(中)に下げることができます
  3. 20,000-30,000のUDP範囲でPCに向けてポートフォワーディングまたはポートトリガリングを行うことができます

これらのオプションが利用できない場合や機能しない場合、テストとして(そのままにしないでください)、次のことを試すことができます:

  • コンピュータをルーターの非武装地帯に置く
  • コンピュータをモデムに直接接続する

これらも機能しない場合、モデムまたはISPがポートをリマップしている可能性が高いです。

モデム

一部のモデムにはルーターと同様の設定があります。残念ながら、モデムに設定がない場合、何もできません。

ISP

ほとんどのISPは、CG NATからの削除を要求することを許可します。これまでのところ、追加料金を要求したISPは5社中1社のみです。

Hellpointでの接続性を改善するためにCradle Gamesが行ったこと

バージョン353でポートスイッチングを導入しました。ゲームはローカルポートでリッスンを開始し、リモートポートが一致しない場合は通信を切り替えます。

これが正常に機能するためには、Windowsファイアウォールの受信ルールを変更して「エッジトラバーサル」要求を受け入れる必要があるかもしれません。許可されていない場合、Windowsファイアウォールは「トラバーサル」要求や以前に呼び出されていないポートへの要求をブロックします。

これは、友人のローカルポートがリマップされている場合であり、あなたのポートではないことに注意してください。ポートが変更されていることを検出し、それに合わせて調整する必要があります。

両方のプレイヤーがポートをリマップされている場合はどうなりますか?

両方のプレイヤーが対称NATの背後にいる場合、またはポートマッピングを行うモデム、またはCG NATを持つISPの背後にいる場合... 現在、このパズルの解決策はありません。2人のプレイヤーのうち1人がNAT制限を緩和する方法を見つける必要があります。

しかし、他のゲームは問題なくプレイできます!

FPSやバトルロイヤルゲームをプレイしている場合、他のプレイヤーに接続しているのではなく、ゲームのロジックを処理する専用サーバーに接続しています。「大きな」ゲームは、接続できない人々のために世界中に「リレー」を展開することもできます。リレーは通常高価であり、ゲームに多くの遅延を追加します。

CG NATを使用するインターネットプロバイダー:

  • Superonline(トルコ)
  • Fastweb(イタリア?)
  • Kabel Deutschland(ドイツ)
  • OTE(ドイツ)
  • Liberty Global(オランダ)
  • Zen(英国)

CG NATはUPnPやポートフォワーディングのいかなる形式もサポートしていないことに注意してください。

Hellpointで友達と接続を確立するのに役立つことを心から願っています。

これは役に立ちましたか?