> ## 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.

# Acceso a los resultados archivados de torneos

> Acceda a las instantáneas archivadas de las tablas de clasificación de torneos de PlayFab tras un restablecimiento manual o programado, y recupere las clasificaciones y estadísticas de los jugadores de la versión anterior.

En este tutorial se muestra cómo puede acceder a los estados archivados de las tablas de clasificación.

Cada tabla de clasificación se puede restablecer de forma manual o automática, lo que significa que los valores de estadísticas se eliminarán para todos los jugadores, dando lugar a un estado *limpio*, y se incrementará la versión de la tabla de clasificación.

Sin embargo, antes de que eso ocurra, PlayFab crea una instantánea de todos los valores de estadísticas de la tabla de clasificación de cada jugador. Esto le permite acceder a esta versión *archivada* de la tabla de clasificación.

<Note>
  Todos los títulos le permiten acceder a la versión archivada más reciente de una tabla de clasificación, lo que le da la versión actual y la inmediatamente anterior. Por ejemplo, si la versión actual de su tabla de clasificación es la **3**, solo podrá acceder a la versión **3** y a la versión archivada **2**.
</Note>

## Configuración inicial

Antes de usar esta guía, asegúrese de que ya tiene algunos jugadores registrados en el título. En la captura de pantalla siguiente se muestran 5 jugadores registrados artificialmente mediante la llamada API [LoginWithCustomID](xref:titleid.playfabapi.com.client.authentication.loginwithcustomid).

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-players-most-recent-logins.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=82e4840d634e73c5e5e9f0878f0365ab" alt="Game Manager - Jugadores - Inicios de sesión más recientes" width="946" height="577" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-players-most-recent-logins.png" />

## Definición y simulación de una tabla de clasificación

En este paso, crearemos una tabla de clasificación para nuestras pruebas. Después, simularemos el proceso de iteración de la tabla de clasificación rellenándola y restableciéndola varias veces.

Abra Game Manager:

1. Vaya a la sección **Leaderboards**.
2. Seleccione el botón **New Leaderboard**, como se muestra a continuación.

Para configurar la nueva tabla de clasificación:

1. Establezca el nombre de la **estadística** en **TestScore**.
2. Mantenga la **Reset Frequency** en **Manually**.
3. Deje el método de **agregación** predeterminado.
4. Envíe la configuración seleccionando **Save Leaderboard**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-new-leaderboard-properties.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=2cd9b12e09ccfe716626232cb6967815" alt="Game Manager - Tablas de clasificación - Nueva tabla de clasificación - Propiedades" width="1280" height="900" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-new-leaderboard-properties.png" />

Terminará en la nueva página de **tablas de clasificación**, que mostrará datos en blanco (vea a continuación).

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-edit-leaderboard.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=f3b2e105a30073db23eb36d8cf232e92" alt="Game Manager - Tablas de clasificación - Editar tabla de clasificación" width="1920" height="910" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-edit-leaderboard.png" />

## Inicio de la sección de prueba

<Info>
  La sección siguiente es un ejemplo de cómo rellenar datos de prueba para los fines de este ejemplo. Su juego *real* rellenará estos datos de una forma más natural.
</Info>

Nuestro siguiente paso es simular algunos datos para nuestra tabla de clasificación. La forma más rápida de hacerlo es crear un controlador de CloudScript, que establecerá estadísticas aleatorias para un jugador determinado. Invocaremos este controlador para cada jugador del segmento All Players.

Como resultado, cada jugador obtendrá un valor de estadística aleatorio, que es una aproximación *suficientemente buena* de un escenario del mundo real.

Empecemos por definir nuestro CloudScript (consulte los comentarios del código para obtener más información).

```javascript theme={null}
// Should be invoked from a task that runs over certain segment
handlers.PopulateLeaderboard = (args,ctx) => {
    // When handler is executed as a task over the segment
    // we can extract individual player id using the next line:
    let playerId = ctx.playerProfile.PlayerId;

    // Use player id and update player statistics as follows:
    server.UpdatePlayerStatistics({
        PlayFabId : playerId,
        Statistics : [
            {
                "StatisticName": "TestScore",
                "Value": getRandomInRange(100,1000)
            }
        ]
    });
}

// Utility method to generate random number
let getRandomInRange = (min, max) => {
    return Math.round(Math.random() * (max - min) + min);
}
```

