ゲームラグ白書 › 一部のユーザーだけに起きる問題
多重起動の制限 Multi-client restriction policy
原因ID pt-multiclient · 主担当 ゲーム開発チーム・クライアント開発 · 副担当 ゲーム開発チーム・サーバー開発
図と実験のあるメインページでこのカードを開く →
セキュリティモジュールやサーバーのポリシーが1台のPCでの複数クライアントを制限していると、2つ目のクライアントは起動・接続ができないか、先に起動した側が切断されます。一部のゲームは追加のクライアントの機能だけを制限します。
なぜ セキュリティモジュールが多重起動を検知、またはサーバーが同じ端末からの追加接続を制限 → すると 2つ目の起動・接続を拒否するか、片方を切断。まれに追加のクライアントの一部の機能だけを遮断 → 画面では 接続不可か片方の切断。機能だけを制限するゲームでは、片方だけNPC・ショップが表示されない
- 症状
- 接続不可・無限ロード, 表示されない・ゴースト, 切断
- 要因
- パケットロス
- 誰に起きるか
- 同じPCの片方のクライアントだけ
- いつ
- 接続直後・メンテ明け
- 担当
- 主担当 ゲーム開発チーム・クライアント開発 · 副担当 ゲーム開発チーム・サーバー開発
- ゲーム開発チームの対応
- クライアント:制限するなら明確な案内メッセージを出す、セキュリティモジュールにQA用の例外を設定。サーバー:同じ端末からの接続制限にもQA用の例外を設定。
- グラフでは
- 一部だけ高い · 理由別の接続拒否・切断数(多重接続)
- 確認箇所
- 2つ目のクライアントを起動したときに出るメッセージと、先に起動した側の切断メッセージを確認。サーバーの接続拒否・強制切断のログに、多重接続・同一端末などの理由コードが残っているかを確認
- 該当する場合
- 2つ目の起動・接続の瞬間に拒否メッセージが出るか、先に起動した側が多重接続を理由に切断され、クライアントを1つだけ起動すれば問題ない
- 該当しない場合
- 拒否・切断の理由なしに両方とも接続できているのに片方だけNPCが表示されないなら、固定UDPポートの衝突、IP・端末基準のセッション識別バグ、ロード・表示側の原因
- 確認手段
- ユーザー側の環境で確認
出典
- CreateMutexW function (synchapi.h) Microsoft
名前付きミューテックスがすでに存在するとERROR_ALREADY_EXISTSを返すため、多重起動の検知・単一起動の制限に使われる
あわせて読みたい原因
同じ層:一部のユーザーだけに起きる問題
同じ症状(接続不可・無限ロード)を起こすほかの層の原因
図と実験のあるメインページでこのカードを見る