View a markdown version of this page

Crea un GameLift Server Amazon flotta EC2 gestita - GameLift Server Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea un GameLift Server Amazon flotta EC2 gestita

Questo argomento descrive come creare una flotta EC2 Amazon GameLift Servers gestita. Le flotte gestite utilizzano istanze di calcolo Amazon Elastic Compute Cloud (Amazon EC2) ottimizzate per l'hosting di giochi multigiocatore. Puoi creare flotte gestite che distribuiscono elaborazioni a livello globale e in zone locali supportate da. Regioni AWS Amazon GameLift Servers

Quando si crea una nuova risorsa gestita della flotta EC2, si avvia immediatamente la prima fase di creazione della flotta. La creazione gestita della flotta passa attraverso diverse fasi, tra cui l'Amazon GameLift Serversimplementazione di un'istanza EC2, l'installazione di un ambiente di runtime, il server di gioco si basa sull'istanza e l'avvio dei server di gioco. A seconda dell'ambiente di runtime richiesto dalla build del server di gioco, Amazon GameLift Servers distribuisce la versione più recente di Amazon Machine Image (AMI) al momento della creazione della flotta (e tutte le istanze future della flotta utilizzeranno la stessa versione). Puoi monitorare lo stato di una flotta nella console o utilizzando AWS Command Line Interface ()AWS CLI. Quando una flotta è pronta per ospitare sessioni di gioco, lo stato cambia inACTIVE. Per ulteriori informazioni sulla creazione gestita di una flotta, consulta questi argomenti:

Nota

Come best practice, consigliamo di sostituire le flotte ogni 30 giorni per mantenere un ambiente di runtime sicuro e aggiornato per i server di gioco ospitati. Ciò richiede la creazione di una nuova flotta e la migrazione del traffico dei giocatori verso di essa. Per ulteriori informazioni, consulta Best practice di sicurezza per GameLift Server Amazon.

Per creare una flotta EC2 gestita

Usa la Amazon GameLift Servers console o AWS Command Line Interface (AWS CLI) per creare una flotta EC2 gestita.

Console

Nella Amazon GameLift Servers console, usa il pannello di navigazione per aprire la pagina Managed EC2, Fleets. Scegli Crea una flotta EC2 gestita per avviare il flusso di lavoro di creazione della flotta.