Carguemos el CloudScript. En Game Manager:

1. Vaya a la pestaña **Automation**.
2. Después, vaya a la subpestaña **CloudScript**.
3. Inserte el código de **CloudScript**.
4. Seleccione **Save as Revision**.
5. Por último, **Deploy Revision**.

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-automation-cloudscript-upload-cloudscript.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=7aad030809ec7893abbc42ae6f928ca0" alt="Game Manager - Automatización - CloudScript - cargar CloudScript" width="1292" height="707" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-automation-cloudscript-upload-cloudscript.png" />

A continuación, debemos definir una tarea para ejecutar nuestro CloudScript sobre un segmento específico:

1. Vaya a la pestaña **Players**.
2. Después, vaya a la subpestaña **Segments**.

De forma predeterminada, **PlayFab** genera un segmento **All Players** automáticamente. Este segmento es especialmente útil cuando necesita todos los jugadores registrados en el título (que es exactamente nuestro caso).

3. Seleccione el segmento **All Players**.
4. Por último, seleccione **Run Task...**.

<Note>
  Si no tiene el segmento All Players en la lista, consulte nuestro inicio rápido de [Segmentación de jugadores](/services/playfab/live-service-management/game-configuration/segmentation/segmentation-quickstart) para crear uno.
</Note>

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-players-segments-all-players-run-task.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=38b80b93c15928a0f22495e8a555b82d" alt="Game Manager - Jugadores - Segmentos - All Players - Ejecutar tarea" width="983" height="580" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-players-segments-all-players-run-task.png" />

Para configurar la tarea:

1. Configure el **nombre**.
2. Asegúrese de que el tipo de tarea está establecido en **Run actions on each Player in a Segment**.
   * Además, compruebe que **All Players** está seleccionado en **Segment**.
3. Agregue una nueva **acción**.
4. Seleccione **Execute CloudScript** en **Type**.
5. Después, seleccione el controlador **PopulateLeaderboard** en **CloudScript Function**.
6. Por último, seleccione el botón **Save and Run**.

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-configure-task.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=b0de60452d7b3bf3d2e4198ed1b11764" alt="Game Manager - Configurar tarea" width="1175" height="850" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-configure-task.png" />

* Asegúrese de que el resultado de la ejecución es **Successful**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-task-execution-succeeded.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=80cba8a4162a8d74ec513be09bd71849" alt="Game Manager - Ejecución de la tarea correcta" width="907" height="212" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-task-execution-succeeded.png" />

## Fin de la sección de prueba

### Rellenado de datos de prueba

1. Vaya de nuevo a la pestaña **Leaderboards**.
2. Seleccione nuestra **tabla de clasificación**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-test-score.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=5b9e840d77457f6a5d497a7b83d81d3a" alt="Game Manager - Tablas de clasificación - Test Score" width="1272" height="668" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-test-score.png" />

1. Verá que su **tabla de clasificación** se ha rellenado con valores aleatorios.
2. Restablezca la **tabla de clasificación**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/reset-the-test-score-leaderboard.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=f91b98680e788338e37520102bb78f4f" alt="Restablecer la tabla de clasificación Test Score" width="1038" height="464" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/reset-the-test-score-leaderboard.png" />

Esto creará una instantánea de todos los datos que tenemos actualmente y, después, *anulará* los valores de estadísticas de todos los jugadores e incrementará la versión.

* Una vez restablecida la tabla de clasificación, vuelva a ejecutar la tarea de CloudScript.
* Repita esto 2 o 3 veces y, después, restablezca y vuelva a rellenar.

Terminará con varias versiones de la **tabla de clasificación** **(1)**:

* Los **datos de la versión actual** se mostrarán en la tabla de la izquierda **(3)**.
* Los **datos archivados** estarán disponibles para las versiones anteriores **(2)**.
* Solo estará disponible la versión más reciente. Esto se aplica a todos los títulos.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-leaderboard-versions.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=2ca281d95f15295de606458c9f450734" alt="Game Manager - Tablas de clasificación - Versiones de la tabla de clasificación" width="1204" height="694" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-leaderboard-versions.png" />

### Acceso a los datos archivados mediante Game Manager

Puede acceder a los resultados archivados directamente desde la página de la **tabla de clasificación**:

