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: crea una GameLift coda Amazon con 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 è destinato 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 di 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à a dove GameLift Amazon colloca le sessioni di gioco.
-
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à:
-
Verificare Come GameLift funziona Amazon.
-
Carica la build del tuo server di gioco o lo script in tempo reale su Amazon GameLift.
-
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 località 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 nordamericani.
Per ulteriori informazioni, consulta Definisci l'ambito di una coda.
Fase 2: Creare l'infrastruttura della flotta Spot
Crea flotte in diverse località e con build di server di gioco o script adatti all'ambito 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 configurazione del server di gioco. Inoltre, prevediamo che il traffico di giocatori sarà più intenso nella sede di Seoul, quindi aggiungeremo altre flotte Spot.
Il diagramma seguente mostra l'esempio di infrastruttura della flotta Spot, con 3 flotte nella località ap-northeast-2 (Seoul) e 2 flotte nella posizione ap-southeast-1 (Singapore). Tutte le istanze MBG di entrambe le flotte utilizzano la build _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.
Fase 3: Assegna alias per ogni flotta
Crea un nuovo alias per ogni flotta della tua infrastruttura. Gli alias astraggono le identità della flotta, rendendo efficiente la sostituzione periodica del parco veicoli. Per ulteriori informazioni sulla creazione di alias, consulta. Crea un GameLift alias Amazon
La nostra infrastruttura di flotta ha cinque flotte, quindi creiamo cinque alias utilizzando la strategia di routing. Abbiamo bisogno di tre alias nella località dell'Asia Pacifico (Seoul) e due alias nella località dell'Asia Pacifico (Singapore).
Il diagramma seguente mostra l'infrastruttura della flotta Spot descritta nella seconda fase con alias aggiunti a ciascuna flotta. Fleet 1234_spot_1 ha l'alias _spot_1, Fleet 1234_spot_2 ha l'alias MBG _spot_2 e fleet 1234_ondemand ha l'alias _ondemand. MBG MBG
Per ulteriori informazioni, consulta Crea una coda con più sedi.
Fase 4: Creare 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, consulta. Crea una coda di sessioni di gioco
Durante la creazione della 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 accedere alle partite.
-
Per ora, salta la sezione sulle politiche di latenza dei giocatori. Ne parleremo nella fase successiva.
-
Dai priorità alle flotte in coda. Quando lavori con le 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 la priorità alle flotte prima per posizione e poi per tipo di flotta.
-
Se la tua infrastruttura utilizza più sedi allo stesso modo, dai la priorità alle flotte per tipo di flotta, posizionando le flotte Spot in cima alla coda.
-
Per questo tutorial, creiamo una nuova coda con il nome e aggiungiamo gli alias di MBG_spot_queue
tutte e cinque le nostre flotte. Quindi diamo priorità ai posizionamenti prima in base alla località e in secondo luogo in base al tipo di flotta.
In base a questa configurazione, questa coda cerca sempre di inserire nuove sessioni di gioco in una flotta Spot a Seoul. Quando queste flotte sono piene, la coda utilizza la capacità disponibile della flotta Seoul On-Demand come riserva. Se tutte e tre le flotte di Seoul non sono disponibili, Amazon GameLift organizza 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.
Fase 5: Aggiungere limiti di latenza alla coda
Il nostro gioco include informazioni sulla latenza nelle richieste di posizionamento delle sessioni di gioco. Abbiamo anche una funzione player party che crea una sessione di gioco per un gruppo di giocatori. Possiamo far aspettare i giocatori un po' più a lungo prima di iniziare a giocare con l'esperienza di gioco ideale. I nostri test di gioco mostrano le seguenti osservazioni:
-
Una latenza inferiore a 50 millisecondi è l'ideale.
-
Il gioco è ingiocabile con latenze superiori a 250 millisecondi.
-
I giocatori diventano impazienti dopo circa un minuto.
Per la nostra coda, con un timeout di 300 secondi, aggiungiamo delle norme che limitano la latenza consentita. Le dichiarazioni politiche consentono gradualmente valori di latenza più elevati, fino a una latenza di 250 millisecondi.
Con questa politica, la nostra coda cerca i posizionamenti con latenza ideale (inferiore a 50 millisecondi) per il primo minuto, quindi allenta il limite. La coda non crea posizionamenti in cui la latenza del giocatore è pari o superiore a 250 millisecondi.
Il diagramma seguente mostra la coda della quarta fase con l'aggiunta delle politiche di latenza dei giocatori. Le politiche di latenza del giocatore stabiliscono, applicano il limite di 50 ms per 60 secondi, impongono il limite di 125 ms per 30 secondi e impongono il limite di 250 ms fino al timeout.
Riepilogo
Complimenti! Ecco le cose che hai realizzato:
-
Hai una coda per le sessioni di gioco limitata a un segmento della tua popolazione di giocatori.
-
La tua coda utilizza le flotte Spot in modo efficace ed è resiliente quando si verificano interruzioni Spot.
-
La tua coda dà la priorità alle flotte per garantire ai giocatori l'esperienza migliore.
-
La coda ha limiti di latenza per proteggere i giocatori da esperienze di gioco negative.
Ora puoi usare la coda per organizzare sessioni di gioco per i giocatori serviti. Quando effettui richieste di posizionamento delle sessioni di gioco per questi giocatori, fai riferimento al nome della coda della sessione di gioco nella richiesta. Per ulteriori informazioni su come effettuare richieste di posizionamento per sessioni di giocoCrea sessioni di gioco, consulta oIntegrazione di un client di gioco per server in tempo reale.
Passaggi successivi: