Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Use la Amazon GameLift Servers Referencia del SDK 5.x del servidor Unreal para ayudarte a preparar tu juego multijugador para usarlo con Amazon GameLift Servers. Para obtener más información sobre el proceso de integración, consulteAdd (Suma) Amazon GameLift Servers a tu servidor de juegos. Si está utilizando el Amazon GameLift Servers plugin para Unreal, véase tambiénAmazon GameLift Servers plugin para Unreal Engine.
nota
En este tema se describe el Amazon GameLift Servers La API de C++ que puedes usar cuando compilas 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 de servidor C++ (Unreal) para Amazon GameLift Servers -- Acciones
Tipos de datos
FProcessParámetros
Este tipo de datos contiene el conjunto de parámetros enviados a Amazon GameLift Servers en unProcessReady().
Propiedades |
Descripción |
LogParameters | Un objeto con rutas de directorio a los archivos que se generan durante una sesión de juego. Amazon GameLift Servers copia y guarda los archivos para su acceso en el futuro. Tipo: Obligatorio: no |
OnHealthCheck | La función de devolución de llamada que Amazon GameLift Servers invoca para solicitar un informe de estado de salud del proceso del servidor. Amazon GameLift Servers 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 Servers registra que el proceso del servidor no está en buen 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 Servers invoca para forzar el cierre del proceso del servidor. Tras llamar a esta función, Amazon GameLift Servers espera 5 minutos a que se cierre el proceso del servidor y responde con una ProcessEnding() llamada antes de cerrar el proceso del servidor. Tipo: Obligatorio: sí |
OnStartGameSession | La función de devolución de llamada que Amazon GameLift Servers se invoca para activar una nueva sesión de juego. Amazon GameLift Servers llama a esta función en respuesta a una solicitud CreateGameSessionde un cliente. 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 Servers invoca para pasar un objeto de sesión de juego actualizado al proceso del servidor. Amazon GameLift Servers activa esta función cuando se ha procesado una solicitud de reposición de partidas para proporcionar datos actualizados sobre el matchmaker. 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 Amazon GameLift Servers servidor de juegos, 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 Amazon GameLift Servers servidor de juegos, 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 |
FServerParámetros
Información utilizada para mantener la conexión entre un Amazon GameLift Servers El servidor Anywhere y el Amazon GameLift Servers servicio. Esta información se utiliza al inicializar nuevos procesos de servidor con InitSDK(). Para servidores alojados en Amazon GameLift Servers en EC2 las instancias gestionadas, utilice un objeto vacío.
Propiedades | Descripción |
---|---|
webSocketUrl |
la 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 Servers que autentica tu servidor en Amazon GameLift Servers. 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 del juego comunica esta información a Amazon GameLift Servers en una StartMatchBackfill() llamada.
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 Servers genera 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 Servers añade la información del equipo después de que se haya disputado un partido.
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 del jugador deben coincidir con las PlayerAttributes utilizadas en un conjunto de reglas de emparejamiento. Para obtener más información sobre los atributos de los jugadores, 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 DescribePlayerSessions() llamada a Amazon GameLift Servers.
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 Generar jugador IDs. 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 del juego comunica esta información a Amazon GameLift Servers servicio en una StopMatchBackfill() llamada.
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í |
FAttributeValor
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 Configurar un rol de servicio de IAM para Amazon GameLift Servers.
Propiedades | Descripción |
---|---|
RoleArn | El nombre de recurso de Amazon (ARN) de la función de servicio que amplía el acceso limitado a sus AWS recursos. 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 |
FGenericResultado
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í |
PlayerData |
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 tus AWS recursos. 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
Enumeraciones definidas para el SDK del servidor para Amazon GameLift Servers (Unreal) se definen de la siguiente manera:
- FAttributeTipo
-
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: no se pudo realizar una llamada a un AWS servicio.
-
LOCAL_CONNECTION_FAILED — La conexión local a Amazon GameLift Servers falló.
-
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 Amazon GameLift Servers El servidor o el cliente ya se inicializaron con Initialize ().
-
FLEET_MISMATCH: la flota de destino no coincide con la flota de gameSession o playerSession.
-
GAMELIFT_CLIENT_NOT_INITIALIZED — El Amazon GameLift Servers el cliente no se ha inicializado.
-
GAMELIFT_SERVER_NOT_INITIALIZED — El Amazon GameLift Servers el servidor no se ha inicializado.
-
GAME_SESSION_ENDED_FAILED: el SDK del servidor para Amazon GameLift Servers no se pudo contactar con el servicio para informar que la sesión de juego había finalizado.
-
GAME_SESSION_NOT_READY — El Amazon GameLift Servers La sesión de juego del servidor no estaba activada.
-
GAME_SESSION_READY_FAILED: el SDK de servidor para Amazon GameLift Servers no ha podido contactar con el servicio para informar que la sesión de juego está lista.
-
INITIALIZATION_MISMATCH: se llamó a un método de cliente después de Server::Initialize() o viceversa.
-
NOT_INITIALIZED — El Amazon GameLift Servers El servidor o el cliente no se inicializaron con Initialize ().
-
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 para Amazon GameLift Servers no se pudo contactar con el servicio para informar que el proceso está finalizando.
-
PROCESS_NOT_ACTIVE — El proceso del servidor aún no está activo, no está vinculado a un GameSession y no puede aceptarlo ni procesarlo. PlayerSessions
-
PROCESS_NOT_READY: el proceso de servidor aún no está listo para activarse.
-
PROCESS_READY_FAILED: el SDK del servidor para Amazon GameLift Servers no se pudo contactar con el servicio para informar que el proceso está listo.
-
SDK_VERSION_DETECTION_FAILED: no se pudo detectar la versión del SDK.
-
STX_CALL_FAILED — Falló una llamada al componente de backend del XStx servidor.
-
STX_INITIALIZATION_FAILED: el componente de backend del servidor no se pudo inicializar. 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 recuperable al enviar un mensaje al servicio. GameLift WebSocket
-
WEBSOCKET_SEND_MESSAGE_FAILURE: error al enviar un mensaje al GameLift servicio. WebSocket
-
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