世界を動かす技術を、日本語で。

ValveのP2Pネットワーキングが2ヶ月以上も不具合を抱えている

概要

  • Steam Networking を利用するP2Pゲームにて、 イスラエル国内PC間 で高いping問題が発生中
  • Street Fighter 6 などで、PC同士のみ120ms前後の高遅延
  • PC-PS5間 や他のP2Pゲーム(Tekken 8等)では問題なし
  • 複数ISP・複数ユーザー で再現、ISPや自宅ネットワーク側の問題ではない
  • 中東地域全体 で同様の報告もあり、地域的なSteam側の問題の可能性

Steam Networkingを利用したP2Pゲームにおけるイスラエル国内の高ping問題

  • 2024年3月13日頃から、イスラエル国内のPC同士でSteam Networkingを利用したP2Pゲームにて pingが120ms前後 に急増
  • Street Fighter 6 で特に顕著。ヨーロッパのプレイヤーとの対戦では 60-80ms と正常値
  • PC-PS5間 のクロスプレイでは 5-10ms と極めて低遅延
  • Tekken 8 などSteam Networking非採用のP2Pゲームでは高ping問題が発生しない
  • 複数のISP、複数のユーザー環境で同様の現象を確認
  • ISP(インターネットプロバイダ)との協議やポート開放、ネットワーク機器の確認も効果なし
  • 他の中東諸国(例: Egypt) でも同様の報告があり、 地域全体のSteamネットワーク構成 の問題が疑われる

問題の切り分けと現状

  • PC同士 でのみ発生し、 PC-PS5間 では発生しないことから、Steam Networkingの PC用ネットワークルート に限定された障害の可能性
  • ISPや自宅ネットワーク 側の問題は否定されているため、 Steam側のサーバールートや地域ゲートウェイ の障害・設定ミスの可能性
  • Steamサポートやゲームサポート への問い合わせは効果なし
  • コミュニティ全体 での再現性が高く、個別環境の問題ではない

対応策・提案

  • Steamサポートへの英語での詳細な報告 (複数ユーザーからの同時報告が効果的)
    • 問題発生時の traceroute結果やping値の記録 を添付
    • Street Fighter 6 など具体的なタイトル名、発生日時、再現手順を明記
  • ゲーム開発元(Capcom等)へのバグレポート も併用
  • Redditや公式フォーラム などで同様の問題を訴えている他地域ユーザーと連携し、 Steam運営への集団要望 を実施
  • VPN経由での接続テスト も推奨(VPN使用時にpingが改善する場合、Steamの地域ルーティング問題が濃厚)
  • 問題が解決しない場合、一時的にSteam Networking非採用のゲームやクロスプレイ(PC-PS5)を利用する回避策

まとめ

  • 問題の本質は Steam Networkingの地域ルーティング障害 の可能性が高い
  • ユーザー個別の対策では限界 があるため、 Steam運営への集団的な働きかけ が最も現実的な解決策
  • 同様の問題を抱える他国・他地域ユーザー と連携し、 問題の可視化 を進めることが重要

Hackerたちの意見

この問題はイスラエルや他の中東の国々で大きなP2Pの問題として始まったけど、調査を進めるうちに、どうやら世界的な問題みたいだね。

世界的に見ると、イスラエル、ロシア、中国ってことだね。どれもインターネットの自由をあまり好まない国で、監視や検閲の歴史が長い。これは、P2Pネットワークに対する政府の政策の副作用かもしれないね。検閲を行うISPを回避するのを難しくするためのやつ。

まあ、ここで言ってもしょうがないけど、オープンソースや公開ソースのライブラリやアプリケーションについて、バグ報告やプルリクエストに関する議論が好きなんだよね。みんなが集まって、自分の症状や回避策、原因についての考えを語り合うのって、すごく心温まるよ。

GitHubの議論は、以前はプロフェッショナル向けのプラットフォームだったから、もっと質が高かったんだよね。今は、ほとんどredditや4chanのスレッドみたいに劣化してる議論が多くて、もう離れたくなる理由の一つだよ。

うーん、俺は中国にいるけど、3週間前にSteamのSpacewar開発ゲームを通じてサードパーティのゲームをプレイしたら、問題なく動いたよ。

HNでの大胆な仮説だけど、GHの問題の最後まで読むと、ユーザーたちがSTUNが失敗してるって報告してるんだよね(つまり、P2Pリンクの確立ができず、高遅延の中継サーバーにフォールバックしてる)。複数のユーザーが古いValveのWebRTC DLLに手動で置き換えることでこの問題を回避できたみたい。Valveの開発者からのポストモーテムを読みたいな。

面白いね、数ヶ月前のアップデートでストリートファイター6がP2Pから中継に切り替わったって噂されてたけど、まさかそれがValveの問題だとは思わなかったよ。

ここで見ているのはValveの失敗じゃなくて、中東の紛争がサイバースペースに広がって、一般市民に影響を与えているんじゃないかな。タイミングや影響を受けている国を見てみて。中国も自由なインターネットで知られているわけじゃないし。WebRTCはフォールバックとして機能するけど、暗号化されていて他にあまり使えない。逆にSTUNは暗号化されてなくて、プロトコル自体がDDoSのリフレクションや増幅に使われることもある。これが何らかの形で武器化されたり、リアルタイムでブロック・分析されて接続が切れることがあっても驚かないよ。

それは逆だと思うよ。WebRTCは機能しなくて、STUNは機能してる。

STUN/TURNは、WebRTCのためのいわば「icanhazip」みたいなもんだよ。STUNは自分のパブリックIP:ポートを教えてくれる。TURNも同じだけど、返されるIP:ポートは、問い合わせ時に動的に割り当てられたものだから、実際のものとは違うんだ。WebRTCクライアントはそのSTUN/TURNのレスポンスを受け取って、ロビーサーバーのチャットメカニズムみたいなものでピアに送って接続を設定する。このおかげで、両端であたかもアウトバウンド接続があるかのようにNATテーブルのエントリーが作られるんだ。STUN/TURNだけではP2P接続はできないよ。STUN/TURNはWebRTCに必要なツールに過ぎない。

IPv6と、ニッチで複雑な機能なしの最小限のアセンブリで書かれたネットワークコード。

タイトルのせいで、どこでも壊れてるみたいに見えるね…

タイトルがGitHubの問題と合ってないね。「イスラエルや他の中東の国々での重大なP2P問題」って。

イスラエルや他の中東の国々 なんでこの部分をタイトルから外したの?クリック数稼ぎのため?

ここにいる時間が長いから、タイトルの文字数制限を超えるってことは分かるよね。

それとも、世界が必要としていないものがあるとしたら、それはイスラエル/パレスチナ問題についての炎上スレッドがまた一つ増えることかな?

なんてつまらない投稿なんだ、こんなにアップボートがつくなんて信じられない。タイトルに「Valve」ってあったから、重要だと思った人が多かったのかな。でも、問題の内容はタイトルと全然合ってないのに。