ゲームラグ白書 › 一部のユーザーだけに起きる問題
クライアントのバージョン・データの不一致 Client version / data table mismatch
原因ID pt-version · 主担当 ゲーム開発チーム・クライアント開発 · 副担当 ゲーム開発チーム・サーバー開発
図と実験のあるメインページでこのカードを開く →
2つ目のクライアントが別のインストール版だったりアップデートが済んでいなかったりすると、サーバーが送った新しいNPCのIDを知らないため、黙って無視します。
なぜ 別フォルダーのインストール版、またはアップデート中に起動したクライアント → すると 知らないNPC ID・モデルIDを受け取ると読み飛ばす → 画面では 新しく追加されたNPCだけが片方で表示されない
- 症状
- 表示されない・ゴースト
- 要因
- パケットロス
- 誰に起きるか
- 同じPCの片方のクライアントだけ
- いつ
- 接続直後・メンテ明け
- 担当
- 主担当 ゲーム開発チーム・クライアント開発 · 副担当 ゲーム開発チーム・サーバー開発
- ゲーム開発チームの対応
- クライアント:接続時にデータのバージョンを送る、知らないIDを受け取ったらログを残して代替表示。サーバー:接続時にデータのバージョンを確認し、違えば接続拒否・アップデートの案内。
- グラフでは
- 一部だけ高い · クライアントのバージョンごとの、知らないIDの受信数
- 確認箇所
- 2つのクライアントの実行ファイルのパスと、画面・ログに出るクライアント・データのバージョンを比較。ゲーム側では、接続時に送ったデータのバージョンと、知らないNPC・モデルIDを受け取って読み飛ばした回数を記録
- 該当する場合
- 2つのクライアントのバージョンかインストールフォルダーが違い、表示されないNPCが最近のアップデートで追加されたもので、アップデートを終えたインストール版では表示される
- 該当しない場合
- バージョンとインストールフォルダーが同じなのに片方にだけいないなら、チャンネル・フェーズの違いか、ロード・伝達側の原因
- 確認手段
- ユーザー側の環境で確認
出典
- NetworkConfig class (Netcode for GameObjects 2.5) Unity
ProtocolVersionが違うと互いに通信せず、ForceSamePrefabsで接続時にプレハブのリストの違いをチェック
あわせて読みたい原因
同じ層:一部のユーザーだけに起きる問題
同じ症状(表示されない・ゴースト)を起こすほかの層の原因
図と実験のあるメインページでこのカードを見る