SDK 5.x del servidor de Amazon GameLift para Unreal Engine: tipos de datos
Utilice esta referencia del SDK 5.x del servidor de Unreal de Amazon GameLift como ayuda para preparar un juego multijugador para el uso con Amazon GameLift. Para obtener más información sobre el proceso de integración, consulte Adición de Amazon GameLift al servidor de juegos. Si utiliza el complemento de Amazon GameLift para Unreal, consulte también Complemento de Amazon GameLift para Unreal Engine.
nota
En este tema se describe la API de C++ de Amazon GameLift que puede utilizar al realizar la compilación para Unreal Engine. En concreto, esta documentación se aplica al código que se compila con la opción -DBUILD_FOR_UNREAL=1
.
SDK 5.x del servidor de Amazon GameLift para Unreal Engine: acciones
Tipos de datos
- FProcessParameters
- UpdateGameSession
- GameSession
- FServerParameters
- FStartMatchBackfillRequest
- FPlayer
- FGameLiftDescribePlayerSessionsRequest
- FStopMatchBackfillRequest
- FAttributeValue
- FGameLiftGetFleetRoleCredentialsRequest
- FGameLiftLongOutcome
- FGameLiftStringOutcome
- FGameLiftDescribePlayerSessionsOutcome
- FGameLiftDescribePlayerSessionsResult
- FGenericOutcome
- FGameLiftPlayerSession
- FGameLiftGetComputeCertificateOutcome
- FGameLiftGetComputeCertificateResult
- FGameLiftGetFleetRoleCredentialsOutcome
- FGetFleetRoleCredentialsResult
- FGameLiftError
- Enums
FProcessParameters
Este tipo de datos contiene el conjunto de parámetros enviado a Amazon GameLift en un ProcessReady().
Propiedades |
Descripción |
LogParameters | Un objeto con rutas de directorio a los archivos que se generan durante una sesión de juego. Amazon GameLift copia y almacena los archivos para acceder a ellos en el futuro. Tipo: Obligatorio: no |
OnHealthCheck | La función de devolución de llamada que invoca Amazon GameLift para solicitar un informe de estado del proceso de servidor. Amazon GameLift llama a esta función cada 60 segundos y espera 60 segundos para recibir una respuesta. El proceso del servidor devuelve TRUE si está en buen estado y FALSE si no. Si no se devuelve ninguna respuesta, Amazon GameLift registra el proceso de servidor como en mal estado. Esta propiedad es una función de delegación definida como Tipo: Obligatorio: no |
OnProcessTerminate | La función de devolución de llamada que Amazon GameLift invoca para forzar el cierre del proceso de servidor. Después de llamar a esta función, Amazon GameLift espera cinco minutos hasta que el proceso del servidor se cierre y responde con una llamada a ProcessEnding() antes de cerrar el proceso del servidor. Tipo: Obligatorio: sí |
OnStartGameSession | La función de devolución de llamada que Amazon GameLift invoca para activar una nueva sesión de juego. Amazon GameLift llama a esta función como respuesta a la solicitud de cliente CreateGameSession. La función de devolución de llamada pasa un objeto GameSession. Esta propiedad es una función de delegación definida como Tipo: Obligatorio: sí |
OnUpdateGameSession | La función de devolución de llamada que Amazon GameLift invoca para pasar un objeto de sesión de juego actualizado al proceso de servidor. Amazon GameLift llama a esta función cuando se ha procesado una solicitud de reposición de emparejamiento para proporcionar datos actualizados de los emparejadores. Pasa un objeto GameSession, una actualización de estado (updateReason ) y el ID del ticket de reposición de emparejamiento. Esta propiedad es una función de delegación definida como Tipo: Obligatorio: no |
Puerto | El número de puerto en el que escucha el proceso del servidor para recibir conexiones de jugador nuevas. El valor debe estar en el rango de puertos configurado para cualquier flota que implemente esa compilación de servidor de juegos. Este número de puerto se incluye en los objetos de sesión de juego y de jugador, que las sesiones de juego utilizan a la hora de conectarse a un proceso del servidor. Tipo: Obligatorio: sí |
UpdateGameSession
Este tipo de datos se actualiza a un objeto de sesión de juego, que incluye el motivo por el que se actualizó la sesión de juego y el ID del ticket de reposición correspondiente si la reposición se utiliza para reponer las sesiones de los jugadores en la sesión de juego.
Propiedades | Descripción |
---|---|
GameSession | Un objeto GameSession. El objeto GameSession contiene propiedades que describen una sesión de juego. Tipo: Obligatorio: no |
UpdateReason | El motivo por el que se actualiza la sesión de juego. Tipo:
Obligatorio: no |
BackfillTicketId | El ID de ticket de reposición que intenta actualizar la sesión de juego. Tipo: Obligatorio: no |
GameSession
Este tipo de datos proporciona detalles de una sesión de juego.
Propiedades | Descripción |
---|---|
GameSessionId |
Un identificador único de la sesión de juego. El ARN de una sesión de juego tiene el siguiente formato: Tipo: Obligatorio: no |
Nombre |
Una etiqueta descriptiva de la sesión de juego. Tipo: Obligatorio: no |
FleetId |
Un identificador único para la flota en la que se ejecuta la sesión de juego. Tipo: Obligatorio: no |
MaximumPlayerSessionCount |
El número máximo de conexiones de jugadores a la sesión de juego. Tipo: Obligatorio: no |
Puerto |
El número de puerto de la sesión de juego. Para conectarse a un servidor de juegos de Amazon GameLift, una aplicación necesita tanto la dirección IP como el número de puerto. Tipo: Obligatorio: no |
IpAddress |
La dirección IP del servidor de la sesión de juego. Para conectarse a un servidor de juegos de Amazon GameLift, una aplicación necesita tanto la dirección IP como el número de puerto. Tipo: Obligatorio: no |
GameSessionData |
Un conjunto de propiedades de sesión de juego personalizadas, formateadas como un valor de una sola cadena. Tipo: Obligatorio: no |
MatchmakerData |
Información sobre el proceso de emparejamiento que se utilizó para crear la sesión de juego, en sintaxis JSON, con formato como cadena. Además de la configuración de emparejamiento utilizada, contiene datos sobre todos los jugadores asignados al emparejamiento, incluidos los atributos de los jugadores y las asignaciones de los equipos. Tipo: Obligatorio: no |
GameProperties |
Un conjunto de propiedades personalizadas de una sesión de juego, con formato como pares clave-valor. Estas propiedades se pasan a una solicitud de iniciar una nueva sesión de juego. Tipo: Obligatorio: no |
DnsName |
El identificador de DNS asignado a la instancia que ejecuta la sesión de juego. Los valores tienen formato siguiente:
Cuando se conecte a una sesión de juego que se ejecute en una flota habilitada de TLS, debe utilizar el nombre de DNS, no la dirección IP. Tipo: Obligatorio: no |
FServerParameters
La información utilizada para mantener la conexión entre el servidor de Amazon GameLift Anywhere y el servicio de Amazon GameLift. Esta información se utiliza al inicializar nuevos procesos de servidor con InitSDK(). Para los servidores alojados en instancias de EC2 administradas por Amazon GameLift, utilice un objeto vacío.
Propiedades | Descripción |
---|---|
webSocketUrl |
El Tipo: Obligatorio: sí |
processId |
Un identificador único registrado en el proceso de servidor que aloja el juego. Tipo: Obligatorio: sí |
hostId | El HostID es el ComputeName utilizado cuando registró el recurso informático. Para obtener más información, consulte RegisterCompute.Tipo: Obligatorio: sí |
fleetId | El identificador único de la flota en la que está registrado el recurso informático. Para obtener más información, consulte RegisterCompute. Tipo: Obligatorio: sí |
authToken | El token de autenticación generado por Amazon GameLift que autentica el servidor en Amazon GameLift. Para obtener más información, consulte GetComputeAuthToken. Tipo: Obligatorio: sí |
FStartMatchBackfillRequest
Información utilizada para crear una solicitud de reposición de emparejamiento. El servidor de juegos comunica esa información a Amazon GameLift en una llamada a StartMatchBackfill().
Propiedades | Descripción |
---|---|
GameSessionArn |
Un identificador único de la sesión de juegos. El Tipo: Obligatorio: sí |
MatchmakingConfigurationArn |
Un identificador único, con formato de ARN, que el emparejador utiliza para esta solicitud. El ARN del emparejador para la sesión de juego original se encuentra en el objeto de sesión de juego en la propiedad de datos del emparejador. Puede obtener más información sobre los datos del emparejador en Trabajo con datos del emparejador. Tipo: Obligatorio: sí |
Players |
Un conjunto de datos que representa a todos los jugadores que están en la sesión de juego. El creador de emparejamientos utiliza esta información para buscar nuevos jugadores que son idóneos para los jugadores actuales. Tipo: Obligatorio: sí |
TicketId |
Un identificador único para un ticket de solicitud de emparejamiento o reposición de emparejamiento. Si no proporciona un valor, Amazon GameLift generará uno. Use este identificador para realizar un seguimiento del estado del ticket de reposición de emparejamiento o cancelar la solicitud si es necesario. Tipo: Obligatorio: no |
FPlayer
Este tipo de datos representa a un jugador en el sistema de emparejamiento. Al iniciar una solicitud de emparejamiento, un jugador tiene un ID de jugador, atributos y, posiblemente, datos de latencia. Amazon GameLift añade la información del equipo después de que se realice un emparejamiento.
Propiedades | Descripción |
---|---|
LatencyInMS |
Un conjunto de valores expresados en milisegundos que indican la cantidad de latencia que experimenta un jugador cuando se conecta a una ubicación. Si se utiliza esta propiedad, el jugador solo se empareja con las ubicaciones que aparecen. Si un creador de emparejamientos tiene una regla que evalúa la latencia de los jugadores, estos deben informar de la latencia para ser emparejados. Tipo: Obligatorio: no |
PlayerAttributes |
Una colección de pares de clave-valor que contienen información del jugador para su uso en el emparejamiento. Las claves de atributos de los jugadores deben emparejarse con los atributos PlayerAttributes utilizados en un conjunto de reglas de emparejamiento. Para obtener más información sobre los atributos del jugador, consulte AttributeValue. Tipo: Obligatorio: no |
PlayerId |
Un identificador único de un jugador. Tipo: Obligatorio: no |
Equipo |
El nombre del equipo al que está asignado el jugador en un emparejamiento. Defina el nombre del equipo se define en el conjunto de reglas de emparejamiento. Tipo: Obligatorio: no |
FGameLiftDescribePlayerSessionsRequest
Un objeto que especifica las sesiones de jugador que recuperar. El proceso del servidor proporciona esta información con una llamada DescribePlayerSessions() a Amazon GameLift.
Propiedades | Descripción |
---|---|
GameSessionId |
Un identificador único de la sesión de juegos. Use este parámetro para solicitar todas las sesiones de jugador de la sesión de juego especificada. El formato de ID de sesión de juego es Tipo: Obligatorio: no |
PlayerSessionId |
El identificador único de una sesión de jugador. Utilice este parámetro para solicitar una sesión de jugador específica. Tipo: Obligatorio: no |
PlayerId |
El identificador único de un jugador. Utilice este parámetro para solicitar todas las sesiones de jugador para un jugador específico. Consulte Generación de ID de jugador. Tipo: Obligatorio: no |
PlayerSessionStatusFilter |
El estado de la sesión de jugador para filtrar los resultados. Los posibles estados de sesión de jugador son los siguientes:
Tipo: Obligatorio: no |
NextToken |
El token que indica el inicio de la siguiente página de resultados. Para especificar el inicio del conjunto de resultados, no indique ningún valor. Si se especifica un ID de sesión de jugador, este parámetro se ignora. Tipo: Obligatorio: no |
Límite |
El número máximo de resultados que devolver. Si se especifica un ID de sesión de jugador, este parámetro se ignora. Tipo: Obligatorio: no |
FStopMatchBackfillRequest
Información utilizada para cancelar una solicitud de reposición de emparejamiento. El servidor de juegos comunica esa información al servicio de Amazon GameLift en una llamada a StopMatchBackfill().
Propiedades | Descripción |
---|---|
GameSessionArn |
Un identificador único de sesión de juego de la solicitud que se va a cancelar. Tipo: Obligatorio: sí |
MatchmakingConfigurationArn |
Un identificador único del emparejador al que se envió esta solicitud. Tipo: Obligatorio: sí |
TicketId |
Un identificador único del ticket de solicitud de reposición que se va a cancelar. Tipo: Obligatorio: sí |
FAttributeValue
Utilice estos valores en pares de clave-valor de atributo FPlayer. Este objeto le permite especificar un valor de atributo mediante cualquiera de los tipos de datos válidos: cadena, número, matriz de cadenas o mapa de datos. Cada objeto AttributeValue
puede utilizar solo una de las propiedades disponibles.
Propiedades | Descripción |
---|---|
attrType |
Especifica el tipo de valor del atributo. Tipo: un valor de enum de Obligatorio: no |
S |
Representa un valor de atributo de cadena. Tipo: Obligatorio: no |
N |
Representa un valor de atributo numérico. Tipo: Obligatorio: no |
SL |
Representa una matriz de valores de atributos de cadena. Tipo: Obligatorio: no |
SDM |
Representa un diccionario de claves de cadena y valores dobles. Tipo: Obligatorio: no |
FGameLiftGetFleetRoleCredentialsRequest
Este tipo de datos proporciona credenciales de rol que amplían el acceso limitado a sus recursos de AWS al servidor de juegos. Para obtener más información, consulte, Configuración de un rol de servicio de IAM para Amazon GameLift.
Propiedades | Descripción |
---|---|
RoleArn | El nombre de recurso de Amazon (ARN) del rol de servicio que amplía el acceso limitado a sus recursos de AWS. Tipo: Obligatorio: no |
RoleSessionName | El nombre de la sesión que describe el uso de las credenciales del rol. Tipo: Obligatorio: no |
FGameLiftLongOutcome
Este tipo de datos es el resultado de una acción y produce un objeto con las siguientes propiedades:
Propiedades | Descripción |
---|---|
Resultado |
El resultado de la acción. Tipo: Obligatorio: no |
ResultWithOwnership |
El resultado de la acción, expresado como un valor r, para que el código de llamada pueda tomar posesión del objeto. Tipo: Obligatorio: no |
Success |
Si la acción se realizó correctamente o no. Tipo: Obligatorio: sí |
Error |
El error que se genera si la acción no se ha realizado correctamente. Tipo: FGameLiftError Obligatorio: no |
FGameLiftStringOutcome
Este tipo de datos es el resultado de una acción y produce un objeto con las siguientes propiedades:
Propiedades | Descripción |
---|---|
Resultado |
El resultado de la acción. Tipo: Obligatorio: no |
ResultWithOwnership |
El resultado de la acción, expresado como un valor r, para que el código de llamada pueda tomar posesión del objeto. Tipo: Obligatorio: no |
Success |
Si la acción se realizó correctamente o no. Tipo: Obligatorio: sí |
Error |
El error que se genera si la acción no se ha realizado correctamente. Tipo: FGameLiftError Obligatorio: no |
FGameLiftDescribePlayerSessionsOutcome
Este tipo de datos es el resultado de una acción y produce un objeto con las siguientes propiedades:
Propiedades | Descripción |
---|---|
Resultado |
El resultado de la acción. Tipo: FGameLiftDescribePlayerSessionsResult Obligatorio: no |
ResultWithOwnership |
El resultado de la acción, expresado como un valor r, para que el código de llamada pueda tomar posesión del objeto. Tipo: Obligatorio: no |
Success |
Si la acción se realizó correctamente o no. Tipo: Obligatorio: sí |
Error |
El error que se genera si la acción no se ha realizado correctamente. Tipo: FGameLiftError Obligatorio: no |
FGameLiftDescribePlayerSessionsResult
Propiedades | Descripción |
---|---|
PlayerSessions |
Tipo: Obligatorio: sí |
NextToken |
El token que indica el inicio de la siguiente página de resultados. Para especificar el inicio del conjunto de resultados, no indique ningún valor. Si se especifica un ID de sesión de jugador, este parámetro se ignora. Tipo: Obligatorio: no |
Success |
Si la acción se realizó correctamente o no. Tipo: Obligatorio: sí |
Error |
El error que se genera si la acción no se ha realizado correctamente. Tipo: FGameLiftError Obligatorio: no |
FGenericOutcome
Este tipo de datos es el resultado de una acción y produce un objeto con las siguientes propiedades:
Propiedades | Descripción |
---|---|
Success |
Si la acción se realizó correctamente o no. Tipo: Obligatorio: sí |
Error |
El error que se genera si la acción no se ha realizado correctamente. Tipo: FGameLiftError Obligatorio: no |
FGameLiftPlayerSession
Propiedades | Descripción |
---|---|
CreationTime |
Tipo: Obligatorio: sí |
FleetId |
Tipo: Obligatorio: sí |
GameSessionId |
Tipo: Obligatorio: sí |
IpAddress |
Tipo: Obligatorio: sí |
Datos del jugador |
Tipo: Obligatorio: sí |
PlayerId |
Tipo: Obligatorio: sí |
PlayerSessionId |
Tipo: Obligatorio: sí |
Puerto |
Tipo: Obligatorio: sí |
Status |
Tipo: una enumeración de Obligatorio: sí |
TerminationTime |
Tipo: Obligatorio: sí |
DnsName |
Tipo: Obligatorio: sí |
FGameLiftGetComputeCertificateOutcome
Este tipo de datos es el resultado de una acción y produce un objeto con las siguientes propiedades:
Propiedades | Descripción |
---|---|
Resultado |
El resultado de la acción. Tipo: FGameLiftGetComputeCertificateResult Obligatorio: no |
ResultWithOwnership |
El resultado de la acción, expresado como un valor r, para que el código de llamada pueda tomar posesión del objeto. Tipo: Obligatorio: no |
Success |
Si la acción se realizó correctamente o no. Tipo: Obligatorio: sí |
Error |
El error que se genera si la acción no se ha realizado correctamente. Tipo: FGameLiftError Obligatorio: no |
FGameLiftGetComputeCertificateResult
La ruta al certificado TLS de su recurso informático y el nombre de host del equipo.
Propiedades | Descripción |
---|---|
CertificatePath |
Tipo: Obligatorio: sí |
ComputeName |
Tipo: Obligatorio: sí |
FGameLiftGetFleetRoleCredentialsOutcome
Este tipo de datos es el resultado de una acción y produce un objeto con las siguientes propiedades:
Propiedades | Descripción |
---|---|
Resultado |
El resultado de la acción. Tipo: FGetFleetRoleCredentialsResult Obligatorio: no |
ResultWithOwnership |
El resultado de la acción, expresado como un valor r, para que el código de llamada pueda tomar posesión del objeto. Tipo: Obligatorio: no |
Success |
Si la acción se realizó correctamente o no. Tipo: Obligatorio: sí |
Error |
El error que se genera si la acción no se ha realizado correctamente. Tipo: FGameLiftError Obligatorio: no |
FGetFleetRoleCredentialsResult
Propiedades | Descripción |
---|---|
AccessKeyId |
El ID de la clave de acceso para autenticar y proporcionar acceso a los recursos de AWS. Tipo: Obligatorio: no |
AssumedRoleId |
El ID del usuario al que pertenece el rol de servicio. Tipo: Obligatorio: no |
AssumedRoleUserArn |
El nombre de recurso de Amazon (ARN) del usuario al que pertenece el rol de servicio. Tipo: Obligatorio: no |
Expiration |
El tiempo que queda hasta que caduquen las credenciales de la sesión. Tipo: Obligatorio: no |
SecretAccessKey |
El ID de clave de acceso secreta para la autenticación. Tipo: Obligatorio: no |
SessionToken |
Un token para identificar la sesión activa actual que interactúa con los recursos de AWS. Tipo: Obligatorio: no |
Success |
Si la acción se realizó correctamente o no. Tipo: Obligatorio: sí |
Error |
El error que se genera si la acción no se ha realizado correctamente. Tipo: GameLiftError Obligatorio: no |
FGameLiftError
Propiedades | Descripción |
---|---|
ErrorType |
Tipo de error. Tipo: una enumeración de Obligatorio: no |
ErrorName |
El nombre del error. Tipo: Obligatorio: no |
ErrorMessage |
Mensaje de error. Tipo: Obligatorio: no |
Enums
Las enumeraciones definidas para el SDK del servidor de Amazon GameLift (Unreal) se definen de la siguiente manera:
- FAttributeType
-
NONE
STRING
DOUBLE
STRING_LIST
STRING_DOUBLE_MAP
- GameLiftErrorType
-
Valor de cadena que indica el tipo de error. Los valores válidos son:
-
SERVICE_CALL_FAILED: se ha producido un error en la llamada a un servicio de AWS.
-
LOCAL_CONNECTION_FAILED: se ha producido un error en la conexión local a Amazon GameLift.
-
NETWORK_NOT_INITIALIZED: la red no se ha inicializado.
-
GAMESESSION_ID_NOT_SET: no se ha establecido el ID de sesión de juego.
-
BAD_REQUEST_EXCEPTION
-
INTERNAL_SERVICE_EXCEPTION
-
ALREADY_INITIALIZED: el servidor o cliente de Amazon GameLift ya se inicializó con Inicializar().
-
FLEET_MISMATCH: la flota de destino no coincide con la flota de gameSession o playerSession.
-
GAMELIFT_CLIENT_NOT_INITIALIZED: el cliente de Amazon GameLift no se ha inicializado.
-
GAMELIFT_SERVER_NOT_INITIALIZED: el servidor de Amazon GameLift no se ha inicializado.
-
GAME_SESSION_ENDED_FAILED: el SDK del servidor de Amazon GameLift no pudo ponerse en contacto con el servicio para informar de que la sesión de juego había finalizado.
-
GAME_SESSION_NOT_READY: no se activó la sesión de juego del servidor de Amazon GameLift.
-
GAME_SESSION_READY_FAILED: el SDK del servidor de Amazon GameLift no pudo ponerse en contacto con el servicio para informar de que la sesión de juego estaba lista.
-
INITIALIZATION_MISMATCH: se llamó a un método de cliente después de Server::Initialize() o viceversa.
-
NOT_INITIALIZED: el servidor o cliente de Amazon GameLift no se ha iniciado con Inicializar().
-
NO_TARGET_ALIASID_SET: no se ha establecido un aliasId de destino.
-
NO_TARGET_FLEET_SET: no se ha establecido una flota de destino.
-
PROCESS_ENDING_FAILED: el SDK del servidor de Amazon GameLift no pudo contactar con el servicio para informar de que el proceso está finalizando.
-
PROCESS_NOT_ACTIVE: el proceso de servidor aún no está activo, no está vinculado a una GameSession y no puede aceptar ni procesar PlayerSessions.
-
PROCESS_NOT_READY: el proceso de servidor aún no está listo para activarse.
-
PROCESS_READY_FAILED: el SDK del servidor de Amazon GameLift no pudo contactar con el servicio para informar de que el proceso está listo.
-
SDK_VERSION_DETECTION_FAILED: no se pudo detectar la versión del SDK.
-
STX_CALL_FAILED: no se pudo realizar una llamada al componente de backend del servidor xSTx.
-
STX_INITIALIZATION_FAILED: no se pudo inicializar el componente de backend del servidor xSTx.
-
UNEXPECTED_PLAYER_SESSION: el servidor ha detectado una sesión de jugador no registrada.
-
WEBSOCKET_CONNECT_FAILURE
-
WEBSOCKET_CONNECT_FAILURE_FORBIDDEN
-
WEBSOCKET_CONNECT_FAILURE_INVALID_URL
-
WEBSOCKET_CONNECT_FAILURE_TIMEOUT
-
WEBSOCKET_RETRIABLE_SEND_MESSAGE_FAILURE: error al enviar un mensaje al WebSocket del servicio de GameLift.
-
WEBSOCKET_SEND_MESSAGE_FAILURE: error al enviar un mensaje al WebSocket del servicio de GameLift.
-
MATCH_BACKFILL_REQUEST_VALIDATION: se ha producido un error en la validación de la solicitud.
-
PLAYER_SESSION_REQUEST_VALIDATION: se ha producido un error en la validación de la solicitud.
-
- EPlayerSessionCreationPolicy
-
Valor de cadena que indica si la sesión de juego acepta jugadores nuevos. Los valores válidos son:
-
ACCEPT_ALL: se aceptan todas las sesiones de jugador nuevas.
-
DENY_ALL: se rechazan todas las sesiones de jugador nuevas.
-
NOT_SET: la sesión de juego no está configurada para aceptar o denegar sesiones de nuevos jugadores.
-
- EPlayerSessionStatus
-
ACTIVE
COMPLETED
NOT_SET
RESERVED
TIMEDOUT