SDK del servidor (Unreal) para Amazon GameLift Servers: acciones
Utilice el SDK del servidor para Unreal como ayuda para integrar su juego multijugador para el alojamiento con Amazon GameLift Servers. Para obtener ayuda con el proceso de integración, consulte Adición de Amazon GameLift Servers al servidor de juegos con el SDK del servidor.
nota
Esta referencia es para una versión anterior del SDK del servidor de Amazon GameLift Servers. Para obtener la última versión, consulte SDK 5.x del servidor de C++ (Unreal) para Amazon GameLift Servers: acciones.
Esta API se define en GameLiftServerSDK.h y GameLiftServerSDKModels.h.
Para configurar el complemento Unreal Engine y ver ejemplos de código, consulte Integración de Amazon GameLift Servers en un proyecto de Unreal Engine.
SDK del servidor (Unreal) para Amazon GameLift Servers: tipos de datos
Temas
AcceptPlayerSession()
Informa al servicio Amazon GameLift Servers de que un jugador con el ID de sesión de jugador especificado se ha conectado al proceso del servidor y requiere validación. Amazon GameLift Servers verifica que el ID de sesión del jugador es válido; es decir, que el ID de jugador ha reservado un espacio de jugador en la sesión de juego. Una vez completada la validación, Amazon GameLift Servers cambia el estado de la ranura de jugador de RESERVADO a ACTIVO.
Sintaxis
FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)
Parámetros
- playerSessionId
-
ID único emitido por el servicio Amazon GameLift Servers como respuesta a una llamada a la acción CreatePlayerSession de la API de Amazon GameLift Servers del SDK de AWS. El cliente de juego hace referencia a este ID cuando se conecta al proceso del servidor.
Tipo: FString
Obligatorio: sí
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.
ActivateGameSession()
Notifica al servicio Amazon GameLift Servers que el proceso del servidor ha activado una sesión de juego y que está listo para recibir las conexiones de los jugadores. Esta acción debe llamarse como parte de la función de devolución de llamada onStartGameSession(), después de completar la inicialización de todas las sesiones de juego.
Sintaxis
FGameLiftGenericOutcome ActivateGameSession()
Parámetros
Esta acción no tiene parámetros.
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.
DescribePlayerSessions()
Recupera datos de sesión de jugador, incluida la configuración, los metadatos de la sesión y los datos de jugador. Utilice esta acción para obtener información para una única sesión de jugador, para todas las sesiones de jugador de una sesión de juego o para todas las sesiones de jugador asociadas a un solo ID de jugador.
Sintaxis
FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)
Parámetros
- describePlayerSessionsRequest
-
Es un objeto FDescribePlayerSessionsRequest que describe las sesiones de jugador a recuperar.
Obligatorio: sí
Valor devuelto
Si funciona correctamente, devuelve un objeto FDescribePlayerSessionsRequest que contiene un conjunto de objetos de sesión de jugador que se ajusta a los parámetros de la solicitud. Los objetos de las sesiones de jugador tienen una estructura idéntica al tipo de datos PlayerSession de la API de Amazon GameLift Servers del SDK de AWS.
GetGameSessionId()
Recupera el ID de la sesión de juego alojada actualmente por el proceso del servidor, siempre que esté activo.
Sintaxis
FGameLiftStringOutcome GetGameSessionId()
Parámetros
Esta acción no tiene parámetros.
Valor devuelto
Si funciona correctamente, devuelve el ID de sesión del juego como objeto FGameLiftStringOutcome. Si no funciona, devuelve un mensaje de error.
GetInstanceCertificate()
Recupera la ubicación del archivo de un certificado TLS codificado con PEM que está asociado a la flota y sus instancias. AWS Certificate Manager genera este certificado al crear una nueva flota con la configuración del certificado establecida en GENERADO. Utilice este certificado para establecer una conexión segura con un cliente de juego y para cifrar la comunicación cliente/servidor.
Sintaxis
FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()
Parámetros
Esta acción no tiene parámetros.
Valor devuelto
Si se ejecuta correctamente, devuelve un objeto GetInstanceCertificateOutcome que contiene la ubicación del archivo de certificado TLS y la cadena de certificados de la flota, que se almacena en la instancia. En la instancia también se almacena un archivo de certificado raíz extraído de la cadena de certificados. Si no funciona, devuelve un mensaje de error.
Para obtener más información sobre el certificado y los datos de la cadena de certificados, consulte Elementos de respuesta de GetCertificate en la referencia de la API de AWS Certificate Manager.
GetSdkVersion()
Devuelve el número de versión actual del SDK integrado en el proceso del servidor.
Sintaxis
FGameLiftStringOutcome GetSdkVersion();
Parámetros
Esta acción no tiene parámetros.
Valor devuelto
Si funciona correctamente, devuelve la versión del SDK actual como objeto FGameLiftStringOutcome. La cadena devuelta solo incluye el número de versión (por ejemplo, (“3.1.5”). Si no funciona, devuelve un mensaje de error.
Ejemplo
Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion();
InitSDK()
Inicializa el SDK de Amazon GameLift Servers. Este método debe llamarse en el momento del lanzamiento, antes de cualquier otra inicialización relacionada con Amazon GameLift Servers.
Sintaxis
FGameLiftGenericOutcome InitSDK()
Parámetros
Esta acción no tiene parámetros.
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.
ProcessEnding()
Notifica al servicio Amazon GameLift Servers que el proceso del servidor se va a detener. Este método debe llamarse después de realizar las demás tareas de limpieza, incluido el cierre de todas las sesiones de juego activas. Se debe salir de este método con un código de salida de 0; un código de salida que no sea 0 provoca un mensaje de evento que afirma que no se ha salido del proceso correctamente.
Sintaxis
FGameLiftGenericOutcome ProcessEnding()
Parámetros
Esta acción no tiene parámetros.
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.
ProcessReady()
Notifica al servicio Amazon GameLift Servers que el proceso del servidor está listo para alojar sesiones de juego. Llame a este método después de invocar correctamente a InitSDK() y completar las tareas de configuración necesarias antes de que el proceso del servidor pueda alojar una sesión de juego. Se debe llamar a este método solo una vez por proceso.
Sintaxis
FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)
Parámetros
- FProcessParameters
-
Es un objeto FProcessParameters que comunica la siguiente información acerca del proceso del servidor:
-
Nombres de métodos de devolución de llamada, implementados en el código de servidor de juegos, que el servicio Amazon GameLift Servers invoca para comunicarse con el proceso del servidor.
-
Número de puerto de escucha del servidor de proceso.
-
Ruta a cualquier archivo específico de la sesión de juego que desea que Amazon GameLift Servers capture y almacene.
Obligatorio: sí
-
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.
Ejemplo
Consulte el código de ejemplo en Using the Unreal Engine Plugin.
RemovePlayerSession()
Notifica al servicio Amazon GameLift Servers que un jugador con el ID de sesión de jugador especificado se ha desconectado del proceso del servidor. En respuesta, Amazon GameLift Servers cambia el estado de la ranura de jugador a disponible, por lo que se le puede asignar un jugador nuevo.
Sintaxis
FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)
Parámetros
- playerSessionId
-
ID único emitido por el servicio Amazon GameLift Servers como respuesta a una llamada a la acción CreatePlayerSession de la API de Amazon GameLift Servers del SDK de AWS. El cliente de juego hace referencia a este ID cuando se conecta al proceso del servidor.
Tipo: FString
Obligatorio: sí
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.
StartMatchBackfill()
Envía una solicitud para encontrar nuevos jugadores para ranuras abiertas en una sesión de juego creada con FlexMatch. Consulte también la acción del SDK de AWS StartMatchBackfill(). Con esta acción, un proceso del servidor de juegos que aloja la sesión de juego puede iniciar solicitudes de reposición de emparejamiento. Obtenga más información sobre la característica de reposición de FlexMatch.
Esta acción es asíncrona. Si se emparejan correctamente nuevos jugadores, el servicio Amazon GameLift Servers ofrece datos actualizados del emparejador por medio de la función de devolución de llamada OnUpdateGameSession().
Un proceso del servidor solo puede tener una solicitud de reposición de emparejamiento activa a la vez. Para enviar una nueva solicitud, en primer lugar llame a StopMatchBackfill() para cancelar la solicitud original.
Sintaxis
FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);
Parámetros
- FStartMatchBackfillRequest
-
Un objeto FStartMatchBackfillRequest que comunica la siguiente información:
-
Un ID de ticket que se asignará a la solicitud de reposición. Esta información es opcional; si no se proporciona ningún ID, Amazon GameLift Servers lo generará automáticamente.
-
El emparejador al que se enviará la solicitud. El ARN de configuración completo es obligatorio. Este valor se puede obtener de los datos del emparejador de la sesión de juego.
-
El ID de la sesión de juego que está en fase de reposición.
-
Datos de emparejamiento disponibles para los jugadores actuales de la sesión de juego.
Obligatorio: sí
-
Valor devuelto
Si funciona correctamente, devuelve el ticket de reposición de emparejamiento como un objeto FGameLiftStringOutcome. Si no funciona, devuelve un mensaje de error. Podrá realizar el seguimiento del estado del ticket con la acción del SDK de AWS DescribeMatchmaking().
StopMatchBackfill()
Cancela una solicitud de reposición de emparejamiento activa que se creó con StartMatchBackfill(). Consulte también la acción del SDK de AWS StopMatchmaking(). Obtenga más información sobre la característica de reposición de FlexMatch.
Sintaxis
FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);
Parámetros
- StopMatchBackfillRequest
-
Un objeto FStopMatchBackfillRequest que identifica el ticket de emparejamiento que se va a cancelar:
-
ID del ticket asignado a la solicitud de reposición que se va a cancelar
-
el emparejador al que se envió la solicitud de reposición
-
sesión de juego asociada a la solicitud de reposición
Obligatorio: sí
-
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.
TerminateGameSession()
Este método está obsoleto con la versión 4.0.1. En su lugar, el proceso del servidor debería llamar a ProcessEnding() una vez finalizada la sesión de juego.
Informa al servicio de Amazon GameLift Servers de que el proceso del servidor ha finalizado la sesión de juego actual. Se llama a esta acción cuando el proceso del servidor permanece activo y listo para alojar una nueva sesión de juego. Solo debe llamarse una vez finalizado el procedimiento de finalización de la sesión de juego, ya que indica a Amazon GameLift Servers que el proceso del servidor está disponible inmediatamente para alojar una nueva sesión de juego.
No se llamará a esta acción si el proceso del servidor se interrumpe una vez finalizada la sesión de juego. En su lugar, se llamará a ProcessEnding() para indicar que tanto la sesión de juego como el proceso del servidor están finalizando.
Sintaxis
FGameLiftGenericOutcome TerminateGameSession()
Parámetros
Esta acción no tiene parámetros.
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.
UpdatePlayerSessionCreationPolicy()
Actualiza la capacidad de la sesión de juego actual para aceptar sesiones de jugador nuevas. Una sesión de juego se puede configurar para que acepte o deniegue todas las sesiones nuevas de los jugadores. (Consulte también la acción UpdateGameSession() en la Referencia de la API del servicio Amazon GameLift Servers).
Sintaxis
FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)
Parámetros
- Política
-
Valor que indica si la sesión de juego acepta jugadores nuevos.
Tipo:
EPlayerSessionCreationPolicyenum. 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.
Obligatorio: sí
-
Valor devuelto
Devuelve un resultado genérico correcto o erróneo con un mensaje de error.