SDK do servidor (Unreal) para Amazon GameLift Servers -- Ações
Use o SDK do servidor para o Unreal para integrar o jogo multijogador à hospedagem com o Amazon GameLift Servers. Para obter orientação sobre o processo de integração, consulte Integre o Amazon GameLift Servers ao seu servidor de jogos com o SDK do servidor..
nota
Essa referência é para uma versão anterior do SDK de servidor do Amazon GameLift Servers. Para obter a versão mais recente, consulte SDK do servidor C++ (Unreal) para Amazon GameLift Servers 5.x – Ações.
Esta API é definida em GameLiftServerSDK.h e GameLiftServerSDKModels.h.
Para configurar o plug-in do Unreal Engine e ver exemplos de código Integre o Amazon GameLift Servers em um projeto Unreal Engine.
SDK do servidor (Unreal) para Amazon GameLift Servers -- Tipos de dados
Tópicos
AcceptPlayerSession()
Notifica o serviço do Amazon GameLift Servers de que um jogador com o ID da sessão do jogador especificado se conectou ao processo do servidor e precisa de validação. O Amazon GameLift Servers verifica se o ID da sessão do jogador é válido, ou seja, se o ID do jogador reservou um slot de jogador na sessão do jogo. Depois de validado, o Amazon GameLift Servers altera o status do slot do jogador de RESERVED para ACTIVE.
Sintaxe
FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)
Parameters
- playerSessionId
-
ID exclusiva emitida pelo serviço Amazon GameLift Servers em resposta a uma chamada para a ação CreatePlayerSession do Amazon GameLift Servers API do AWS SDK. O cliente do jogo faz referência a esse ID ao se conectar ao processo do servidor.
Tipo: FString
Obrigatório: Sim
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.
ActivateGameSession()
Notifica o serviço Amazon GameLift Servers de que o processo do servidor ativou uma sessão do jogo e já está pronto para receber as conexões do jogador. Essa ação deve ser chamada como parte da função de retorno de chamada onStartGameSession(), depois que toda a inicialização da sessão tiver sido concluída.
Sintaxe
FGameLiftGenericOutcome ActivateGameSession()
Parameters
Essa ação não tem um parâmetro.
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.
DescribePlayerSessions()
Recupera dados da sessão do jogador, inclusive configurações, metadados da sessão e dados do jogador. Use essa ação para obter informações de uma única sessão de jogador, para todas as sessões de jogador em uma sessão de jogo, ou para todas as sessões de jogador associadas a um único ID de jogador.
Sintaxe
FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)
Parameters
- describePlayerSessionsRequest
-
Um objeto FDescribePlayerSessionsRequest que descreve quais sessões de jogador recuperar.
Obrigatório: Sim
Valor de retorno
Se bem-sucedido, retorna um objeto FDescribePlayerSessionsRequest que contém um conjunto de objetos de sessão do jogador que atendem aos parâmetros de solicitação. Os objetos de sessão de jogador têm uma estrutura idêntica à do tipo de dados de PlayerSession do Amazon GameLift Servers SDK da AWS API.
GetGameSessionId()
Recupera o ID da sessão do jogo hospedada no momento pelo processo do servidor, caso o processo do servidor esteja ativo.
Sintaxe
FGameLiftStringOutcome GetGameSessionId()
Parameters
Essa ação não tem um parâmetro.
Valor de retorno
Se bem-sucedido, retornará o ID da sessão de jogo como um objeto FGameLiftStringOutcome. Se não for bem-sucedido, retornará uma mensagem de erro.
GetInstanceCertificate()
Recupera a localização do arquivo de um certificado TLS codificado por pem que está associado à frota e suas instâncias. O AWS Certificate Manager gera esse certificado quando você cria uma nova frota com a configuração do certificado definida como GENERATED. Use esse certificado para estabelecer uma conexão segura com um cliente de jogo e para criptografar a comunicação entre cliente e servidor.
Sintaxe
FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()
Parameters
Essa ação não tem um parâmetro.
Valor de retorno
Se for bem-sucedido, o retorno será um objeto GetInstanceCertificateOutcome que contém a localização do arquivo de certificado TLS e da cadeia de certificados da frota, que estão armazenados na instância. Um arquivo de certificado raiz, extraído da cadeia de certificados, também é armazenado na instância. Se não for bem-sucedido, retornará uma mensagem de erro.
Para obter mais informações sobre o certificado e os dados da cadeia de certificados, consulte Elementos de resposta GetCertificate na Referência da API do AWS Certificate Manager.
GetSdkVersion()
Retorna o número da versão atual do SDK compilado no processo de servidor.
Sintaxe
FGameLiftStringOutcome GetSdkVersion();
Parameters
Essa ação não tem um parâmetro.
Valor de retorno
Se bem-sucedido, retornará a versão do SDK atual como um objeto FGameLiftStringOutcome. A string retornada inclui apenas o número da versão (exemplo, "3.1.5"). Se não for bem-sucedido, retornará uma mensagem de erro.
Exemplo
Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion();
InitSDK()
Inicializa o Amazon GameLift Servers SDK. Esse método deve ser chamado na inicialização antes de qualquer outra inicialização relacionada ao Amazon GameLift Servers.
Sintaxe
FGameLiftGenericOutcome InitSDK()
Parameters
Essa ação não tem um parâmetro.
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.
ProcessEnding()
Notifica o serviço Amazon GameLift Servers de que o processo do servidor está sendo desligado. Esse método deverá ser chamado depois de todas as outras tarefas de limpeza, inclusive desligar todas as sessões de jogos ativas. Este método deve sair com um código de saída zero; um código de saída diferente de zero resulta em uma mensagem de evento indicando que o processo não foi encerrado corretamente.
Sintaxe
FGameLiftGenericOutcome ProcessEnding()
Parameters
Essa ação não tem um parâmetro.
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.
ProcessReady()
Notifica o serviço Amazon GameLift Servers de que o processo do servidor está pronto para hospedar sessões do jogo. Chame esse método depois de invocar InitSDK() e concluir todas as tarefas de configuração necessárias antes que o processo do servidor possa hospedar uma sessão do jogo. Esse método deve ser chamado somente uma vez por processo.
Sintaxe
FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)
Parameters
- FProcessParameters
-
Um objeto FProcessParameters que fornece as seguintes informações sobre o processo do servidor:
-
Nomes de métodos de retorno de chamada, implementados no código do servidor de jogos, que o serviço Amazon GameLift Servers invoca para se comunicar com o processo de servidor.
-
Número da porta em que o processo de servidor está escutando.
-
Caminho de qualquer arquivo específico da sessão do jogo que você deseja que o Amazon GameLift Servers capture e armazene.
Obrigatório: Sim
-
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.
Exemplo
Consulte o código de exemplo em Usar o plug-in do Unreal Engine.
RemovePlayerSession()
Notifica o serviço Amazon GameLift Servers de que um jogador com o ID da sessão do jogador especificado se desconectou do processo do servidor. Em resposta, o Amazon GameLift Servers altera o slot do jogador para um disponível, o que permite ser atribuído a um novo jogador.
Sintaxe
FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)
Parameters
- playerSessionId
-
ID exclusiva emitida pelo serviço Amazon GameLift Servers em resposta a uma chamada para a ação CreatePlayerSession do Amazon GameLift Servers API do AWS SDK. O cliente do jogo faz referência a esse ID ao se conectar ao processo do servidor.
Tipo: FString
Obrigatório: Sim
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.
StartMatchBackfill()
Envia uma solicitação para encontrar novos jogadores para os slots abertos em uma sessão de jogo criada com o FlexMatch. Consulte também a ação StopMatchmaking() do SDK da AWS. Com essa ação, as solicitações de alocação de correspondência podem ser iniciadas por um processo do servidor de jogos que esteja hospedando a sessão do jogo. Saiba mais sobre o atributo de alocação do FlexMatch.
Esta ação é assíncrona. Se a correspondência dos novos jogadores for bem-sucedida, o serviço Amazon GameLift Servers entregará os dados atualizados do marcador de jogos usando a função de retorno de chamada OnUpdateGameSession().
Um processo de servidor pode ter apenas uma solicitação de alocação de correspondência ativa por vez. Para enviar uma nova solicitação, primeiro chame StopMatchBackfill() para cancelar a solicitação original.
Sintaxe
FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);
Parameters
- FStartMatchBackfillRequest
-
Um objeto FStartMatchBackfillRequest que fornece as seguintes informações:
-
ID do tíquete a ser atribuído à solicitação de alocação. Essa informação é opcional. Caso nenhum ID seja fornecido, o Amazon GameLift Servers gerará um automaticamente.
-
O marcador de jogos para o qual a solicitação é enviada. O ARN completo da configuração é necessário. Esse valor pode ser obtido dos dados do marcador da sessão do jogo.
-
ID da sessão de jogo que está sendo alocada.
-
Dados disponíveis de marcação para os jogadores atuais da sessão do jogo.
Obrigatório: Sim
-
Valor de retorno
Se bem-sucedido, retorna o tíquete de alocação de correspondência como um objeto FGameLiftStringOutcome. Se não for bem-sucedido, retornará uma mensagem de erro. O status do tíquete pode ser acompanhado usando a ação do SDK da AWS DescribeMatchmaking().
StopMatchBackfill()
Cancela uma solicitação de alocação de correspondência ativa criada com StartMatchBackfill(). Consulte também a ação StopMatchmaking() do SDK da AWS. Saiba mais sobre o atributo de alocação do FlexMatch.
Sintaxe
FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);
Parameters
- StopMatchBackfillRequest
-
Um objeto FStopMatchBackfillRequest que identifica o tíquete de criação de partidas para cancelar:
-
ID do tíquete atribuído à solicitação de alocação sendo cancelada
-
o marcador de jogo que recebeu a solicitação de alocação
-
a sessão do jogo associada à solicitação de alocação
Obrigatório: Sim
-
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.
TerminateGameSession()
Esse método foi descontinuado com a versão 4.0.1. Em vez disso, o processo do servidor deve ser chamado ProcessEnding() após o término de uma sessão de jogo.
Notifica o serviço do Amazon GameLift Servers de que o processo do servidor encerrou a sessão atual do jogo. Essa ação é chamada quando o processo do servidor permanece ativo e pronto para hospedar uma nova sessão de jogo. Ele deve ser chamado somente após a conclusão do procedimento de encerramento da sessão de jogo, pois indica ao Amazon GameLift Servers que o processo do servidor está imediatamente disponível para hospedar uma nova sessão de jogo.
Essa ação não será chamada se o processo do servidor for encerrado após o término da sessão do jogo. Em vez disso, chame ProcessEnding() para sinalizar que tanto a sessão do jogo quanto o processo do servidor estão terminando.
Sintaxe
FGameLiftGenericOutcome TerminateGameSession()
Parameters
Essa ação não tem um parâmetro.
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.
UpdatePlayerSessionCreationPolicy()
Atualiza a capacidade da sessão do jogo atual para aceitar novas sessões de jogador. Atualiza a capacidade da sessão do jogo atual para aceitar novas sessões de jogador. (Consulte também a ação UpdateGameSession() na Referência de API do serviço Amazon GameLift Servers.)
Sintaxe
FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)
Parameters
- Política
-
Valor indicando se a sessão do jogo aceita novos jogadores.
Tipo: enumeração
EPlayerSessionCreationPolicy. Os valores válidos são:-
ACCEPT_ALL – Aceite todas as novas sessões de jogador.
-
DENY_ALL – Recuse todas as novas sessões de jogador.
Obrigatório: Sim
-
Valor de retorno
Retorna um resultado genérico que consiste em sucesso ou falha com uma mensagem de erro.