1. Vaya a la pestaña **Leaderboards**.
2. Seleccione la **tabla de clasificación** que necesite.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-select-leaderboard.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=db629e9b5dec8a479629276004bbf22d" alt="Game Manager - Tablas de clasificación - Seleccionar tabla de clasificación" width="921" height="271" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-select-leaderboard.png" />

1. Si su **tabla de clasificación** contiene revisiones archivadas, podrá descargar los datos en **JSON** mediante el vínculo de descarga que se muestra en la captura de pantalla siguiente.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-download-archived-revision.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=4395cb8990431b53f7457010fd21fcab" alt="Game Manager - Tablas de clasificación - Descargar revisión archivada" width="1204" height="694" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-download-archived-revision.png" />

### Acceso a los datos archivados mediante la API

El código siguiente le permite extraer la versión más reciente (actual) de la tabla de clasificación.

```csharp theme={null}
PlayFabClientAPI.GetLeaderboard(new GetLeaderboardRequest()
{
    StatisticName = "TestScore",
}, result =>
{
    Debug.Log("Leaderboard version: "+result.Version);
    foreach (var entry in result.Leaderboard)
    {
        Debug.Log(entry.PlayFabId+" "+entry.StatValue);
    }
}, FailureCallback);
```

El resultado tendrá un aspecto similar al del ejemplo siguiente.

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/debug-output-display-leaderboard-versions.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=e345a4db86df875b598d2feec2458ca3" alt="Salida de depuración - Mostrar versiones de la tabla de clasificación" width="267" height="225" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/debug-output-display-leaderboard-versions.png" />

Como alternativa, puede especificar la versión de la tabla de clasificación que quiera cargar.

```csharp theme={null}
PlayFabClientAPI.GetLeaderboard(new GetLeaderboardRequest()
{
    StatisticName = "TestScore",
    Version = 1
}, result =>
{
    Debug.Log("Leaderboard version: "+result.Version);

    foreach (var entry in result.Leaderboard)
    {
        Debug.Log(entry.PlayFabId+" "+entry.StatValue);
    }
}, FailureCallback);
```

El resultado tendrá un aspecto similar al del ejemplo siguiente.

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/debug-output-display-leaderboard-version-1.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=068921c7f391fca2889ee300c6504a4d" alt="Salida de depuración - Mostrar la versión 1 de la tabla de clasificación" width="272" height="221" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/debug-output-display-leaderboard-version-1.png" />

Todos los títulos le permiten acceder a la versión archivada *más reciente* de la tabla de clasificación. Intentar extraer una versión más antigua dará lugar a un error (vea a continuación).

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/error-leaderboard-version-not-available.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=75ed581ae4e92e67969cf002bd6b0dd7" alt="Error - Versión de la tabla de clasificación no disponible" width="371" height="48" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/error-leaderboard-version-not-available.png" />

Las mismas reglas se aplican a todas las solicitudes de tablas de clasificación.

* [GetLeaderboard](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboard)
* [GetLeaderboardAroundPlayer](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboardaroundplayer)
* [GetFriendLeaderboardAroundPlayer](xref:titleid.playfabapi.com.client.playerdatamanagement.getfriendleaderboardaroundplayer)
* [GetFriendLeaderboard](xref:titleid.playfabapi.com.client.playerdatamanagement.getfriendleaderboard)

Consulte la documentación del objeto [GetLeaderboardResult](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboard#getleaderboardresult) para conocer las propiedades útiles que puede obtener con los datos de la tabla de clasificación.


## Related topics

- [Uso del perfil para tablas de clasificación avanzadas](/es/services/playfab/community/leaderboards/tournaments-leaderboards/using-the-profile-for-advanced-leaderboards.md)
- [Archivado de eventos en S3](/es/services/playfab/data-analytics/legacy/s3-event-archiving.md)
- [Inicio rápido de notificaciones push](/es/services/playfab/live-service-management/game-configuration/title-communications/push-notifications/quickstart.md)
- [Archivado y recuperación de los registros de servidores multijugador](/es/services/playfab/multiplayer/servers/archiving-and-retrieving-multiplayer-server-logs.md)
- [Inicio rápido de torneos y tablas de clasificación](/es/services/playfab/community/leaderboards/tournaments-leaderboards/quickstart.md)
