Creación de una flota de Amazon GameLift Servers Anywhere - Amazon GameLift Servers

Creación de una flota de Amazon GameLift Servers Anywhere

En este tema se explica cómo crear una flota de Amazon GameLift Servers Anywhere. Con una flota de Anywhere, puede utilizar las características principales de administración de sesiones de juego de Amazon GameLift Servers y, al mismo tiempo, alojar sesiones de juego con sus propios recursos de computación. Cree una flota de Anywhere para su hardware en las instalaciones u otros recursos basados en la nube.

Normalmente, las flotas de Anywhere se utilizan junto con las flotas administradas de Amazon GameLift Servers en una solución de alojamiento híbrida. También proporcionan entornos de prueba útiles a la hora de desarrollar un juego para alojarlo en Amazon GameLift Servers. Consulte estos temas para obtener más información sobre cuándo y cómo incorporar flotas de Amazon GameLift Servers Anywhere a una solución de alojamiento de juegos:

Como las flotas de Anywhere están autoadministradas, la configuración de una flota requiere algo de trabajo adicional. A fin de que una flota de Anywhere esté lista para alojar jugadores y sesiones de juego, deberá completar las siguientes tareas:

Antes de comenzar

Antes de crear una flota de Anywhere, lleve a cabo las siguientes tareas. Para obtener una guía más detallada, consulte Hoja de ruta de desarrollo para el alojamiento con Amazon GameLift Servers Anywhere o Hoja de ruta de desarrollo para el alojamiento híbrido con Amazon GameLift Servers.

  • Integre el código del servidor de juegos con la versión 5.x (o superior) del SDK del servidor de Amazon GameLift Servers. No necesita completar todas las tareas de integración del juego, solo las necesarias para crear una compilación de juegos. Un procedimiento habitual es configurar su equipo local como una flota de Anywhere y utilizar una interfaz de la línea de comandos para probar la integración del servidor de juegos (consulte Configuración de pruebas locales con Amazon GameLift Servers Anywhere). Puede incorporar componentes adicionales (como un cliente de juegos compatible con Amazon GameLift Servers) a medida que los desarrolle.

  • Empaquete el software del servidor de juegos para instalarlo en los recursos de computación de su flota de Anywhere. El paquete debe incluir la compilación integrada del servidor de juegos y todo el software de soporte necesario para ejecutarlo.

  • Decida si desea utilizar el agente de Amazon GameLift Servers con la flota de Anywhere. El agente es una herramienta de administración de procesos en los recursos de computación que automatiza algunas de las tareas clave relacionadas con la administración de los procesos y los cálculos del servidor para el uso con Amazon GameLift Servers. Para obtener más información, consulte Uso el agente de Amazon GameLift Servers.

Creación de una ubicación personalizada

Cree una ubicación personalizada para representar la ubicación física de los recursos de computación. Al crear una flota de Anywhere, debe tener al menos una ubicación personalizada ya definida. Puede crear ubicaciones personalizadas adicionales y añadirlas a una flota existente en cualquier momento.

Creación de una ubicación personalizada

Utilice la consola de Amazon GameLift Servers o la AWS Command Line Interface (AWS CLI) para crear una ubicación personalizada.

Console

En la consola de Amazon GameLift Servers, use el panel de navegación para abrir la página Ubicaciones. Elija Crear ubicación para abrir el cuadro de diálogo Crear.

  1. En el cuadro de diálogo, escriba un Nombre de ubicación. Una práctica recomendada consiste en utilizar un nombre que describa una ubicación significativa para un conjunto de recursos de computación. Pueden ser ubicaciones geográficas, el nombre de un centro de datos u otro identificador de ubicación. Amazon GameLift Servers añade al nombre de la ubicación personalizada el prefijo custom-.

  2. (Opcional) Añada etiquetas a la ubicación personalizada. Cada etiqueta está formada por una clave y un valor opcional, ambos definidos por el usuario. Asigne etiquetas a los recursos de AWS que desee categorizar y hágalo de un modo que resulte útil; por ejemplo, por finalidad, propietario o entorno. Para cada etiqueta que desee añadir, elija Añadir etiqueta nueva.

  3. Seleccione Crear.

