SDK 5.x do servidor Amazon GameLift para Unreal Engine: tipos de dados
Use a referência do SDK 5.x do servidor Amazon GameLift para Unreal para ajudar você a preparar o jogo multijogador para uso com o Amazon GameLift. Para obter detalhes sobre o processo de integração, consulte Adicione o Amazon GameLift ao servidor de jogos. Se você estiver usando o plug-in do Amazon GameLift para Unreal, consulte Plug-in do Amazon GameLift para Unreal Engine também.
nota
Este tópico descreve a API C++ do Amazon GameLift 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 5.x do servidor Amazon GameLift para Unreal Engine: ações
Tipos de dados
- FProcessParameters
- UpdateGameSession
- GameSession
- Parâmetros do servidor F
- FStartMatchBackfillRequest
- FPlayer
- FGameLiftDescribePlayerSessionsRequest
- FStopMatchBackfillRequest
- FAttributeValue
- FGameLiftGetFleetRoleCredentialsRequest
- FGameLiftLongOutcome
- FGameLiftStringOutcome
- FGameLiftDescribePlayerSessionsOutcome
- FGameLiftDescribePlayerSessionsResult
- Resultado genérico
- FGameLiftPlayerSession
- FGameLiftGetComputeCertificateOutcome
- FGameLiftGetComputeCertificateResult
- FGameLiftGetFleetRoleCredentialsOutcome
- FGetFleetRoleCredentialsResult
- FGameLiftError
- Enumerações
FProcessParameters
Esse tipo de dados contém o conjunto de parâmetros enviados ao Amazon GameLift em um arquivo ProcessReady().
Properties |
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 copia e armazena os arquivos para acesso futuro. Digite: Obrigatório: Não |
OnHealthCheck | A função de retorno de chamada que o Amazon GameLift invoca para solicitar um relatório de status de integridade do processo do servidor. O Amazon GameLift 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 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 invoca para forçar o encerramento do processo do servidor. Depois de chamar essa função, o Amazon GameLift aguardará 5 minutos para o processo de servidor desligar e responder com uma chamada ProcessEnding() antes do desligamento do processo de servidor. Digite: Obrigatório: Sim |
OnStartGameSession | A função de retorno de chamada que o Amazon GameLift invoca para ativar uma nova sessão de jogo. O Amazon GameLift chama essa função em resposta à solicitação de um cliente CreateGameSession. A função de retorno de chamada transmite um objeto GameSession. Essa propriedade é uma função delegada definida como Digite: Obrigatório: Sim |
OnUpdateGameSession | A função de retorno de chamada que o Amazon GameLift invoca para passar um objeto de sessão de jogo atualizado para o processo do servidor. O Amazon GameLift chama essa função quando uma solicitação de preenchimento de correspondência é processada para fornecer dados atualizados do marcador de jogos. 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. Digite: 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. Digite:
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 |
Nome |
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, 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, 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 matchmaking usado para criar a sessão do jogo, na sintaxe JSON, formatado como uma string. Além da configuração de marcação de jogos 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 Anywhere do Amazon GameLift e o serviço do Amazon GameLift. Essas informações são usadas ao iniciar novos processos do servidor com InitSDK(). Para servidores hospedados em instâncias EC2 gerenciadas pelo Amazon GameLift, use um objeto vazio.
Propriedades | Descrição |
---|---|
webSocketUrl |
O Digite: Obrigatório: Sim |
processId |
Um identificador exclusivo registrado no processo do servidor que hospeda seu jogo. Digite: Obrigatório: Sim |
hostId | O HostID é o ComputeName usado quando você registrou seu computador. Para obter mais informações, consulte RegisterCompute.Digite: Obrigatório: Sim |
fleetId | O identificador exclusivo da frota na qual o computador está registrado. Para obter mais informações, consulte RegisterCompute. Digite: Obrigatório: Sim |
authToken | O token de autenticação gerado pelo Amazon GameLift que autentica seu servidor no Amazon GameLift. Para obter mais informações, consulte GetComputeAuthToken. Digite: Obrigatório: Sim |
FStartMatchBackfillRequest
Informações usadas para criar uma solicitação de alocação de = marcação de jogos. O servidor do jogo comunica essas informações ao Amazon GameLift em uma chamada StartMatchBackfill().
Propriedades | Descrição |
---|---|
GameSessionArn |
Um identificador da sessão de jogo exclusivo. A operação de API retorna Digite: 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. Digite: 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. Digite: 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 o criará 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 marcação de jogos. Ao iniciar uma solicitação de marcação de jogos, um jogador tem um ID de jogador, atributos, e possivelmente dados de latência. O Amazon GameLift adiciona informações da equipe após a realização de uma partida.
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 marcação de jogos. As chaves de atributos do jogador devem corresponder aos PlayerAttributes usados em um conjunto de regras de marcação de jogos. 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 marcação de jogos. 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.
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 marcação de jogos. O servidor do jogo comunica essas informações ao serviço do Amazon GameLift em uma chamada StopMatchBackfill().
Propriedades | Descrição |
---|---|
GameSessionArn |
Um identificador exclusivo da sessão de jogo da solicitação que está sendo cancelada. Digite: Obrigatório: Sim |
MatchmakingConfigurationArn |
Um identificador exclusivo do marcador de jogos para o qual essa solicitação foi enviada. Digite: Obrigatório: Sim |
TicketId |
Um identificador exclusivo do tíquete de solicitação de alocação a ser cancelado. Digite: 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.
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. Digite: 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. Digite: 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. Digite: 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 |
Digite: 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. Digite: 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. Digite: 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 |
Digite: Obrigatório: Sim |
FleetId |
Digite: Obrigatório: Sim |
GameSessionId |
Digite: Obrigatório: Sim |
IpAddress |
Digite: Obrigatório: Sim |
Dados do jogador |
Digite: Obrigatório: Sim |
PlayerId |
Digite: Obrigatório: Sim |
PlayerSessionId |
Digite: Obrigatório: Sim |
Porta |
Digite: Obrigatório: Sim |
Status |
Tipo: Um Obrigatório: Sim |
Hora de rescisão |
Digite: Obrigatório: Sim |
DnsName |
Digite: 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. Digite: 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 |
Digite: Obrigatório: Sim |
ComputeName |
Digite: 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. Digite: 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. Digite: 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 Amazon GameLift (Unreal) são definidos 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 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 – servidor ou cliente Amazon GameLift 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 não foi inicializado.
-
GAMELIFT_SERVER_NOT_INITIALIZED – O servidor Amazon GameLift não foi inicializado.
-
GAME_SESSION_ENDED_FAILED — O Amazon GameLift Server SDK não conseguiu entrar em contato com o serviço para informar que a sessão do jogo foi encerrada.
-
GAME_SESSION_ENDED_FAILED – A sessão de jogo do Amazon GameLift Server não foi ativada.
-
GAME_SESSION_READY_FAILED – O Server SDK do Amazon GameLift 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 servidor ou cliente do Amazon GameLift 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 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 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 back-end do servidor xSTx falhou.
-
STX_INITIALIZATION_FAILED – O componente de back-end 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
COMPLETED
NOT_SET
RESERVED
TIMEDOUT