6. 定期的にチェックすべきまたはチェックが推奨される項目
NEX には定期的にチェックすべき、またはチェックが推奨される項目があります。
6.1. ゲームサーバーとの接続性チェック
NgsFacade::Login() にてゲームサーバーへのログイン成功後は、 NgsFacade::IsConnected() を使ってサーバーとの接続性をチェックすることができます。 ネットワークが切断された場合も、NEX はサーバーとの切断として検知します。
サーバーから切断されると NEX のサーバーサービスは利用することができなくなります。 ゲーム仕様上で適切なタイミングでサーバーとの接続性をチェックし、 切断を検知した場合はエラーの表示等を行い、 NgsFacade::Logout() を呼び出し NgsFacade の破棄をしてください。
NgsFacade::Logout() の呼び出し前に Core::GetInstance()->SetTerminateImmediately(true); とすることで、通常の切断処理を行わずに、全体的に終了処理が早くなります。 あくまでネットワーク通信エラー時の異常終了用なので、通常の終了シーケンスで設定することは控えてください。
詳細はAPIリファレンスを参照してください。
6.2. NetZのフェイタルエラーチェック
NetZインスタンスが存在するとき NetZ::GetFatalError() を使って毎フレームの頻度でフェイタルエラーが発生していないかを 必ず チェックしてください。
詳細はAPIリファレンスや 「P2P・通信機能」のエラー処理 を参照してください。
6.3. セッションの有効性のチェック
Session::CreateSession() 、Session::JoinSession() を使ってセッション参加後、毎フレームの頻度で Session::CheckGameIsOver() を使ってセッションが終了していないかを 必ず チェックしてください。
さらに HostMigrationCallback::Register() にてホストマイグレーションを有効にしている場合は、HostMigrationCallback::SessionHostIsOrphan() を使って毎フレームの頻度で自分が孤立したセッションホストであるかをチェックしてください。
詳細はAPIリファレンスを参照してください。
6.4. ネットワーク状態更新イベントによる接続性チェック
ローカル通信では、ネットワーク状態更新イベントの接続性チェックが必要です。 詳細は、PIAのPIA Local編のUDS通信機能-ネットワーク状態更新イベントを参照してください。