Tutorial: configura una coda di sessioni di gioco per le istanze Spot - Amazon GameLift

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à.

Tutorial: configura una coda di sessioni di gioco per le istanze Spot

Introduzione

Questo tutorial descrive come impostare il posizionamento delle sessioni di gioco per i giochi distribuiti su flotte Spot a basso costo. Le flotte Spot richiedono passaggi aggiuntivi per mantenere la disponibilità continua dei server di gioco per i tuoi giocatori.

Destinatari principali

Questo tutorial è rivolto agli sviluppatori di giochi che desiderano utilizzare le flotte Spot per ospitare server di gioco personalizzati o server in tempo reale.

Cosa imparerai
  • Definisci il gruppo di giocatori a cui serve la coda della sessione di gioco.

  • Crea un'infrastruttura della flotta per supportare l'ambito della coda delle sessioni di gioco.

  • Assegna un alias a ciascuna flotta per estrarre l'ID della flotta.

  • Crea una coda, aggiungi flotte e dai priorità ai luoghi in cui Amazon colloca le sessioni di gioco. GameLift

  • Aggiungi politiche di latenza dei giocatori per ridurre al minimo i problemi di latenza.

Prerequisiti

Prima di creare flotte e code per il posizionamento delle sessioni di gioco, completa le seguenti attività:

Fase 1: Definisci l'ambito della coda

In questo tutorial, progettiamo una coda per un gioco con una variante di build del server di gioco. Al momento del lancio, pubblicheremo il gioco in due località: Asia Pacifico (Seoul) e Asia Pacifico (Singapore). Poiché queste sedi sono vicine l'una all'altra, la latenza non è un problema per i nostri giocatori.

Per questo esempio, c'è un segmento di giocatori, il che significa che creiamo una coda. In futuro, quando pubblicheremo il gioco in Nord America, potremo creare una seconda coda riservata ai giocatori del Nord America.

Per ulteriori informazioni, consulta Definisci l'ambito della tua coda.

Fase 2: Creazione dell'infrastruttura della flotta Spot

Crea flotte in luoghi e con build o script di server di gioco che si adattano all'ambito che hai definito. Fase 1: Definisci l'ambito della coda

In questo tutorial, creiamo un'infrastruttura a due sedi con almeno una flotta Spot e una flotta On-Demand in ciascuna sede. Ogni flotta utilizza la stessa build del server di gioco. Inoltre, prevediamo che il traffico dei giocatori aumenterà nella sede di Seoul, per cui abbiamo aggiunto altre flotte Spot.

Il diagramma seguente mostra l'esempio di infrastruttura della flotta Spot, con 3 flotte nella sede ap-northeast-2 (Seoul) e 2 flotte nella sede ap-southeast-1 (Singapore). Tutte le istanze di entrambe le flotte utilizzano la build MBG_prod_v1. La flotta in ap-northeast-2 contiene le seguenti configurazioni di flotta: fleet 1234_spot_1 con un tipo di istanza c5.large, fleet 1234_spot_2 con un tipo di istanza c5.xlarge e fleet 1234_ondemand con un tipo di istanza c5.large. La flotta in ap-southeast-1 contiene le seguenti configurazioni di flotta: fleet 1234_spot_1 con un tipo di istanza c5.large e fleet 1234_ondemand con un tipo di istanza c5.large.

Un'infrastruttura della flotta Spot con sedi in Asia Pacifico (Seoul) e Asia Pacifico (Singapore) con una combinazione di istanze On-Demand e Spot.

Fase 3: Assegna alias per ogni flotta

Crea un nuovo alias per ogni parco veicoli della tua infrastruttura. Gli alias astraggono le identità della flotta, rendendo efficiente la sostituzione periodica della flotta. Per ulteriori informazioni sulla creazione di alias, vedereAggiungi un alias a una flotta Amazon GameLift .

La nostra infrastruttura di flotta ha cinque flotte, quindi creiamo cinque alias utilizzando la strategia di routing. Abbiamo bisogno di tre alias nella sede Asia Pacifico (Seoul) e due alias nella sede Asia Pacifico (Singapore).

Il diagramma seguente mostra l'infrastruttura della flotta Spot descritta nella fase due con alias aggiunti a ciascuna flotta. Fleet 1234_spot_1 ha l'alias MBG_spot_1, Fleet 1234_spot_2 ha l'alias MBG_spot_2 e fleet 1234_ondemand ha l'alias MBG_OnDemand.

L'esempio di infrastruttura della flotta Spot descritta nella fase 2 con alias che puntano a ciascuna flotta.

Per ulteriori informazioni, consulta Crea una coda con più sedi.

Fase 4: Crea una coda con le destinazioni