AWS CLI

Cree una ubicación personalizada mediante el comando create-location. Proporcione un valor de location-name, que deberá empezar por custom-. Una práctica recomendada consiste en utilizar un nombre que describa una ubicación significativa para un conjunto de recursos de computación. Pueden ser ubicaciones geográficas, el nombre de un centro de datos u otro identificador de ubicación.

aws gamelift create-location \ --location-name custom-location-1

Output

{ "Location": { "LocationName": "custom-location-1", "LocationArn": "arn:aws:gamelift:us-east-1:111122223333:location/custom-location-1" } }

Creación de una flota de Anywhere

Cree una flota de Anywhere para un conjunto de recursos de computación de su propiedad. Una nueva flota de Anywhere comienza en blanco; para añadir recursos de computación, debe registrarlos.

Al crear una nueva flota de Anywhere, esta cambia rápidamente de estado de flota, de NEW a ACTIVE. Puede añadir recursos de computación a la flota tras llegar a ACTIVE.

Creación de una flota de Anywhere

Utilice la consola de Amazon GameLift Servers o la AWS Command Line Interface (AWS CLI) para crear una flota de Anywhere.

Console

En la consola de Amazon GameLift Servers, use el panel de navegación para abrir la página Flotas. Seleccione Crear flota para iniciar el flujo de trabajo de creación de flotas.

Paso 1: elegir el tipo de recurso de computación

Seleccione la opción Anywhere y elija Siguiente.

Paso 2: definir los detalles de la flota

En este paso, especifique algunos ajustes importantes para toda la flota.

  1. Rellene la sección Detalles de la flota:

    1. Escriba un Nombre para la flota. Es recomendable utilizar un patrón de nomenclatura de flotas, a fin de identificar fácilmente los tipos de flota al ver las listas de flotas.

    2. Introduzca una breve Descripción de la flota.

  2. Configure estos Detalles adicionales opcionales según sea necesario. Puede actualizar estos ajustes de flota más tarde.

    1. Al crear una flota para pruebas de producción o preproducción, use esta configuración para especificar un valor de Costo por hora para los recursos de computación de la flota. Amazon GameLift Servers puede usar esta información durante el proceso de ubicación de las sesiones de juego para seleccionar los recursos de alojamiento en función del costo.

    2. Si desea combinar los datos de las métricas de esta flota y de otras, especifique un nombre de Grupo de métricas. Utilice el mismo nombre de grupo de métricas para todas las flotas que desee combinar. Consulte las métricas del grupo de métricas para ver los datos agregados.

  3. Añada etiquetas a la ubicación personalizada. Cada etiqueta está formada por una clave y un valor opcional, ambos definidos por el usuario. Asigne etiquetas a los recursos de AWS que desee categorizar y hágalo de un modo que resulte útil; por ejemplo, por finalidad, propietario o entorno. Para cada etiqueta que desee añadir, elija Añadir etiqueta nueva.

  4. Seleccione Siguiente para continuar con el flujo de trabajo.

Paso 3: seleccionar ubicaciones personalizadas

En este paso, identifique la ubicación física de los recursos de computación que planea añadir a la flota. Puede especificar una o más ubicaciones ahora y añadirlas o eliminarlas más tarde, según sea necesario.

  1. En Ubicaciones personalizadas, seleccione una o más ubicaciones para los recursos de computación de la flota. La lista incluye todas las ubicaciones personalizadas que se han definido en la Región de AWS seleccionada actualmente. Para definir una nueva ubicación personalizada que desee añadir a la flota, elija Crear ubicación.

  2. Seleccione Siguiente para continuar con el flujo de trabajo.

Paso 4: revisar y crear

Antes de crear la flota, revise la configuración.

Cuando esté listo para implementar la nueva flota, elija Crear. Amazon GameLift Servers comienza inmediatamente el proceso de activación de la flota, para lo cual asigna un ID único y pone la flota en estado NEW. Puede hacer un seguimiento del progreso de la flota en la página Flotas.

AWS CLI

