> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sistema de baneo de jugadores

> Aplique baneos de jugadores de PlayFab para invalidar los tokens de autenticación de quienes infringen las reglas mediante Game Manager, ReportPlayer y las llamadas de administración de baneos de la API de servidor.

La característica de baneo de jugadores le permite restringir el acceso al juego a determinados jugadores que infringen las reglas. Cuando se aplica un baneo a un jugador, cualquier token de autenticación existente del jugador se invalida y los futuros intentos de autenticación realizados por el jugador se rechazarán. Los baneos de jugadores pueden ser permanentes o temporales para un intervalo de tiempo especificado, y pueden aplicarse a un identificador de jugador o a una dirección IP. Un baneo está limitado a un título y no se aplica a ningún otro título de su [espacio de nombres](/services/playfab/live-service-management/game-configuration/entities).

<Note>
  Para nuevas integraciones, se recomienda usar el [sistema de baneo de IP](/services/playfab/player-progression/player-data/ip-bans) dedicado en lugar de especificar direcciones IP en los baneos de jugadores.
</Note>

El siguiente tutorial le muestra cómo utilizar el sistema de baneos, mediante la API de PlayFab y Game Manager.

## Identificar

Aunque su juego podría tener un sistema personalizado para identificar a tramposos e infractores de las reglas, PlayFab ofrece un mecanismo de denuncia entre jugadores. En esencia, se confía en que los jugadores denuncien a otros jugadores problemáticos.

Para permitir que el cliente denuncie a un jugador específico, use el siguiente fragmento de código en el código del cliente.

```csharp theme={null}
public void ReportPlayer(string problematicPlayerId, string reason) {
    PlayFabClientAPI.ReportPlayer(new ReportPlayerClientRequest() {
        ReporteeId = problematicPlayerId,
        Comment = reason
    }, result => {
        //... Handle success
    }, error => {
        Debug.Log(error.GenerateErrorReport());
    });
}
```

Esta llamada a la API produce:

* Un **Report Event**, que puede localizar a través de la herramienta **Analytics** **(1)**.
* Seleccione el tipo de evento **player\_reported\_as\_abusive** **(2)**.
* Esto muestra:
  * El **Event Name (3)**.
  * El **Player ID (4)** del jugador denunciado.

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-event-history-player-reported-as-abusive.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=2d2e5165fee8b1923bd8e693be322296" alt="Game Manager - Análisis - Historial de eventos" width="2560" height="1039" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-event-history-player-reported-as-abusive.png" />

## Aplicación de baneos

Una vez identificado el jugador problemático, puede aplicar un baneo. Hay dos maneras de aplicar baneos: manualmente a través de Game Manager, o mediante programación a través de código.

### Creación de un baneo desde Game Manager

Es posible que su representante de administración de la comunidad quiera aplicar un baneo mediante Game Manager.

1. Vaya a la sección Players.
2. Localice y seleccione al jugador problemático.
3. Vaya a la pestaña **Bans**.
4. Seleccione **Add Ban** para mostrar el formulario **Add Ban**.
5. Escriba el **Reason** (motivo) del baneo y la duración deseada. Opcionalmente, puede aplicar el **Ban** por una **IP ADDRESS (4)** específica.
6. Por último, seleccione el botón **ADD BAN**.

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/player-data/tutorials/game-manager-players-add-ban.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=c281ac3e7daaf347d81fde5681c3af87" alt="Game Manager - Jugadores - Agregar baneo" width="1280" height="900" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-players-add-ban.png" />

Si todo está configurado correctamente, verá un nuevo **Ban** en la tabla. Opcionalmente, puede quitar un **Ban** manualmente seleccionándolo en el campo **REVOKE BANS**.

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/player-data/tutorials/game-manager-players-bans-revoke-ban.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=7ce3408617095f8f4a7434e5048e4c7d" alt="Game Manager - Jugadores - Baneos - Revocar baneo" width="860" height="450" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-players-bans-revoke-ban.png" />

### Creación de un baneo desde un servidor o servicio

Alternativamente, puede usar el [Services SDK](/services/playfab/sdks/playfab-sdk-intro) para aplicar un baneo mediante código usando el fragmento que se proporciona a continuación.

```csharp theme={null}
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());
    });
}
```

Los baneos aplicados mediante código también se muestran en la tabla de baneos del jugador de destino en Game Manager.

<Note>
  Los métodos del SDK de servidor de PlayFab ofrecen más opciones, como baneos por dirección **IP**.
</Note>

Cada baneo que aplica recibe un identificador asignado. Considere los siguientes métodos de la API del SDK de servidor para una administración precisa de los baneos:

* [GetUserBans](xref:titleid.playfabapi.com.server.accountmanagement.getuserbans)
* [RevokeAllBansForUser](xref:titleid.playfabapi.com.server.accountmanagement.revokeallbansforuser)
* [RevokeBans](xref:titleid.playfabapi.com.server.accountmanagement.revokebans)
* [UpdateBans](xref:titleid.playfabapi.com.server.accountmanagement.updatebans)

<Note>
  Puede usar funciones de CloudScript como parte de un sistema automatizado que puede banear a un jugador. Para obtener más información sobre CloudScript, consulte nuestro tutorial [Escritura de CloudScript personalizado](/services/playfab/live-service-management/service-gateway/automation/cloudscript/writing-custom-cloudscript).
</Note>

## Consulte también

[BanUsers](xref:titleid.playfabapi.com.server.accountmanagement.banusers)


## Related topics

- [Sistema de baneo de IP](/es/services/playfab/player-progression/player-data/ip-bans.md)
- [Información general del sistema de contactos (lista de amigos)](/es/services/xbox-services/community/people-system/live-people-system-overview.md)
- [Sistema de contactos (lista de amigos)](/es/services/xbox-services/community/people-system/live-people-system-nav.md)
- [Características de PlayFab Party](/es/services/playfab/multiplayer/networking/party-features.md)
- [Concesión de acceso a los jugadores al contenido de complemento](/es/publishing/xstore-commerce/xstore-granting-access.md)
