> ## 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 jogo a partir da entidade de título

> Autentique-se como uma entidade de título no SDK do PlayFab Services usando PFAuthenticationGetEntityWithSecretKeyAsync para chamar APIs exclusivas de servidor no Win32.

# Acessando o PlayFab com uma entidade de título

Assim como você pode fazer login como jogador e fazer chamadas ao PlayFab, também pode se autenticar como uma entidade de título e fazer chamadas ao PlayFab por meio dela. As entidades de título podem usar determinadas funções que não estão disponíveis para entidades de jogador. Muitas dessas funções têm o prefixo "server"; um exemplo é ServerAddPlayerTag.

Obter um identificador de entidade de título envolve as mesmas etapas de inicialização do login como jogador. Consulte a seção "Inicialização" do artigo [Início rápido para Win32](/pt-BR/services/playfab/sdks/c/quickstart-win32) para obter detalhes.

Observação: no momento, as funções de servidor estão disponíveis apenas na versão Win32 do SDK.

## Autenticando uma entidade de título

Depois de criar um **PFServiceConfigHandle** nas etapas iniciais, você pode obter um identificador de entidade de título chamando [**PFAuthenticationGetEntityWithSecretKeyAsync**](/pt-BR/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationgetentitywithsecretkeyasync). Depois que a chamada para obter a entidade for concluída com êxito, ela retornará **S\_OK** junto com um **PFEntityHandle**. Esse processo é semelhante ao login como jogador. O tipo de retorno **PFEntityHandle** é o mesmo, exceto que, nesse caso, o identificador de entidade representa uma entidade de título em vez de uma entidade de jogador. Podemos chamar essa entidade de servidor de jogo.

```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
    );
```

## Chamadas de serviço

Depois que o servidor de jogo for criado, você poderá fazer chamadas ao back-end do PlayFab. Veja um exemplo de como adicionar marcas de jogador a um jogador específico no 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);
```

Assim como no exemplo de AddPlayerTag, muitas das funções usadas por um servidor de jogo envolvem obter ou alterar dados de jogadores. Essa função exige a PlayFab ID do jogador específico. Os clientes conectados podem fornecer as PlayFab IDs, ou o servidor pode recuperá-las diretamente do PlayFab por meio de chamadas como GetPlayFabIDsFromXboxLiveIDs.

## Referência

[Documentação de referência da API](/pt-BR/services/playfab/api-references/c/pfauthentication/pfauthentication_members)


## Related topics

- [Servidores de jogo e lobbies](/pt-BR/services/playfab/multiplayer/lobby/lobby-server-overview.md)
- [Modelo de programação de entidades](/pt-BR/services/playfab/live-service-management/game-configuration/entities/index.md)
- [Alocar servidores de jogo e conectar o depurador do Visual Studio](/pt-BR/services/playfab/multiplayer/servers/allocating-game-servers-and-configuring-vs-debugging-tools.md)
- [Início rápido de entidades](/pt-BR/services/playfab/live-service-management/game-configuration/entities/quickstart.md)
- [Tipos de entidade internos disponíveis](/pt-BR/services/playfab/live-service-management/game-configuration/entities/available-built-in-entity-types.md)