Utilice el comando create-fleet para crear una flota del tipo de recurso de computación ANYWHERE. Proporcione un nombre y al menos una ubicación personalizada. Amazon GameLift Servers crea el recurso de flota de Anywhere en su Región de AWS predeterminada actual (también puede añadir una etiqueta --region para especificar una Región de AWS distinta).

El siguiente ejemplo de solicitud crea una nueva flota con la configuración mínima obligatoria. Sustituya FleetName y custom-location con su propia información.

aws gamelift create-fleet \ --name FleetName \ --compute-type ANYWHERE \ --locations "Location=custom-location"

Respuesta de ejemplo

{ "FleetAttributes": { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "Name": "HardwareAnywhere", "CreationTime": "2023-02-23T17:57:42.293000+00:00", "Status": "ACTIVE", "MetricGroups": [ "default" ], "CertificateConfiguration": { "CertificateType": "DISABLED" }, "ComputeType": "ANYWHERE" } }

Al crear una nueva flota de Anywhere, esta pasa rápidamente al estado de flota ACTIVE. Puede añadir recursos de computación a la flota tras llegar a ACTIVE.

Tenga en cuenta que la respuesta no incluye las ubicaciones de la flota. Puede obtener todos los detalles de la flota llamando a describe-fleet-attributes y describe-fleet-location-attributes.

Añadir un recurso de computación a la flota

Para añadir un recurso de computación a una flota y prepararla para alojar sesiones de juego, lleve a cabo las siguientes tareas:

  • Registre el recurso de computación en la flota. El registro le dice a Amazon GameLift Servers cuáles son los recursos de alojamiento físicos que forman parte de la flota.

  • Solicite un token de autenticación para el recurso de computación. Todos los servidores de juegos que se ejecutan en el recurso de computación necesitan este token para conectarse al servicio Amazon GameLift Servers. Los tokens de autenticación son temporales y deben actualizarse periódicamente.

nota

Si va a implementar el software de servidor de juegos con el agente de Amazon GameLift Servers, puede omitir este paso. El agente registra automáticamente cada recurso de computación y mantiene un token de autenticación válido para el recurso. Consulte Uso el agente de Amazon GameLift Servers.

Puede registrar un recurso de computación y solicitar un token de autenticación mediante la CLI de AWS o haciendo llamadas programáticas al SDK de AWS para Amazon GameLift Servers. Estas acciones no están disponibles en la consola de Amazon GameLift Servers.

La práctica recomendada consiste en automatizar estas dos tareas añadiendo un script de arranque en cada recurso de computación. El script de arranque llama automáticamente a los comandos register-compute y get-compute-auth-token. También puede automatizar las tareas para actualizar periódicamente el token de autenticación durante toda la vida útil del recurso de computación y anular el registro de este al apagarlo.

Todas las acciones de arranque devuelven valores específicos del recurso de computación que deberá almacenar en este. Cuando un proceso de servidor de juegos se inicia en el recurso de computación, debe pasar estos valores como parámetros del servidor al inicializar una conexión con el servicio Amazon GameLift Servers (consulte ServerParameters en la referencia del SDK del servidor). Le recomendamos que establezca estos valores específicos del recurso de computación (o sus ubicaciones almacenadas) como variables de entorno. Si utiliza el agente de Amazon GameLift Servers, esta tarea se realizará de forma automática. Los valores específicos del recurso de computación son los siguientes:

  • register-compute devuelve un valor para GameLiftServiceSdkEndpoint. Establezca este valor en el parámetro del servidor webSocketUrl.

  • compute-auth-token devuelve el token de autenticación. Establezca este valor en el parámetro del servidor authToken.

AWS CLI

Las siguientes instrucciones describen cómo enviar manualmente cada solicitud mediante la CLI de AWS.

Registro de un recurso de computación

Llame a register-compute para registrar un recurso de computación. Determine el identificador de la flota a la que desea añadir el recurso de computación. Proporcione la siguiente información sobre el recurso de computación: un nombre significativo, una dirección IP y una ubicación. La ubicación del recurso de computación debe ser una ubicación personalizada que ya esté asociada a la flota. Si desea utilizar una ubicación personalizada distinta, utilice la consola de Amazon GameLift Servers para actualizar la flota o llame al comando create-fleet-locations de la CLI de AWS para añadir una ubicación personalizada a la flota.

