正直な答えは「場合による」で、役に立つ作業は自分がどちらの場合なのかを見極めることだ。トンネルはゲームサーバーへの経路を別の経路に置き換える。その経路は短くなることも、長くなることも、単に安定することもある。この問いに事前の答えがないのは、出口の場所が、特定のゲーム地域への先の経路についてほとんど何も語らないからだ。四つの確認を順番にこなせば、標語ではなく比較が手に入る。

出口を選ぶ前に問題を名づける

実際に何が起きているのかを書き出す。安定して高い遅延、戦闘中のスパイク、パケット損失、切断、あるいは参加の拒否。これらの症状にはそれぞれ異なる原因が考えられ、VPNが改善できる経路の問題はそのうち一つだけだ。参加できないのは多くの場合、認証、地域の選択、サービスのポリシーであって遅延ではない。症状を先に名づければ、間違った層に一晩を費やさずに済む。

次に、記録できる数値で「より良い」がどんな形になるかを決める。

平均は難しさを隠す。数秒おきにスパイクしながら妥当な平均を報告するセッションは、まったく動かない少し高めの平均より体感が悪い。平均、最悪値、そして最悪値がどれくらいの頻度で起きたかを記録しよう。プレイヤーが実際に気づくのは二番目と三番目の数字だからだ。

地域、端末、ネットワークを固定する

一度に一つの変数だけを変える。そうでなければ結果に意味はない。ゲーム地域、端末、接続ネットワーク、時間帯を実行間で揃える。地域が違えば選ばれるインフラも変わり、時間帯が違えば負荷も変わる。

プライバシー要件が許すなら、まずトンネルなしの基準測定を行い、次に一方の出口、さらに二つ目を試す。直接のテストが許容できない場合は、二つの出口を比較し、基準があったかのように装うのではなく、その制約をメモに書いておく。出口はマーケティングページの国名ラベルではなく、その先の経路で選ぶ。ゲーム地域への経路が悪い近場の出口は、よくある残念な結果だ。

ping -c 50 game-region.example
mtr --report --report-cycles 100 game-region.example

ゲームが用意しているなら練習モードや診断モードを使う。試合ごとにサーバーも対戦相手も変わるからだ。練習ラウンドは、測定すべきときに遊び続けたくなる誘惑も取り除いてくれる。

安定した遅延とスパイク・損失を分ける

ゲーム自身の統計はゲームの体験を語るが、無関係なホストへのpingはそうではない。平均遅延は、照準を不安定に感じさせる変動を隠してしまう。一つの数字では、混雑したローカル回線と遠い経路を切り分けられない。ジッターと損失こそが違いを表す。

スパイクを目に見える物事と突き合わせる。家のどこかでのアップロード、無線の切り替え、トンネルの再接続などだ。

弱い無線回線は、パケットが出口に届く前から弱い。だから固定位置から、あるいは可能なら有線で試す。問題が主に負荷時に出るなら、遠い出口を探す前にローカルの待ち行列とバッファブロートを確認する。ICMPの応答がないのは、何かがプローブを無視した証拠にすぎず、ゲームが更新を失っている証拠ではない。この二つを切り分ければ、契約と議論を一つ節約できる。

どの転送方式を比べているのかを知る

トンネルの中でUDPを送るゲームは、まったく違う挙動をする外側の転送方式で運ばれることがある。その外側の層での順序付けと再送は、どちらも求めていないプロトコルに遅延を加える。ポートを書き換えて期待するのではなく、転送方式ごとに有効なサーバープロファイルを比較しよう。書き換えたプロファイルは相手側に待ち受けを作り出せない。UDPの利用ガイドラインは、自前のタイミングを管理するアプリが一括転送と違う振る舞いをする理由を説明している。

出口を変えると、サービスがあなたの位置について推測する内容も変わり、確認や地域ポリシーが発動することがある。

短いセッションごとに地域、出口、転送方式を記録し、三つすべてが一致するセッションだけを比較する。良いセッション一つは逸話にすぎないが、一貫した三つは行動できる結果だ。トンネルはログインするアカウントを変えない。ゲームの規約が本当に気にしているのはそこだ。

関連記事