ゲームラグ白書 › 症状から探す
ワープ:原因47件と担当
別名:瞬間移動、テレポート、止まって飛ぶ
図のあるメインページの症状辞典で開く →
キャラクターが途中の移動なしに、離れた位置へ一瞬で移ります。
相手がその場に立ち止まっていたかと思うと、すでに遠くまで進んだ位置に突然現れます。
たいていは、しばらくパケットが途切れたことを意味します。パケットロス、回線の瞬断、サーバーの停止、外挿の失敗を疑います。ほかの人は問題ないのに一人だけワープするなら、まずその人の回線を疑います。
この症状を引き起こす原因
L1 クライアントのゲームプロセス
- 過度な外挿(デッドレコニング): パケットが届かない間は最後の速度のまま動かし続けて見せ、外れていたと分かると元に戻します。 (ゲーム開発チーム・クライアント開発)
L2 クライアントのOS・端末
- 受信バッファのあふれ: ゲームの処理が忙しく、ソケット(OSが提供するネットワーク送受信のインターフェース)からパケットを取り出すのが遅れると、OSのバッファがあふれます。 (ゲーム開発チーム・クライアント開発)
- Wi-Fiのバックグラウンドスキャン: OSが周囲のWi-Fiを探すために定期的にチャンネルを切り替えている間、通信が一瞬止まります。 (外部・外部)
L3 家庭内ネットワーク
L4 インターネット回線
- 衛星インターネット(低軌道・静止軌道): 衛星インターネットは電波が宇宙を往復するため、静止軌道衛星では往復だけで0.5秒を超えます。Starlinkのような低軌道衛星は普段は速いものの、経路を割り当て直す瞬間に遅延が揺れ、一瞬途切れることもあります。 (外部・外部)
- ピーク時間帯のピアリング混雑: 夜9〜11時ごろは動画のトラフィックが急増し、通信事業者間の接続区間(ピアリング)が混雑しやすくなります。 (インフラチーム・ネットワークインフラ)
- 海底ケーブル・国際回線の障害: 海底ケーブルが切れると、修理されるまでの数週間(長ければ数か月)は遠い迂回経路を回ることになり、残った回線は混雑します。 (外部・外部)
- BGPの経路変更・収束: インターネットの経路情報が変わり、再び収束するまでの数秒〜数十秒(まれに数分)の間、パケットが失われます。 (インフラチーム・ネットワークインフラ)
- ECMP経路のうち1本の不良: 通信事業者やデータセンターは同じ宛先への経路を複数持ち、接続ごとに1本の経路を決めて送ります。1本の経路だけが故障すると、その経路に割り当てられた人だけにラグが出続けます。 (インフラチーム・ネットワークインフラ)
- 通信事業者の速度制限・トラフィック管理: データ使用量の上限を超えた場合や、特定のトラフィックを管理する料金プランでは、パケットが遅らされたり破棄されたりします。 (外部・外部)
- 国・通信事業者単位のUDP制限・パケット検査: 一部のネットワークでは、特定のUDPアドレス・ポートをブロックしたりUDPの速度を制限したりし、パケット検査装置が識別できないプロトコルを遮断します。UDPで通信するゲームは、そのネットワークでは接続できなかったり、頻繁に切断されたりします。 (外部・外部)
- 回線品質の不良: 端子の接触不良や古いケーブル、モデムの異常は、継続的なパケットロスと周期的な回線断を引き起こします。 (外部・外部)
- DDoSによる共有回線の飽和: ゲーム会社や同じネットワーク内の別の宛先を狙った大量の攻撃が、共有回線を埋め尽くします。 (インフラチーム・ネットワークインフラ)
- VPN・ラグ軽減ツール経由: VPNやラグ軽減ツールを使うと、パケットはその会社の中継サーバーを経由します。中継サーバーが遠かったり混雑していたりすると、かえって遅くなります。 (外部・外部)
L5 データセンターのネットワーク機器
- DDoS対策の経由・誤検知: 攻撃を防ぐためにトラフィックをスクラビングセンターに回すと経路が長くなり、正常なユーザーを攻撃と誤認してブロックすることもあります。 (インフラチーム・ネットワークインフラ)
- スイッチのマイクロバースト: 複数のサーバーが同じ瞬間に数千人へ一斉にパケットを送ると、そのトラフィックが集まるスイッチポートの小さなバッファが1ms足らずであふれます。 (ゲーム開発チーム・サーバー開発)
- データセンター回線の飽和: アップデートデータの配信・ログ転送・バックアップがゲームと同じ回線を使うと、回線がいっぱいになります。 (インフラチーム・ネットワークインフラ)
- ケーブル不良・ポートエラー: 光モジュールやケーブルが不良だと、その経路を通るパケットが一定の割合で壊れます。 (インフラチーム・ネットワークインフラ)
L6 サーバーのネットワークカード
- NIC割り込みの単一コア集中: NICがパケット到着の割り込みを1つのCPUコアにだけ送ると、そのコアがボトルネックになります。 (インフラチーム・サーバーインフラ)
- リングバッファ不足: NICがパケットを一時的に入れておくリングバッファが小さいと、瞬間的に集中したときにバッファがあふれて破棄されます。 (インフラチーム・サーバーインフラ)
- クラウドのPPS上限超過: クラウドのサーバーには種類ごとに毎秒のパケット数・帯域幅の上限があり、超えると黙って破棄されます。 (インフラチーム・サーバーインフラ)
- NIC帯域幅の飽和: 1Gbps・10Gbpsのカードを限界まで使うと、送信キューが長くなり、最終的に破棄されます。 (ゲーム開発チーム・サーバー開発)
- クラウドホストのメンテナンス・ライブマイグレーション: クラウド事業者は物理サーバー(ホスト)をメンテナンスするとき、仮想マシンを別のホストに移したり(ライブマイグレーション)、一時的に止めたりします。その間はサーバー全体が止まり、止まる時間が長いと接続が切れます。 (インフラチーム・サーバーインフラ)
L7 サーバーOS(カーネル)
- カーネルのソケットバッファ不足: 送受信バッファが小さいと、バーストトラフィックが集中したときに、UDPで受信したパケットは破棄され、TCPの送信はバッファに空きがなくブロックされます。 (インフラチーム・サーバーインフラ)
- サーバーのconntrackテーブル飽和: Linuxのファイアウォールがすべての接続を記録する接続追跡(conntrack)テーブルが上限に達すると、新しいパケットを破棄します。 (インフラチーム・サーバーインフラ)
L8 ソケットとプロトコル
L9 サーバーのゲームプロセス
- ブロードキャストの急増: 1人の動きを、その人が見えている全員に送ると、集まった人数の2乗に比例する数の更新を送ることになります。 (ゲーム開発チーム・サーバー開発)
- アップデートによるトラフィックパターンの変化: 新しいコンテンツ・エフェクト・同期項目がパケットのサイズと頻度を増やすと、問題なく動いていたサーバーがアップデート後からMTU・帯域幅・パケット数の上限に引っかかります。 (ゲーム開発チーム・サーバー開発)
同期設計
- クライアント権威型: それぞれが自分の結果を決めると、自分の画面は快適ですが、ほかの人の画面と結果が食い違い、チートにも弱くなります。 (ゲーム開発チーム・サーバー開発)
- ロールバックネットコードの予測失敗: 相手の入力を予測して先に見せ、外れたら巻き戻して計算し直します。Pingが大きいほど巻き戻す幅が大きくなります。 (ゲーム開発チーム・クライアント開発)
- コマンド同期の経路計算の不一致: 「ここへ行け」だけをやり取りして経路は両側でそれぞれ計算すると、計算が少し違うだけで、キャラクターやモンスターが別の経路を進んだ後、元の位置に引き戻されます。 (ゲーム開発チーム・サーバー開発)
- 低いスナップショット送信レート: サーバーが位置の更新(スナップショット)を1秒に数回しか送らないと、その分だけ補間バッファを長く取る必要があり、ほかのキャラクターをより遠い過去の姿で見ることになります。 (ゲーム開発チーム・サーバー開発)
一部のユーザーだけに起きる問題
- 回線が重い人がほかの人の画面でまとめて動く: 回線が悪い人の入力は、不規則にまとまってサーバーに届きます。サーバーがティックごとに受け取った分だけ適用すると、ほかの人の目にはそのキャラクターが一瞬止まってから一気に何歩も進んで見えます。 (ゲーム開発チーム・サーバー開発)
- モンスターの制御権が遅いクライアントにある: サーバー負荷を減らすため、モンスターの移動計算を近くのプレイヤー1人のクライアントに任せるゲームがあります。その人の回線が悪いと、そのモンスターが全員の画面でおかしな動きをします。 (ゲーム開発チーム・サーバー開発)
- 基準スナップショットの欠落: サーバーが「前回から変わったものだけ」を送る方式では、最初に1回送る全体の情報(基準)を失うと、その後の差分を適用できません。 (ゲーム開発チーム・サーバー開発)
TCP再送の根本原因
- 無線区間のパケットロス: Wi-Fiとモバイル回線は、無線区間で何度か再送し、それでも届かなければパケットを破棄します。破棄されたパケットは、TCPがかなり後になってから送り直します。 (外部・外部)
- 送信バーストによる浅いバッファのあふれ: サーバーがティックごとに数千人分の更新を一瞬でまとめて送ると、スイッチの小さなバッファやクラウドの瞬間的な上限が1ms足らずであふれ、一部が破棄されます。 (ゲーム開発チーム・サーバー開発)
- ポリサーによる超過分の破棄: 通信事業者の料金プラン、クラウドインスタンスの上限、DDoS対策機器は、決められた速度を超えるパケットをキューに入れずにすぐ破棄することもあります。 (インフラチーム・ネットワークインフラ)
- 物理エラー(不良ケーブル・光モジュール・コネクター): ケーブルの損傷、ほこりの付いた光コネクター、寿命を迎えた光モジュールはビットエラーを起こし、壊れたパケットは機器が黙って破棄します。 (インフラチーム・ネットワークインフラ)
- 受信サーバーのホストでのパケット破棄: パケットはサーバーまで届いたのに、NICのリングバッファ(到着したパケットを一時的に入れておくバッファ)があふれたり、カーネルで受信処理を担うコアが飽和したりして破棄されます。 (インフラチーム・サーバーインフラ)
- 中間機器の処理上限超過(ファイアウォール・IPS・DDoS対策): ファイアウォール、侵入防止システム(IPS)、DDoS対策機器は、通過するパケットを1つずつ検査します。検査能力を超えた瞬間から、処理しきれなかったパケットを破棄します。 (インフラチーム・ネットワークインフラ)
- 経路変更・ECMPの不良経路: インターネットの経路が切り替わる数秒の間、または複数のECMP経路のうち不良な経路に割り当てられた接続で、パケットが消えます。 (インフラチーム・ネットワークインフラ)
図のあるメインページの症状辞典を見る