Fase 1 Definire i dettagli della flotta EC2 gestita
Per una configurazione minima della flotta:
  • Fornisci il nome della flotta.

  • Scegli il tipo binario: Build. Scegli una build dall'elenco delle build del server su cui hai precedentemente caricato. Amazon GameLift Servers

  • Salta le sezioni Dettagli aggiuntivi e Tag per utilizzare le impostazioni predefinite.

  1. Compila la sezione Dettagli della flotta:

    1. Inserisci il nome della flotta. I nomi delle flotte sono solo descrittivi, utili per ordinare o filtrare un elenco di flotte. Non è necessario che siano univoci.

    2. Fornisci una breve descrizione della flotta per includere tutte le informazioni personalizzate che desideri acquisire sulla flotta.

    3. Seleziona Tipo binario, Crea e usa l'elenco a discesa per scegliere una build del server di gioco su cui hai caricato in precedenza. Amazon GameLift Servers

  2. Imposta i dettagli aggiuntivi in base alle esigenze.

    1. Se il file eseguibile del server di gioco deve accedere ad altre AWS risorse del tuo account, specifica un ruolo di istanza IAM con le autorizzazioni necessarie. Per ulteriori informazioni, incluso come autorizzare altre applicazioni lato server (come CloudWatch l'agente), consulta. Collega il tuo GameLift Server Amazon server di gioco ospitato su altro AWS risorse Questa impostazione non può essere modificata dopo aver creato la flotta.

      È necessario creare il ruolo prima di creare una flotta che lo utilizza. Inoltre, per creare un parco veicoli con un ruolo di istanza, AWS l'utente deve disporre dell'PassRoleautorizzazione IAM (vediEsempi di autorizzazioni IAM per Amazon GameLift Servers).

    2. Attiva l'opzione Genera un certificato TLS per configurare l'autenticazione e la crittografia per il gioco. I client di gioco utilizzano questo certificato per autenticare un server di gioco durante la connessione e crittografare tutte le comunicazioni. client/server Per ogni esemplare di una TLS-enabled flotta. Amazon GameLift Serverscrea anche una nuova voce DNS con il certificato. Questa impostazione non può essere modificata dopo aver creato il parco veicoli.

    3. Amazon GameLift Serversemette dati metrici per ogni singola flotta. Se desideri combinare i dati metrici per più flotte, specifica il nome del gruppo di metriche. Usa lo stesso nome di gruppo di metriche per tutte le flotte per le quali desideri combinare le metriche. CloudWatch Usalo per visualizzare i dati aggregati del gruppo di metriche.

  3. Aggiungi tag alla risorsa della flotta. Ogni tag è composto da una chiave e da un valore opzionale, entrambi personalizzabili. Assegna tag alle AWS risorse che desideri classificare, ad esempio per scopo, proprietario o ambiente. Scegli Aggiungi nuovo tag per ogni tag che desideri aggiungere.

  4. Scegli Avanti per continuare il flusso di lavoro.

Fase 2 Definire i dettagli dell'istanza

In questo passaggio, seleziona il tipo di risorse hardware da utilizzare per i tuoi server di gioco e specifica dove desideri distribuirle. Scegliendo più località, puoi distribuire il tuo server di gioco in una posizione geografica più ampia, avvicinandolo così ai giocatori e riducendo al minimo la latenza. Tutte le istanze EC2 di una flotta devono essere dello stesso tipo. Non tutti i tipi di istanze sono disponibili in tutte le località.

Per una configurazione minima del parco veicoli:
  • Inizia con l'implementazione solo presso la sede principale. Non è necessario aggiungere sedi remote per lo sviluppo e il test iniziali.

  • Imposta il tipo di flotta impostato su "On-Demand». Le flotte spot richiedono un lavoro di configurazione aggiuntivo.

  • Imposta il tipo di istanza su «c5.large». Questo tipo di istanza comunemente usato è disponibile in tutti. Regioni AWSÈ possibile ottimizzare l'utilizzo dell'hardware in un secondo momento.

  1. In Instance deployment, specifica l'ubicazione e il tipo del parco veicoli.

    1. Seleziona una o più sedi aggiuntive in cui desideri distribuire le istanze della flotta. Queste sedi remote vengono aggiunte alla posizione principale della flotta (preselezionata), ovvero Regione AWS dove stai creando la flotta. Puoi selezionare località remote tra tutte Regioni AWS le zone locali Amazon GameLift Servers supportate.

      Per saperne di più sulle località supportate, incluso come utilizzare un server Regione AWS che non è abilitato GameLift Server Amazon sedi di assistenza per impostazione predefinita, consulta la sezione dedicata all'hosting gestito. Controlla anche le Amazon GameLift Servers quote relative alle sedi per flotta.

    2. Scegli di utilizzare una On-demand o più istanze Spot per questa flotta. Per ulteriori informazioni sui tipi di parco veicoli, consultaOn-Demand Istanze e istanze Spot.

  2. Scegli una configurazione di istanze Amazon EC2 che soddisfi le tue esigenze e sia disponibile in tutte le località selezionate. Questo elenco è filtrato in base alla posizione corrente e al tipo di flotta selezionato. Puoi filtrarlo ulteriormente in base ad altri fattori, come il tipo di istanza, la famiglia e l'architettura. Dopo aver creato il parco, non puoi modificare il tipo di istanza.

    Alcune sedi hanno opzioni limitate per il tipo di istanza. Se il tipo di istanza preferito non è disponibile per tutte le sedi, scegli il valore di disponibilità della località per visualizzare tutti i dettagli. Per soddisfare tutte le sedi, potrebbe essere necessario creare flotte separate con tipi di istanze diversi.

    Per ulteriori informazioni sulla scelta di un tipo di istanza, consultaTipi di istanza. Per ulteriori informazioni sulle architetture Amazon EC2 Arm, consulta i tipi di istanza AWS Graviton Processor e Amazon EC2. Per un elenco completo dei tipi di istanza supportati daAmazon GameLift Servers, consulta il riferimento API per (). EC2InstanceType CreateFleet()

    Nota

    Le istanze Graviton Arm richiedono una build del server per un'AMI Linux. Per C++ e C# è richiesto Server SDK 5.1.1 o versione successiva. Per Go è richiesto Server SDK 5.0 o versione successiva. Queste istanze non forniscono supporto immediato per l’installazione di Mono su Amazon Linux 2023 (AL2023) o Amazon Linux 2 (AL2).

    Nota

    Se selezioni un'istanza dell'architettura ARM, assicurati che la build selezionata funzioni su un'architettura ARM. Altrimenti l'implementazione della flotta fallirà.

  3. Scegli Avanti per continuare il flusso di lavoro.

Passaggio 4 Configurare il runtime

In questo passaggio, descrivi in che modo desideri che ogni istanza del parco esegua il software del tuo server di gioco. Definisci una voce distinta dei processi server per ogni eseguibile da eseguire su un'istanza e decidi quanti processi server eseguire contemporaneamente. Apri le porte su ogni istanza per consentire ai giocatori di connettersi direttamente ai server di gioco. Puoi aggiornare queste impostazioni della flotta in qualsiasi momento.

Per una configurazione minima della flotta:
  • Definisci un singolo elemento del processo server per l'eseguibile del tuo server di gioco. Se il tuo server di gioco richiede l'esecuzione di altri processi, crea anche una definizione per ognuno di questi.

  • Usa il numero predefinito di processi simultanei (1) per ogni voce.

  • Salta le impostazioni di attivazione della sessione di gioco.

  • Specifica un numero di porta singolo.

  • Salta le impostazioni delle risorse della sessione di gioco.

  1. Crea una configurazione Runtime per indicare Amazon GameLift Servers come eseguire i processi del server su ogni istanza del parco istanze. È possibile modificare la configurazione di runtime di una flotta in qualsiasi momento dopo l'implementazione.

    1. Inserisci il percorso di avvio di un file eseguibile nella build. Nelle istanze Windows, gli eseguibili del server di gioco sono creati in base al percorso. C:\game Sulle istanze Linux, i server di gioco sono compilati su /local/game. Esempi: C:\game\MyGame\server.exe o /local/game/MyGame/server.exe.

    2. Inserisci i parametri di avvio opzionali da passare al file eseguibile del gioco. Esempio: +sv_port 33435 +start_lobby.

    3. Specifica il numero di processi simultanei da eseguire su ciascuna istanza. Per un file eseguibile su un server di gioco, ogni processo può ospitare una sessione di gioco, pertanto i processi simultanei determinano il numero di sessioni di gioco che l'istanza può ospitare contemporaneamente.

      Controlla le Amazon GameLift Servers quote sui processi del server per istanza. Queste quote si applicano al totale dei processi simultanei per tutte le configurazioni. Se configuri la flotta in modo da superarle, la flotta non può attivarsi.

  2. Usa le impostazioni predefinite di attivazione della sessione di gioco o personalizzale per il tuo gioco. Se la configurazione del runtime richiede più processi simultanei del server di gioco per istanza, queste impostazioni determinano la velocità di avvio delle nuove sessioni di gioco.

    1. Imposta l'attivazione massima della sessione di gioco simultanea per limitare il numero di server di gioco su un'istanza che stanno preparando una nuova sessione di gioco. Questa impostazione è utile quando l'avvio di più nuove sessioni di gioco richiede molte risorse e potrebbe influire sulle prestazioni di altre sessioni di gioco in corso.

    2. Imposta il nuovo timeout di attivazione in modo che rifletta il tempo massimo necessario per completare l'attivazione di una nuova sessione di gioco e segnalalo Pronto per ospitare i giocatori. Amazon GameLift Serversinterrompe l'attivazione di una sessione di gioco se supera questo valore.

  3. Apri le impostazioni della porta EC2 per consentire al traffico in entrata di accedere ai processi del server sulla flotta. Queste impostazioni non sono necessarie per creare una flotta, ma è necessario impostarle prima che i giocatori possano connettersi alle sessioni di gioco della flotta.

    Per ogni impostazione di porta, scegli il tipo di protocollo di trasferimento dati da utilizzare per la comunicazione tra il client di gioco e il server di gioco. Fornisci un intervallo di porte (in formatonnnnn[-nnnnn]) e un intervallo di indirizzi IP utilizzando la notazione CIDR (ad esempio, 0.0.0.0/0 che consenta l'accesso a chiunque).

    Se devi impostare più intervalli non consecutivi, crea più impostazioni di porta.

  4. Specifica le impostazioni opzionali relative alle risorse della sessione di gioco. Puoi aggiornare queste impostazioni in qualsiasi momento dopo la distribuzione.

    1. Attiva o disattiva la politica di protezione di Game Scaling per tutte le istanze del parco istanze. Durante un evento di riduzione ridotta, non Amazon GameLift Servers interromperà le istanze protette del parco istanze che ospitano sessioni di gioco attive.

    2. Imposta un limite massimo di creazione di risorse se desideri limitare il numero di sessioni di gioco che un giocatore può creare in un determinato periodo di tempo.

  5. Scegli Avanti per continuare il flusso di lavoro.

Passaggio 5 Rivedi e crea

Rivedi le tue impostazioni prima di creare la flotta. Sebbene alcune impostazioni possano essere aggiornate in un secondo momento (vediAggiornamento di una configurazione del Amazon GameLift Servers parco veicoli), le modifiche alle seguenti impostazioni non sono consentite dopo la creazione della flotta:

  • Tipo di elaborazione: non è possibile convertire una flotta EC2 gestita in una flotta Anywhere.

  • Binario del server di gioco: per implementare un aggiornamento alla build del server di gioco, devi creare una nuova flotta.

  • Opzioni aggiuntive, tra cui il ruolo dell'istanza e la generazione del certificato TLS.

  • Dettagli dell'istanza, tra cui il tipo di parco istanze (Spot o On-Demand) e il tipo di istanza EC2.

Quando sei pronto per implementare la nuova flotta, scegli Crea. Amazon GameLift Serversavvia immediatamente il processo di attivazione della flotta, assegnando un ID univoco e assegnando lo status alla flotta. NEW Tieni traccia dei progressi della flotta dalla pagina Flotte. Visualizza la pagina dei dettagli della flotta e vai alla scheda Eventi.

Puoi modificare la capacità di accoglienza di una flotta dopo che la flotta ha raggiunto lo stato ATTIVO. Amazon GameLift Serversinizialmente implementa una flotta con una singola istanza in ogni sede del parco veicoli e si regola la capacità aggiungendo istanze a ciascuna sede. Per ulteriori informazioni, consulta Scalabilità della capacità di hosting di giochi con Amazon GameLift Servers.

AWS CLI

Usa il create-fleet comando per creare una flotta di tipi EC2 di elaborazione. Amazon GameLift Serverscrea la risorsa della flotta nell'impostazione predefinita corrente Regione AWS (oppure puoi aggiungere un tag --region per specificarne un altro Regione AWS).

Crea una flotta gestita minima

La seguente richiesta di esempio crea una nuova flotta con le impostazioni minime necessarie per distribuire una flotta con server di gioco attivi a cui i client di gioco possono connettersi. La nuova flotta presenta le seguenti caratteristiche:

  • Specifica una build del server di gioco, che è stata caricata su Amazon GameLift Servers e in READY stato.

  • Utilizza On-Demand istanze c5.large con un sistema operativo che corrisponde alla build di gioco selezionata.

  • Imposta la sede della flotta us-west-2 e distribuisce Regione AWS le istanze solo in quella regione.

  • In base alla configurazione del runtime, ogni computer della flotta esegue un processo del server di gioco, il che significa che ogni computer può ospitare solo una sessione di gioco alla volta. Il timeout di attivazione della sessione di gioco è impostato sul valore predefinito di 300 secondi e non c'è limite al numero di attivazioni simultanee.

  • I giocatori possono connettersi ai server di gioco utilizzando l'impostazione di una singola porta di. 33435

  • Tutte le altre funzionalità sono disattivate o utilizzano le impostazioni predefinite.

aws gamelift create-fleet \ --name MinimalFleet123 \ --description "A basic test fleet" \ --region us-west-2 \ --ec2-instance-type c5.large \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --runtime-configuration "ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, ConcurrentExecutions=10}]" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP"

Crea una flotta gestita completamente configurata

La seguente richiesta di esempio crea un parco di produzione con impostazioni per tutte le funzionalità opzionali. La nuova flotta presenta le seguenti caratteristiche:

  • Specifica una build del server di gioco, che è stata caricata su Amazon GameLift Servers e in READY stato.

  • Utilizza le On-Demand istanze c5.large con il sistema operativo corrispondente alla build di gioco selezionata.

  • Imposta la sede della flotta us-west-2 e distribuisce Regione AWS le istanze nella regione di origine e in una posizione remota. sa-east-1

  • In base alla configurazione del runtime:

    • Ogni computer della flotta esegue 10 processi del server di gioco con gli stessi parametri di avvio, il che significa che ogni computer può ospitare fino a 10 sessioni di gioco contemporaneamente.

    • Su ogni computer, possono essere attivate solo due sessioni di gioco contemporaneamente. L'attivazione delle sessioni di gioco deve essere pronta ad ospitare giocatori entro 300 secondi (5 minuti) o deve essere interrotta.

  • I giocatori possono connettersi ai server di gioco utilizzando una porta nel seguente intervallo. 33435 to 33535

  • Genera un certificato TLS per la comunicazione crittografata tra client di gioco e server.

  • Tutte le sessioni di gioco della flotta hanno la protezione delle sessioni di gioco attivata.

  • I singoli giocatori possono creare tre nuove sessioni di gioco in un periodo di 15 minuti.

  • Le metriche per questa flotta sono incluse nel gruppo di metricheAMERfleets, che (per questo esempio) aggrega le metriche per un gruppo di flotte in Nord, Centro e Sud America.

aws gamelift create-fleet \ --name ProdFleet123 \ --description "A fully configured prod fleet" \ --ec2-instance-type c5.large \ --region us-west-2 \ --locations "Location=sa-east-1" \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --certificate-configuration "CertificateType=GENERATED" \ --runtime-configuration "GameSessionActivationTimeoutSeconds=300, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, Parameters=+sv_port 33435 +start_lobby, ConcurrentExecutions=10}]" \ --new-game-session-protection-policy "FullProtection" \ --resource-creation-limit-policy "NewGameSessionsPerCreator=3, PolicyPeriodInMinutes=15" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33535,IpRange=0.0.0.0/0,Protocol=UDP" \ --metric-groups "AMERfleets"

Se la richiesta create-fleet ha esito positivo, Amazon GameLift Servers restituisce un set di attributi della flotta che include le impostazioni di configurazione richieste e un nuovo ID della flotta. Amazon GameLift Serversavvia quindi il processo di attivazione della flotta e imposta lo stato della flotta e lo stato della posizione su Nuovo. Puoi monitorare lo stato del parco istanze e visualizzare altre informazioni tramite questi comandi dell'interfaccia CLI:

È possibile modificarne la capacità e altre impostazioni di configurazione in base alle esigenze tramite questi comandi: