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

# Servidores de juegos a partir de una entidad de título

> Autentíquese como una entidad de título en el SDK de PlayFab Services mediante PFAuthenticationGetEntityWithSecretKeyAsync para llamar a las API exclusivas de servidor en Win32.

# Acceso a PlayFab con una entidad de título

De forma similar a como puede iniciar sesión como jugador y realizar llamadas a PlayFab, también puede autenticarse como una entidad de título y realizar llamadas a PlayFab a través de ella. Las entidades de título pueden usar ciertas funciones que no están disponibles para las entidades de jugador. Muchas de estas funciones llevan el prefijo "server"; un ejemplo es ServerAddPlayerTag.

La obtención de un identificador de entidad de título tiene los mismos pasos de inicialización que el inicio de sesión como jugador. Consulte la sección "Inicialización" del artículo [Inicio rápido para Win32](/services/playfab/sdks/c/quickstart-win32) para obtener más detalles.

Nota: Por el momento, las funciones de servidor solo están disponibles en la versión Win32 del SDK.

## Autenticación de una entidad de título

Después de crear un **PFServiceConfigHandle** en los pasos iniciales, puede obtener un identificador de entidad de título llamando a [**PFAuthenticationGetEntityWithSecretKeyAsync**](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationgetentitywithsecretkeyasync). Una vez que la llamada de obtención de entidad se completa correctamente, devuelve **S\_OK** junto con un **PFEntityHandle**. Este proceso es similar al inicio de sesión como jugador. El tipo de valor devuelto de **PFEntityHandle** es el mismo, salvo que en este caso el identificador de entidad representa una entidad de título en lugar de una entidad de jugador. Podemos llamar a esta entidad un servidor de juegos.

```cpp theme={null}
    PFAuthenticationGetEntityRequest request{};
    XAsyncBlock async{};

    // Add your own error handling when FAILED(hr) == true
    HRESULT hr = PFAuthenticationGetEntityWithSecretKeyAsync(
        serviceConfigHandle,
        secretKey, // title specific secret key
        &request,
        &async
    );

    hr = XAsyncGetStatus(&async, true); // This is doing a blocking wait for completion, but you can use the XAsyncBlock to set a callback instead for async style usage

    PFEntityHandle entityHandle;
    hr = PFAuthenticationGetEntityWithSecretKeyGetResult(
        &async,
        &entityHandle
    );
```

## Llamadas al servicio

Una vez creado el servidor de juegos, puede realizar llamadas al back-end de PlayFab. Este es un ejemplo de cómo agregar etiquetas de jugador a un jugador específico del título.

```cpp theme={null}
    XAsyncBlock async{};
    PFSegmentsAddPlayerTagRequest request{};
    addSegmentRequest.PlayFabId = "ABCDEF123456";
    addSegmentRequest.tagName = "tagName";
    HRESULT hr = PFSegmentsServerAddPlayerTagAsync(entityHandle, &request, &async);
    hr = XAsyncGetStatus(&async, true);
```

Al igual que en el ejemplo de AddPlayerTag, muchas de las funciones que usa un servidor de juegos implican obtener o cambiar datos de jugadores. Esta función requiere tener el identificador de PlayFab del jugador específico. Los clientes conectados pueden proporcionar los identificadores de PlayFab o el servidor puede recuperarlos directamente de PlayFab mediante llamadas como GetPlayFabIDsFromXboxLiveIDs.

## Referencia

[Documentación de referencia de la API](/services/playfab/api-references/c/pfauthentication/pfauthentication_members)


## Related topics

- [Servidores de juego y lobbies](/es/services/playfab/multiplayer/lobby/lobby-server-overview.md)
- [Asignar servidores de juegos y conectar el depurador de Visual Studio](/es/services/playfab/multiplayer/servers/allocating-game-servers-and-configuring-vs-debugging-tools.md)
- [Conexión de clientes a servidores de juegos](/es/services/playfab/multiplayer/servers/connecting-clients-to-game-servers.md)
- [Creación de una compilación de servidor de juegos](/es/services/playfab/multiplayer/servers/author-a-game-server-build.md)
- [Modelo de programación de entidades](/es/services/playfab/live-service-management/game-configuration/entities/index.md)
