Migre al GameLift servidor Amazon SDK 5.x - Amazon GameLift

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.

Migre al GameLift servidor Amazon SDK 5.x

Tus servidores de juegos alojados utilizan el GameLift servidor de Amazon SDK para comunicarse con el GameLift servicio de Amazon e iniciar y gestionar las sesiones de juego de los jugadores. La última versión, Amazon GameLift server SDK 5, ofrece una serie de mejoras y soporte para las nuevas GameLift funciones de Amazon. Si la versión de tu servidor de juegos utiliza actualmente Amazon GameLift Server SDK 4 o una versión anterior, sigue las instrucciones de este tema para actualizar tus juegos.

Acerca GameLift del servidor Amazon SDK 5

SDKLa versión 5.0.0 y superior GameLift del servidor Amazon incluye estas actualizaciones:

  • Lenguajes ampliados: las bibliotecas están disponibles en los siguientes lenguajes: C++, C# y Go. Puedes crear las bibliotecas de C++ para usarlas con Unreal Engine.

  • Compatibilidad con complementos de motores de juegos: los complementos GameLift independientes de Amazon para Unreal Engine y Unity requieren las bibliotecas GameLift del servidor Amazon SDK 5. Estos complementos ofrecen flujos de trabajo guiados para integrar, probar e implementar tus juegos en Amazon GameLift para su alojamiento. Consulta Guía GameLift del complemento de Amazon para Unity para el SDK de servidor 5.x nuestra Integración de juegos con el GameLift complemento de Amazon para Unreal Engine documentación.

  • GameLift AnywhereSoporte de Amazon: con Anywhere las flotas, puedes configurar tus propios recursos de alojamiento para usar las GameLift funciones de Amazon (incluido el emparejamiento). Añade Amazon GameLift Agent para automatizar la gestión del ciclo de vida de las sesiones de juego. Utilice Anywhere flotas para el alojamiento de producción con hardware local o configure entornos de prueba para un desarrollo rápido e iterativo de juegos. Consulte Alojamiento Amazon GameLift Anywhere y el GameLiftagente de Amazon.

  • Herramientas de prueba actualizadas: la GameLift Anywhere función Amazon te permite configurar entornos de prueba locales o basados en la nube para tus juegos. Configura las pruebas con o sin el Amazon GameLift Agent. Estas herramientas sustituyen a Amazon GameLift Local. Consulte Configura las pruebas locales con Amazon GameLift Anywhere.

  • Consolidado. NETsolución para C#: el servidor C# SDK 5.1+ admite. NETFramework 4.6.2 (actualizado desde la versión 4.6.1) y. NET6.0 en una única solución. . NETEl estándar 2.1 está disponible con las bibliotecas creadas por Unity.

  • Nuevo Compute recurso: este nuevo recurso combina diferentes tipos de recursos de alojamiento. Incluye recursos de alojamiento basados en la nube (flotas gestionadas EC2 o de contenedores) y recursos de alojamiento controlados por el cliente (Anywhereflotas). Incluye las siguientes actualizaciones:

    • APILas nuevas solicitudes para el Compute recurso incluyen: ListCompute(), DescribeCompute() y GetComputeAccess(). Estas acciones devuelven información sobre los recursos de alojamiento de cualquier tipo de GameLift flota de Amazon. En general, en el caso de las flotas con servidores de juegos que utilizan el servidor SDK 5.x, utiliza las acciones informáticas específicas para reemplazar las acciones específicas de la instancia. Además, estas acciones se utilizan en Anywhere flotas sin el GameLift agente de Amazon: RegisterCompute(), DeregisterCompute() y GetComputeAuthToken().

    • Nueva métrica ActiveCompute con CloudWatch dimensiones FleetId Location yComputeType. Esta métrica reemplaza a la métrica anterior ActiveInstances.

  • Amazon EC2 Systems Manager (SSM) para acceso remoto: para mayor seguridad, utilícelo SSM en lugar de SSH cuando se conecte a instancias de las flotas GameLift gestionadas por Amazon. Consulte Conéctese remotamente a las instancias de GameLift la flota de Amazon.

Actualiza el código del juego

Para actualizar un proyecto de juego para que utilice la SDK versión 5.x del servidor, realiza los siguientes cambios:

  1. Obtenga el SDK paquete Amazon GameLift Server más reciente para su entorno de desarrollo [sitio de descargas]. Siga las instrucciones de instalación del Readme archivo correspondiente al paquete y la versión descargados. Consulta estas instrucciones para usar el servidor SDKs con tu proyecto de juego.

  2. Actualiza el código de tu servidor de la siguiente manera:

    • Cambie la función de devolución de llamada del código del servidor onCreateGameSession() aonStartGameSession().

    • Actualice las InitSDK() entradas según corresponda:

      • Si planeas implementar la versión del servidor del juego en una EC2 flota GameLift gestionada por Amazon o en una Anywhere flota con Amazon GameLift Agent:

        Llama InitSDK() sin parámetros (C++) (C#) (Unreal) (Go). Esta llamada configura el entorno informático y una WebSocket conexión al GameLift servicio de Amazon.

      • Si planeas implementar la versión del servidor del juego en una Anywhere flota sin el Amazon GameLift Agent:

        Llama InitSDK() con los parámetros del servidor (C++) (C#) (Unreal) (Go). Un proceso de servidor de juegos utiliza estos parámetros para establecer una conexión con el GameLift servicio de Amazon.

  3. Si la versión de tu servidor de juegos u otras aplicaciones alojadas se comunican con otros AWS recursos mientras se están ejecutando, tendrás que cambiar la forma en que la aplicación accede a esos recursos. Sustituya el uso AssumeRoleCredentials de por la nueva SDK acción de GameLift servidor de Amazon GetFleetRoleCredentials() (para servidores de juegos) o utilice credenciales compartidas (para otras aplicaciones). Para obtener más información sobre cómo implementar este cambio, consulteComunicación con otros recursos de AWS de sus flotas.

  4. Si su proyecto ejecutó la SDK acción del servidor GetInstanceCertificate() para recuperar un TLS certificado, modifique el código para usar el nuevo código GetComputeCertificate() (C++) (C#) (Unreal) (Go) en su lugar.

  5. Cuando subas la versión de tu juego a Amazon GameLift (por ejemplo, con upload-build o CreateBuild()), establece el ServerSdkVersion parámetro en la versión 5.x que estés utilizando (este parámetro actualmente tiene el valor predeterminado 4.0.2). Este parámetro debe coincidir con las SDK bibliotecas de servidor reales de la compilación del servidor del juego. Si especificas una versión incorrecta para una versión de servidor de juegos cargada, las flotas que crees con esa compilación fallarán. Consulte Sube una compilación de servidor personalizada a Amazon GameLift.

    En el siguiente ejemplo, se muestra cómo especificar la SDK versión del servidor:

    aws gamelift upload-build \ --operating-system AMAZON_LINUX_2023 \ --server-sdk-version "5.0.0" \ --build-root "~/mygame" \ --name "My Game Nightly Build" \ --build-version "build 255" \ --region us-west-2
  6. Si utiliza scripts para conectarse remotamente a las flotas gestionadas, actualice los scripts para utilizar el nuevo proceso, tal y como se describe enConéctese remotamente a las instancias de GameLift la flota de Amazon.