Crea la coda delle sessioni di gioco e aggiungi le destinazioni della tua flotta. Per ulteriori informazioni sulla creazione di una coda, vedere. Crea una coda di sessioni di gioco

Quando crei la tua coda:

  • Imposta il timeout predefinito su 10 minuti. Successivamente, potrai verificare in che modo il timeout della coda influisce sui tempi di attesa dei giocatori per iniziare le partite.

  • Per ora salta la sezione sulle politiche di latenza dei giocatori. Ne parleremo nella fase successiva.

  • Dai priorità alle flotte in coda. Quando si lavora con flotte Spot, consigliamo uno dei seguenti approcci:

    • Se la tua infrastruttura utilizza una sede principale con flotte in una seconda sede per il backup, dai priorità alle flotte prima per posizione e poi per tipo di flotta.

    • Se la tua infrastruttura utilizza più sedi allo stesso modo, dai priorità alle flotte in base al tipo di flotta, posizionando le flotte Spot in cima alla coda.

Per questo tutorial, creiamo una nuova coda con il nome MBG_spot_queue e aggiungiamo gli alias di tutte e cinque le nostre flotte. Quindi diamo priorità ai posizionamenti prima per posizione e in secondo luogo per tipo di flotta.

In base a questa configurazione, questa coda tenta sempre di inserire nuove sessioni di gioco in una flotta Spot a Seoul. Quando queste flotte sono piene, la coda utilizza la capacità disponibile sulla flotta Seoul On-Demand come riserva. Se tutte e tre le flotte di Seoul non sono disponibili, Amazon GameLift inserisce sessioni di gioco sulle flotte di Singapore.

Il diagramma seguente mostra una coda con un timeout di 300 secondi e destinazioni prioritarie. Le destinazioni sono nell'ordine seguente: 1234_spot_1 in ap-northeast-2, 1234_spot_2 in ap-northeast-2, 1234_ondemand in ap-northeast-2, 1234_spot_1 in ap-southeast-1 e 1234_ondemand in ap-southeast-1.

Un esempio di coda Spot con più flotte Spot e flotte di backup su richiesta.

Fase 5: Aggiungere limiti di latenza alla coda

Il nostro gioco include informazioni sulla latenza nelle richieste di collocamento delle sessioni di gioco. Abbiamo anche una funzione Player Party che crea una sessione di gioco per un gruppo di giocatori. Possiamo far aspettare ancora un po' i giocatori prima di iniziare a giocare con l'esperienza di gioco ideale. I nostri test di gioco mostrano le seguenti osservazioni:

  • La latenza inferiore a 50 millisecondi è ideale.

  • Il gioco è ingiocabile a latenze superiori a 250 millisecondi.

  • I giocatori diventano impazienti dopo circa un minuto.

Per la nostra coda, con un timeout di 300 secondi, aggiungiamo dichiarazioni politiche che limitano la latenza consentita. Le dichiarazioni politiche consentono gradualmente valori di latenza più elevati fino a 250 millisecondi di latenza.

Con questa politica, la nostra coda cerca i posizionamenti con una latenza ideale (inferiore a 50 millisecondi) per il primo minuto, quindi allenta il limite. La coda non effettua posizionamenti in cui la latenza del giocatore è di 250 millisecondi o superiore.

Il diagramma seguente mostra la coda della fase quattro con l'aggiunta delle politiche di latenza dei giocatori. Le politiche di latenza del giocatore stabiliscono, applicano il limite di 50 ms per 60 ms, impongono il limite di 125 ms per 30 secondi e il limite di 250 ms fino al timeout.

La coda di esempio della fase quattro con l'aggiunta delle politiche di latenza dei giocatori. Le politiche di latenza del giocatore stabiliscono, applicano il limite di 50 ms per 60 ms, impongono il limite di 125 ms per 30 secondi e il limite di 250 ms fino al timeout.

Riepilogo

Complimenti! Ecco le cose che hai realizzato:

  • Hai una coda di sessione di gioco limitata per un segmento della tua popolazione di giocatori.

  • La tua coda utilizza le flotte Spot in modo efficace ed è resiliente quando si verificano interruzioni di Spot.

  • La tua coda dà la priorità alle flotte per garantire l'esperienza dei migliori giocatori.

  • La coda ha dei limiti di latenza per proteggere i giocatori da brutte esperienze di gioco.

Ora puoi usare la coda per inserire sessioni di gioco per i giocatori che serve. Quando effettui richieste di collocamento di una sessione di gioco per questi giocatori, fai riferimento al nome della coda di questa sessione di gioco nella richiesta. Per ulteriori informazioni su come effettuare richieste di collocamento delle sessioni di gioco, consultaCrea sessioni di gioco, oIntegrazione di un client di gioco per server in tempo reale.

Passaggi successivi: