プレイヤー禁止システム
プレイヤーの禁止機能を使用すると、ルールに違反している特定のプレイヤーに対して、ゲームへのアクセスを制限できます。 プレイヤーの禁止がプレイヤーに適用されると、既存のプレイヤー認証トークンはすべて無効になり、プレイヤーによる今後の認証の試行は拒否されます。 プレイヤーの禁止は、指定された時間範囲に対して永続的または一時的な場合があり、プレイヤー ID または IP アドレスに適用される場合があります。 禁止はタイトルにスコープが設定され、名前空間内の他のタイトルには適用されません。
次のチュートリアルでは、PlayFab API とゲーム マネージャーを使用した、禁止システムの使用方法を示しています。
特定
ゲームにはカスタマイズされたシステムがあり、不正使用者やルール違反者を特定する一方、PlayFab にはプレイヤー間でレポートする仕組みがあります。 基本的には、問題のあるプレイヤーを報告するかは、プレイヤーに依存します。
クライアントが特定のプレイヤーを報告できるようにするには、クライアント コードで次のスニペットを使用します。
public void ReportPlayer(string problematicPlayerId, string reason) {
PlayFabClientAPI.ReportPlayer(new ReportPlayerClientRequest() {
ReporteeId = problematicPlayerId,
Comment = reason
}, result => {
//... Handle success
}, error => {
Debug.Log(error.GenerateErrorReport());
});
}
この API 呼び出しでは、次の結果が生成されます:
- レポート イベントでは、分析ツール (1) を使って、位置を特定できます。
- [player_reported_as_abusive] のイベント タイプ (2) を選択します。
- 次の情報が表示されます:
- [イベント名] (3)。
- 報告された プレイヤー ID (4)。
禁止の適用
問題のあるプレイヤーが識別されると、禁止を適用される場合があります。 禁止を適用するには、ゲーム マネージャーを使用して手動で行うか、コードを使用してプログラムを使用するかの 2 つの方法があります。
ゲーム マネージャーからの禁止の作成
コミュニティ管理担当者は、ゲーム マネージャーを使用して禁止を適用する場合があります。
- [プレイヤー] セクションに移動します。
- 問題のあるプレイヤーを特定して選択します。
- [禁止] タブに移動します。
- [禁止の追加] を選択し、[禁止の追加] フォームを表示します。
- 禁止の [理由] と禁止の期間を入力します。 オプションとして、特定の IP アドレス (4) を 禁止 できます。
- 最後に、[禁止の追加] を選択します。
すべての情報が正しく設定されている場合、新しい禁止がテーブルに表示されます。 オプションとして、[禁止の解除] フィールドで禁止を選択して、[禁止] を手動で解除できます。
サーバーまたはサービスからの禁止の作成
または、サービス SDK を使用して、次のスニペットを使用してコードから禁止を適用する場合もあります。
public void AddBan(string playerId, uint hours) {
PlayFabServerAPI.BanUsers(new BanUsersRequest() {
Bans = new List<BanRequest>() {
new BanRequest() {
DurationInHours = hours,
PlayFabId = playerId,
Reason = "Automatic ban for WH",
}
}
}, result => {
//... Handle success
}, error => {
Debug.Log(error.GenerateErrorReport());
});
}
コードを介して適用される禁止は、ゲーム マネージャーのターゲット プレイヤーの禁止のテーブルにも表示されます。
注意
PlayFab サーバー SDK メソッドでは、IP アドレスや MAC アドレスの禁止などの追加のオプションが提供されます。
適用する禁止がそれぞれ割り当てられた ID を取得します。 正しく禁止を管理をするために、次のサーバー SDK API メソッドを検討してください。
注意
プレイヤーを禁止する自動システムの一部として、CloudScript 機能を使用できます。 CloudScript の詳細については、チュートリアルの「カスタム CloudScript への書き込み」をご覧ください。