En el siguiente ejemplo, reemplace los valores de marcador de posición para su flota y recurso de computación. El valor fleet-id se devuelve al crear una flota de Anywhere. Puede obtener todos los detalles de la flota llamando a describe-fleet-attributes y describe-fleet-location-attributes.

aws gamelift register-compute \ --compute-name HardwareAnywhere \ --fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --ip-address 10.1.2.3 \ --location custom-location-1

Ejemplo de resultado

{ "Compute": { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "HardwareAnywhere", "ComputeArn": "arn:aws:gamelift:us-west-2:111122223333:compute/HardwareAnywhere", "IpAddress": "10.1.2.3", "ComputeStatus": "Active", "Location": "custom-location-1", "CreationTime": "2023-02-23T18:09:26.727000+00:00", "GameLiftServiceSdkEndpoint": "wss://us-west-2.api.amazongamelift.com" } }

Solicitud de un token de autenticación

Llame a get-compute-auth-token para solicitar un token de autenticación válido. Registre un recurso de computación. Determine el identificador de la flota y el nombre del recurso de computación.

En el siguiente ejemplo, reemplace los valores de marcador de posición para su flota y recurso de computación. El valor fleet-id se devuelve al crear una flota de Anywhere. Puede obtener todos los detalles de la flota llamando a describe-fleet-attributes. Para obtener más información sobre el recurso de computación, llame a list-compute con el identificador de la flota para ver todos los recursos de computación registrados en esta.

aws gamelift get-compute-auth-token \ --fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --compute-name HardwareAnywhere

Ejemplo de resultado

{ "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "HardwareAnywhere", "ComputeArn": "arn:aws:gamelift:us-east-1:111122223333:compute/HardwareAnywhere", "AuthToken": "0c728041-3e84-4aaa-b927-a0fb202684c0", "ExpirationTimestamp": "2023-02-23T18:47:54+00:00" }

Iniciar un servidor de juegos

Tras crear una flota de Anywhere y añadirle uno o más recursos de computación, ya puede empezar a ejecutar los servidores de juegos.

Paso 1: instalar el software del servidor de juegos

Instale la compilación del servidor de juegos y todo el software dependiente en todos los recursos de computación de la flota de Anywhere. La compilación del servidor de juegos debe estar integrada en la versión 5.x (o superior) del SDK del servidor de Amazon GameLift Servers, y debe tener la funcionalidad mínima requerida para comunicarse con el servicio de Amazon GameLift Servers.

Paso 2: preparar los recursos de computación para ejecutar un servidor de juegos

Compruebe que todos los recursos de computación estén registrados y tengan un token de autenticación válido. Si utiliza scripts para administrar estas tareas, compruebe que estos se ejecutan en cada recurso de computación antes de iniciar cualquier proceso del servidor de juegos.

Si ha implementado el agente de Amazon GameLift Servers con el software de su servidor de juegos, compruebe que se inicie el ejecutable del agente.

Paso 3: iniciar un proceso de servidor de juegos

Ejecute una instancia del ejecutable del servidor de juegos en un recurso de computación. Si la compilación del servidor de juegos está integrada correctamente, el proceso del servidor de juegos llamará a la acción InitSDK() del SDK del servidor con un conjunto de parámetros de servidor válidos. Cuando el proceso esté listo para alojar una sesión de juego, llamará a ProcessReady().

nota

Si va a implementar el software del servidor de juegos con el agente de Amazon GameLift Servers, puede omitir este paso. El agente inicia automáticamente los procesos del servidor de juegos en función de las instrucciones de tiempo de ejecución que usted proporcione.

Puede supervisar el progreso consultando las métricas de los procesos del servidor para los procesos de servidor activos y con la activación en curso. Consulte Métricas de flotas de Amazon GameLift Servers. Si el proceso del servidor de juegos no se inicializa, compruebe si el proceso está recuperando los valores de parámetros de servidor correctos para el recurso de computación en el que se están ejecutando.