configure-turn-server-metric-data
Last updated on February 4, 2026
注釈:本資料はAI技術を用いて翻訳されています。
AGS Private Cloud
この機能は、AccelByte Gaming Services (AGS) Private Cloud でのみ利用できます。
概要
ゲームクライアントは、特定のメトリクスを AccelByte Gaming Services (AGS) バックエンドに送信でき、開発者の可観測性を向上させることができます。ただし、ピアツーピア (P2P) ネットワークは分散型パラダイムを採用しているため、現在の本番環境のステータスを観察することが困難です。TURN サーバーを使用すると、P2P ネットワークのこの欠点を軽減し、次の項目の可観測性を提供できます。
- サーバーのダウン
- サーバーが高負荷状態にある期間
- リレーを使用している P2P ゲームセッションの割合
- ホストから切断されたゲームクライアントの数とその理由(ホストまたはクライアントの切断)
- CCU、サーバー接続、セッションの数
この記事では、AGS Game SDK を使用して、TURN サーバーを使用してゲームから AGS バックエンドに特定のメトリクスデータを送信する方法を説明します。
Grafana を通じてサーバーステータスを監視する
ゲームのサーバーのステータスを表示するには、AGS Admin Portal からアクセスできる提供された Grafana ツールを使用します。これを行うには、以下の手順に従ってください。
- AGS Admin Portal にログインし、ゲームネームスペースに移動します。
- Development Utilities > Grafana Cloud に移動します。Grafana ログインページにリダイレクトされます。
- AGS Admin Portal の認証情報を使用して Grafana Cloud にログインします。
- Grafana Cloud で、Dashboards > Play Services Overview > Play Services - Overview に移動します。
- Grafana の Play Services - Overview ページで、TURN Server を展開します。
- これらのパネルを使用してゲームの TURN サーバーを監視し、必要に応じてクエリパラメータを調整します。
TURN サーバーメトリクスデータの送信を実装する
これらのセクションでは、コードサンプルを提供し、TURN サーバーから AGS バックエンドにメトリクスデータを送信する方法を実装する方法を示します。
"Connect" メトリクスデータを送信する
- Unity Engine
以下のメソッドは、プレイヤーがホストに正常に接続した後にトリガーする必要があります。
ヒント
selectedRegion 変数には、最も近い TURN サーバーリージョン を割り当てることをお勧めします。
string selectedRegion = "";
P2PConnectionType connectType = P2PConnectionType.Host;
AccelByteSDK.GetClientRegistry().GetApi().GetTurnManager().SendMetric(selectedRegion, connectType
, result =>
{
if (result.IsError)
{
// Do something if operation fails
UnityEngine.Debug.LogError($"failed to send connection metric [{result.Error.Code}]:{result.Error.Message}");
return;
}
// Do something if the operation is a success
});
"Disconnect" メトリクスデータを送信する
- Unity Engine
以下のメソッドは、プレイヤーがホストから切断された後にトリガーする必要があります。
AccelByteSDK.GetClientRegistry().GetApi().GetTurnManager().SendDisconnectedMetric(result =>
{
if (result.IsError)
{
//Do something if operation fails
UnityEngine.Debug.LogError($"failed to send disconnection metric [{result.Error.Code}]:{result.Error.Message}");
return;
}
// Do something if the operation is a success
});