SDK do servidor C++ (Unreal) 5.x para Amazon GameLift Servers -- Tipos de dados
Use a referência do SDK 5.x do servidor Amazon GameLift Servers para Unreal para ajudar você a preparar o jogo multijogador para uso com o Amazon GameLift Servers. Para obter detalhes sobre o processo de integração, consulte Integre o Amazon GameLift Servers ao seu servidor de jogos com o SDK do servidor.. Se você estiver usando o plug-in do Amazon GameLift Servers para Unreal, consulte também Amazon GameLift ServersPlug-in para Unreal Engine.
nota
Este tópico descreve a API C++ do Amazon GameLift Servers que você pode usar ao criar para o Unreal Engine. Especificamente, essa documentação se aplica ao código que você compila com a opção -DBUILD_FOR_UNREAL=1.
SDK do servidor C++ (Unreal) para Amazon GameLift Servers 5.x – Ações
Tipos de dados
FProcessParameters
Este tipo de dados contém o conjunto de parâmetros enviado para o Amazon GameLift Servers em uma ProcessReady().
|
Propriedades |
Descrição |
| LogParameters | Um objeto com caminhos de diretório para arquivos que são gerados durante uma sessão de jogo. O Amazon GameLift Servers copia e armazena para acessos futuros. Digite: Obrigatório: não |
| OnHealthCheck | A função de retorno de chamada que o Amazon GameLift Servers invoca para solicitar um relatório de status de integridade do processo de servidor. O Amazon GameLift Servers chama essa função a cada 60 segundos e espera 60 segundos por uma resposta. O processo do servidor retorna TRUE se estiver íntegro, FALSE se não estiver íntegro. Se nenhuma resposta for retornada, o Amazon GameLift Servers registra o processo do servidor como não íntegro. Essa propriedade é uma função delegada definida como Digite: Obrigatório: não |
| OnProcessTerminate | A função de retorno de chamada que o Amazon GameLift Servers invoca para forçar o encerramento do processo do servidor. Depois de chamar essa função, o Amazon GameLift Servers aguardará 5 minutos para o processo de servidor desligar e responder com uma chamada ProcessEnding() antes do desligamento do processo de servidor. Tipo: Obrigatório: Sim |
| OnStartGameSession | A função de retorno de chamada que o Amazon GameLift Servers invoca para ativar uma nova sessão de jogo. O Amazon GameLift Servers chama essa função em resposta a uma solicitação do cliente CreateGameSession. A função de retorno de chamada transmite um objeto GameSession. Essa propriedade é uma função delegada definida como Tipo: Obrigatório: Sim |
| OnUpdateGameSession | O nome da função de retorno de chamada que o Amazon GameLift Servers invoca para passar um objeto de sessão de jogo atualizado ao processo do jogo. O Amazon GameLift Servers chama essa função quando uma solicitação de alocação de correspondência foi processada para fornecer dados de combinador atualizados. Ele transmite um objeto GameSession, uma atualização de status (updateReason) e o ID do tíquete de alocação de correspondência. Essa propriedade é uma função delegada definida como Digite: Obrigatório: não |
| Porta | O número da porta em que o processo de servidor escuta para novas conexões de jogador. O valor deve estar dentro do intervalo de portas configurado para qualquer frota que implanta essa compilação do servidor de jogo. Esse número de porta está incluído nos objetos das sessões de jogo e jogador, que as sessões de jogo usam ao se conectar a um processo de servidor. Tipo: Obrigatório: Sim |
UpdateGameSession
Esse tipo de dados é atualizado para um objeto de sessão de jogo, o que inclui o motivo pelo qual a sessão de jogo foi atualizada e o ID do tíquete de alocação relacionada, se a alocação for usada para preencher as sessões dos jogadores na sessão do jogo.
| Propriedades | Descrição |
|---|---|
| GameSession | Um objeto GameSession. O objeto GameSession contém propriedades que descrevem uma sessão de jogo. Digite: Obrigatório: não |
| UpdateReason | O motivo pelo qual a sessão do jogo está sendo atualizada. Tipo:
Obrigatório: não |
| BackfillTicketId | O ID do tíquete de alocação que está tentando atualizar a sessão do jogo. Digite: Obrigatório: não |
GameSession
Esse tipo de dados fornece detalhes de uma sessão de jogo.
| Propriedades | Descrição |
|---|---|
| GameSessionId |
Um identificador exclusivo da sessão de jogo. Um ARN de sessão de jogo tem o seguinte formato: Digite: Obrigatório: não |
| Name |
Um rótulo descritivo da sessão do jogo. Digite: Obrigatório: não |
| FleetId |
Um identificador exclusivo da frota em que a sessão de jogo está sendo executada. Digite: Obrigatório: não |
| MaximumPlayerSessionCount |
O número máximo de conexões do jogador com a sessão do jogo. Digite: Obrigatório: não |
| Porta |
O número da porta da sessão de jogo. Para se conectar a um servidor de jogos Amazon GameLift Servers, um aplicativo precisa do endereço IP e do número da porta. Digite: Obrigatório: não |
| IpAddress |
O endereço IP da sessão de jogo. Para se conectar a um servidor de jogos Amazon GameLift Servers, um aplicativo precisa do endereço IP e do número da porta. Digite: Obrigatório: não |
| GameSessionData |
Um conjunto de propriedades de sessão de jogo personalizadas, formatadas como um único valor de string. Digite: Obrigatório: não |
| MatchmakerData |
Informações sobre o processo de criação de partidas usado para criar a sessão do jogo, na sintaxe JSON, formatado como uma string. Além da configuração de criação de partidas usada, ele contém dados sobre todos os jogadores atribuídos à partida, incluindo atributos do jogador e atribuições da equipe. Digite: Obrigatório: não |
| GameProperties |
Um conjunto de propriedades personalizadas para uma sessão de jogo, formatado como pares de chave:valor. Essas propriedades são passadas com uma solicitação de início de uma nova sessão de jogo. Digite: Obrigatório: não |
| DnsName |
O identificador DNS atribuído à instância que está executando a sessão do jogo. Os valores têm o formato a seguir:
Ao se conectar a uma sessão de jogo que está sendo executada em uma frota compatível com TLS, você deve usar o nome DNS, não o endereço IP. Digite: Obrigatório: não |
Parâmetros do servidor F
Informações usadas para manter a conexão entre um servidor Amazon GameLift Servers Anywhere o serviço do Amazon GameLift Servers. Essas informações são usadas ao iniciar novos processos de servidor com InitSDK(). Para servidores hospedados em instâncias EC2 gerenciadas pelo Amazon GameLift Servers, use um objeto vazio.
| Propriedades | Descrição |
|---|---|
| webSocketUrl |
Os retornos Tipo: Obrigatório: Sim |
| processId |
Um identificador exclusivo registrado no processo do servidor que hospeda seu jogo. Tipo: Obrigatório: Sim |
| hostId | O HostID é o ComputeName usado quando você registrou seu computador. Para obter mais informações, consulte RegisterCompute.Tipo: Obrigatório: Sim |
| fleetId | O identificador exclusivo da frota na qual o computador está registrado. Para obter mais informações, consulte RegisterCompute. Tipo: Obrigatório: Sim |
| authToken | O token de autenticação gerado pelo Amazon GameLift Servers que autentica seu servidor no Amazon GameLift Servers. Para obter mais informações, consulte GetComputeAuthToken. Tipo: Obrigatório: Sim |
FStartMatchBackfillRequest
Informações usadas para criar uma solicitação de alocação de = criação de partidas. O servidor do jogo comunica essas informações ao Amazon GameLift Servers em uma chamada StartMatchBackfill().
| Propriedades | Descrição |
|---|---|
| GameSessionArn |
Um identificador da sessão de jogo exclusivo. A operação de API retorna Tipo: Obrigatório: Sim |
| MatchmakingConfigurationArn |
um identificador exclusivo, no formato de ARN, para o marcador de jogos a ser usado para essa solicitação. O marcador de jogos ARN da sessão de jogo original está no objeto de sessão de jogo na propriedade de dados do marcador de jogos. Saiba mais sobre os dados do marcador de jogos em Trabalhar com dados do marcador de jogos. Tipo: Obrigatório: Sim |
| Jogadores |
Um conjunto de dados que representa todos os jogadores que estão na sessão do jogo. O marcador de jogos usa essas informações para pesquisar novos jogadores que sejam correspondências ideais para os jogadores atuais. Tipo: Obrigatório: Sim |
| TicketId |
Um identificador exclusivo de um tíquete de solicitação de marcação de jogo ou de alocação de correspondência. Se você não fornecer um valor, o Amazon GameLift Servers gerará um. Use esse identificador para acompanhar o status do tíquete de alocação de correspondência ou cancelar a solicitação, se necessário. Digite: Obrigatório: não |
FPlayer
Esse tipo de dados representa um jogador em criação de partidas. Quando iniciar uma solicitação de criação de partidas começa, um jogador tem um ID de jogador, atributos, e possivelmente dados de latência. O Amazon GameLift Servers adiciona as informações de equipe após uma combinação ter sido feita.
| Propriedades | Descrição |
|---|---|
| Latência em MS |
Um conjunto de valores expressos em milissegundos que indicam a quantidade de latência que um jogador experimenta quando conectado a um local. Se essa propriedade for usada, o player só será correspondido aos locais listados. Se um marcador de jogos tiver uma regra que avalie a latência do jogador, os jogadores deverão reportar a latência a ser correspondida. Digite: Obrigatório: não |
| Atributos do jogador |
Uma coleção de pares de chave:valor contendo informações de jogadores para uso em criação de partidas. As chaves de atributos do jogador devem corresponder aos PlayerAttributes usados em um conjunto de regras de criação de partidas. Para obter mais informações sobre os atributos de jogador, consulte AttributeValue. Digite: Obrigatório: não |
| PlayerId |
Um identificador exclusivo para um jogador. Digite: Obrigatório: não |
| Team |
O nome da equipe à qual o jogador está designado em uma partida. Você define o nome da equipe no conjunto de regras de criação de partidas. Digite: Obrigatório: não |
FGameLiftDescribePlayerSessionsRequest
Um objeto que especifica quais sessões de jogador devem ser recuperadas. O processo do servidor fornece essas informações com uma chamada DescribePlayerSessions() para o Amazon GameLift Servers.
| Propriedades | Descrição |
|---|---|
| GameSessionId |
Um identificador da sessão de jogo exclusivo. Use esse parâmetro para solicitar todas as sessões de jogador da sessão de jogo especificada. O formato do ID da sessão do jogo é Digite: Obrigatório: não |
| PlayerSessionId |
O identificador exclusivo para uma sessão de jogador. Use esse parâmetro para solicitar uma única sessão de jogador específica. Digite: Obrigatório: não |
| PlayerId |
O identificador exclusivo para um jogador. Use este parâmetro para solicitar todas as sessões de jogador para um jogador específico. Consulte Gerar IDs de jogador. Digite: Obrigatório: não |
| PlayerSessionStatusFilter |
O status da sessão de jogador para filtrar resultados. Entre os status da sessão de jogador possíveis incluem:
Digite: Obrigatório: não |
| NextToken |
O token indicando o início da próxima página de resultados. Para especificar o início do conjunto de resultados, não forneça um valor. Se fornecer um ID de sessão do jogador, esse parâmetro será ignorado. Digite: Obrigatório: não |
| Limite |
O número máximo de resultados a serem retornados. Se fornecer um ID de sessão do jogador, esse parâmetro será ignorado. Digite: Obrigatório: não |
FStopMatchBackfillRequest
Informações usadas para cancelar uma solicitação de locação de criação de partidas. O servidor do jogo comunica essas informações ao serviço Amazon GameLift Servers em uma chamada StopMatchBackfill().
| Propriedades | Descrição |
|---|---|
| GameSessionArn |
Um identificador exclusivo da sessão de jogo da solicitação que está sendo cancelada. Tipo: Obrigatório: Sim |
| MatchmakingConfigurationArn |
Um identificador exclusivo do marcador de jogos para o qual essa solicitação foi enviada. Tipo: Obrigatório: Sim |
| TicketId |
Um identificador exclusivo do tíquete de solicitação de alocação a ser cancelado. Tipo: Obrigatório: Sim |
FAttributeValue
Use esses valores em pares de chave-valor de atributo FPlayer. Esse objeto permite especificar um valor de atributo usando qualquer um dos tipos de dados válidos: string, número, matriz de string ou mapa de dados. Cada objeto AttributeValue pode usar somente uma das propriedades disponíveis.
| Propriedades | Descrição |
|---|---|
| attrType |
Especifica o tipo de valor do atributo. Tipo: Um Obrigatório: não |
| S |
Representa um valor de atributo de string. Digite: Obrigatório: não |
| N |
Representa um valor de atributo numérico. Digite: Obrigatório: não |
| SL |
Representa uma matriz de valores de atributos de string. Digite: Obrigatório: não |
| SDM |
Representa um dicionário de chaves de string e valores duplos. Digite: Obrigatório: não |
FGameLiftGetFleetRoleCredentialsRequest
Esse tipo de dados fornece credenciais de função que ampliam o acesso limitado aos seus recursos AWS no servidor do jogo. Para mais informações, consulte Configurar um perfil de serviço do IAM para o Amazon GameLift Servers.
| Propriedades | Descrição |
|---|---|
| RoleArn | O nome do recurso da Amazon (ARN) do perfil de serviço que estende o acesso limitado aos seus recursos AWS. Digite: Obrigatório: não |
| RoleSessionName | O nome da sessão que descreve o uso das credenciais da função. Digite: Obrigatório: não |
FGameLiftLongOutcome
Esse tipo de dados resulta de uma ação e produz um objeto com as seguintes propriedades:
| Propriedades | Descrição |
|---|---|
| Resultado |
O resultado da ação. Digite: Obrigatório: não |
| ResultWithOwnership |
O resultado da ação, convertido como um rvalue, para que o código de chamada possa se apropriar do objeto. Digite: Obrigatório: não |
| Bem-sucedida |
Se a ação foi bem-sucedida ou não. Tipo: Obrigatório: Sim |
| Erro |
O erro que ocorreu se a ação não foi bem-sucedida. Digite: FGameLiftError Obrigatório: não |
FGameLiftStringOutcome
Esse tipo de dados resulta de uma ação e produz um objeto com as seguintes propriedades:
| Propriedades | Descrição |
|---|---|
| Resultado |
O resultado da ação. Digite: Obrigatório: não |
| ResultWithOwnership |
O resultado da ação, convertido como um rvalue, para que o código de chamada possa se apropriar do objeto. Digite: Obrigatório: não |
| Bem-sucedida |
Se a ação foi bem-sucedida ou não. Tipo: Obrigatório: Sim |
| Erro |
O erro que ocorreu se a ação não foi bem-sucedida. Digite: FGameLiftError Obrigatório: não |
FGameLiftDescribePlayerSessionsOutcome
Esse tipo de dados resulta de uma ação e produz um objeto com as seguintes propriedades:
| Propriedades | Descrição |
|---|---|
| Resultado |
O resultado da ação. Digite: FGameLiftDescribePlayerSessionsResult Obrigatório: não |
| ResultWithOwnership |
O resultado da ação, convertido como um rvalue, para que o código de chamada possa se apropriar do objeto. Digite: Obrigatório: não |
| Bem-sucedida |
Se a ação foi bem-sucedida ou não. Tipo: Obrigatório: Sim |
| Erro |
O erro que ocorreu se a ação não foi bem-sucedida. Digite: FGameLiftError Obrigatório: não |
FGameLiftDescribePlayerSessionsResult
| Propriedades | Descrição |
|---|---|
| PlayerSessions |
Tipo: Obrigatório: Sim |
NextToken |
O token indicando o início da próxima página de resultados. Para especificar o início do conjunto de resultados, não forneça um valor. Se fornecer um ID de sessão do jogador, esse parâmetro será ignorado. Digite: Obrigatório: não |
| Bem-sucedida |
Se a ação foi bem-sucedida ou não. Tipo: Obrigatório: Sim |
| Erro |
O erro que ocorreu se a ação não foi bem-sucedida. Digite: FGameLiftError Obrigatório: não |
Resultado genérico
Esse tipo de dados resulta de uma ação e produz um objeto com as seguintes propriedades:
| Propriedades | Descrição |
|---|---|
| Bem-sucedida |
Se a ação foi bem-sucedida ou não. Tipo: Obrigatório: Sim |
| Erro |
O erro que ocorreu se a ação não foi bem-sucedida. Digite: FGameLiftError Obrigatório: não |
FGameLiftPlayerSession
| Propriedades | Descrição |
|---|---|
| CreationTime |
Tipo: Obrigatório: Sim |
| FleetId |
Tipo: Obrigatório: Sim |
| GameSessionId |
Tipo: Obrigatório: Sim |
| IpAddress |
Tipo: Obrigatório: Sim |
| Dados do jogador |
Tipo: Obrigatório: Sim |
| PlayerId |
Tipo: Obrigatório: Sim |
| PlayerSessionId |
Tipo: Obrigatório: Sim |
| Porta |
Tipo: Obrigatório: Sim |
| Status |
Tipo: Um Obrigatório: Sim |
| Hora de rescisão |
Tipo: Obrigatório: Sim |
| DnsName |
Tipo: Obrigatório: Sim |
FGameLiftGetComputeCertificateOutcome
Esse tipo de dados resulta de uma ação e produz um objeto com as seguintes propriedades:
| Propriedades | Descrição |
|---|---|
| Resultado |
O resultado da ação. Digite: FGameLiftGetComputeCertificateResult Obrigatório: não |
| ResultWithOwnership |
O resultado da ação, convertido como um rvalue, para que o código de chamada possa se apropriar do objeto. Digite: Obrigatório: não |
| Bem-sucedida |
Se a ação foi bem-sucedida ou não. Tipo: Obrigatório: Sim |
| Erro |
O erro que ocorreu se a ação não foi bem-sucedida. Digite: FGameLiftError Obrigatório: não |
FGameLiftGetComputeCertificateResult
O caminho para o certificado TLS em seu computador e o nome do host do computador.
| Propriedades | Descrição |
|---|---|
| CertificatePath |
Tipo: Obrigatório: Sim |
| ComputeName |
Tipo: Obrigatório: Sim |
FGameLiftGetFleetRoleCredentialsOutcome
Esse tipo de dados resulta de uma ação e produz um objeto com as seguintes propriedades:
| Propriedades | Descrição |
|---|---|
| Resultado |
O resultado da ação. Digite: FGetFleetRoleCredentialsResult Obrigatório: não |
| ResultWithOwnership |
O resultado da ação, convertido como um rvalue, para que o código de chamada possa se apropriar do objeto. Digite: Obrigatório: não |
| Bem-sucedida |
Se a ação foi bem-sucedida ou não. Tipo: Obrigatório: Sim |
| Erro |
O erro que ocorreu se a ação não foi bem-sucedida. Digite: FGameLiftError Obrigatório: não |
FGetFleetRoleCredentialsResult
| Propriedades | Descrição |
|---|---|
| AccessKeyId |
O ID da chave de acesso para autenticar e fornecer acesso aos seus recursos AWS. Digite: Obrigatório: não |
| AssumedRoleId |
O ID do usuário ao qual o perfil de serviço pertence. Digite: Obrigatório: não |
| AssumedRoleUserArn |
O nome do recurso da Amazon (ARN) do usuário ao qual pertence o perfil de serviço. Digite: Obrigatório: não |
| Expiração |
A quantidade de tempo até que suas credenciais de sessão expirem. Digite: Obrigatório: não |
| SecretAccessKey |
O ID da chave de acesso secreta para autenticação. Digite: Obrigatório: não |
| SessionToken |
Um token para identificar a sessão ativa atual interagindo com seus recursos AWS. Digite: Obrigatório: não |
| Bem-sucedida |
Se a ação foi bem-sucedida ou não. Tipo: Obrigatório: Sim |
| Erro |
O erro que ocorreu se a ação não foi bem-sucedida. Digite: GameLiftError Obrigatório: não |
FGameLiftError
| Propriedades | Descrição |
|---|---|
| ErrorType |
O tipo de erro. Tipo: Um Obrigatório: não |
Nome do erro |
O nome do erro. Digite: Obrigatório: não |
ErrorMessage |
A mensagem de erro. Digite: Obrigatório: não |
Enumerações
As enumerações definidas para o SDK do servidor para Amazon GameLift Servers (Unreal) são definidas da seguinte forma:
- FAttributeType
-
NONE
STRING
DOUBLE
STRING_LIST
STRING_DOUBLE_MAP
- Tipo de erro do GameLift
-
Valor da string indicando o tipo de erro. Os valores válidos são:
-
SERVICE_CALL_FAILED – Uma chamada AWS para um serviço falhou.
-
LOCAL_CONNECTION_FAILED – A conexão local com o Amazon GameLift Servers falhou.
-
NETWORK_NOT_INITIALIZED – A rede não foi inicializada.
-
GAMESESSION_ID_NOT_SET – O ID da sessão do jogo não foi definido.
-
BAD_REQUEST_EXCEPTION
-
INTERNAL_SERVICE_EXCEPTION
-
ALREADY_INITIALIZED – O servidor ou cliente Amazon GameLift Servers já foi inicializado com Initialize().
-
FLEET_MISMATCH – A frota de destino não corresponde à frota de uma GameSession ou PlayerSession.
-
GAMELIFT_CLIENT_NOT_INITIALIZED – O cliente Amazon GameLift Servers não foi inicializado.
-
GAMELIFT_SERVER_NOT_INITIALIZED – O servidor Amazon GameLift Servers não foi inicializado.
-
GAME_SESSION_ENDED_FAILED – O servidor de SDK para o Amazon GameLift Servers não foi capaz de contatar o serviço para reportar que a sessão de jogo terminou.
-
GAME_SESSION_ENDED_FAILED – A sessão de jogo do Amazon GameLift Servers Server não foi ativada.
-
GAME_SESSION_READY_FAILED – O Server SDK do Amazon GameLift Servers não conseguiu entrar em contato com o serviço para informar que a sessão do jogo está pronta.
-
INITIALIZATION_MISMATCH – Um método de cliente foi chamado depois de Server::Initialize(), ou vice-versa.
-
NOT_INITIALIZED – O Amazon GameLift Servers Server ou Client não foi inicializado com Initialize().
-
NO_TARGET_ALIASID_SET – Um aliasID de destino não foi definido.
-
NO_TARGET_FLEET_SET – Uma frota alvo não foi definida.
-
PROCESS_ENDING_FAILED – O Server SDK do Amazon GameLift Servers não conseguiu entrar em contato com o serviço para informar que o processo está sendo encerrado.
-
PROCESS_NOT_ACTIVE – O processo do servidor ainda não está ativo, não está vinculado a uma GameSession e não pode aceitar ou processar PlayerSessions.
-
PROCESS_NOT_READY – O processo do servidor ainda não está pronto para ser ativado.
-
PROCESS_READY_FAILED – O Server SDK do Amazon GameLift Servers não conseguiu entrar em contato com o serviço para informar que o processo está pronto.
-
SDK_VERSION_DETECTION_FAILED – Falha na detecção da versão do SDK.
-
STX_CALL_FAILED – Uma chamada para o componente de backend do servidor xSTx falhou.
-
STX_INITIALIZATION_FAILED – O componente de backend do servidor XSTx falhou ao inicializar.
-
UNEXPECTED_PLAYER_SESSION – Uma sessão de jogador não registrada foi encontrada pelo servidor.
-
WEBSOCKET_CONNECT_FAILURE
-
WEBSOCKET_CONNECT_FAILURE_FORBIDDEN
-
WEBSOCKET_CONNECT_FAILURE_INVALID_URL
-
WEBSOCKET_CONNECT_FAILURE_TIMEOUT
-
WEBSOCKET_RETRIABLE_SEND_MESSAGE_FAILURE – Falha recuperável ao enviar uma mensagem para o WebSocket do serviço GameLift.
-
WEBSOCKET_SEND_MESSAGE_FAILURE – Falha ao enviar uma mensagem para o WebSocket do serviço GameLift.
-
MATCH_BACKFILL_REQUEST_VALIDATION – A validação da solicitação falhou.
-
PLAYER_SESSION_REQUEST_VALIDATION – A validação da solicitação falhou.
-
- EPlayerSessionCreationPolicy
-
Valor de string que indica se a sessão do jogo aceita novos jogadores. 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.
-
NOT_SET – A sessão do jogo não está configurada para aceitar ou negar sessões de novos jogadores.
-
- EPlayerSessionStatus
-
ACTIVE
CONCLUÍDO
NOT_SET
RESERVED
TIMEDOUT