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: onboarding rapido con il wrapper Amazon GameLift Servers
Benvenuto nel tutorial di onboarding per. Amazon GameLift Servers In questo tutorial, implementerai rapidamente il tuo server di gioco in modo che sia ospitato su una flotta di risorse di calcolo basate sul cloud. Usa questo tutorial per evitare di integrare l'SDK del server Amazon GameLift Servers nel codice del gioco e distribuisci invece il gioco con le funzionalità minime necessarie per comunicare con il servizio ed eseguire sessioni di gioco. Amazon GameLift Servers Configurerai una soluzione di hosting di base e la utilizzerai per provare l'intera gamma di funzionalità come il ridimensionamento automatico e il matchmaking. È anche un ottimo modo per ospitare un prototipo del tuo gioco come parte di una demo dal vivo o per un test.
Principali vantaggi di questo metodo di onboarding:
-
Implementa rapidamente il tuo server di gioco per un hosting rapido.
-
Zero modifiche al codice di gioco e nessuna modifica richiesta.
-
Usa questo metodo con qualsiasi file eseguibile di gioco, indipendentemente dal motore di gioco.
-
Esplora tutti gli strumenti di Amazon GameLift Servers gestione, incluso il monitoraggio dell'attività delle sessioni di gioco e lo stato di salute dell'host.
Nota
Il wrapper è destinato alla valutazione e all'uso di base nella produzione. Le funzionalità avanzate, come la gestione dettagliata delle sessioni dei giocatori, richiedono un'integrazione completa dell'SDK del server.
Prerequisiti
Prima di iniziare, assicurati di avere:
-
E Account AWS con le autorizzazioni appropriate
-
AWS CLI installato
-
Vai a 1.18+
-
Un server di gioco multiplayer eseguibile
-
Crea (Linux/Mac)
-
Git installato con un account attivo
Panoramica
In questo tutorial potrai:
-
Prendi e costruisci l'involucro
-
Prepara la build del gioco
-
Configura il wrapper
-
Carica la build del server di gioco
-
Crea la EC2 flotta gestita
-
Crea e connettiti a una sessione di gioco
-
Monitora e gestisci i tuoi server di gioco
-
Ridimensiona i tuoi server di gioco
Passaggio 1: Ottieni e crea il wrapper del server di gioco
Usa i seguenti comandi per ottenere il sorgente del wrapper del server di gioco e creare il wrapper. Questi comandi usano SSH, ma puoi anche accedere direttamente al repository Github.
Windows
> git clone git@github.com:amazon-gamelift/amazon-gamelift-servers-game-server-wrapper.git > cd amazon-gamelift-servers-game-server-wrapper > powershell -file .\build.ps1
Mac e Linux
$ git clone git@github.com:amazon-gamelift/amazon-gamelift-servers-game-server-wrapper.git $ cd amazon-gamelift-servers-game-server-wrapper $ make
In caso di compilazione riuscita, viene aggiunta una directory «out» aamazon-gamelift-servers-game-server-wrapper
. In questa directory ci sono tre cartelle, una per ogni opzione della flotta di hosting supportata, che contengono un set di elementi di build. Per questo tutorial, eseguirai la distribuzione su EC2 flotte gestite, quindi utilizzerai la cartella. gamelift-servers-managed-ec2
Passaggio 2: prepara la build del server di gioco
In questo passaggio, prepari i file di build del server di gioco da caricare su. Amazon GameLift Servers
Crea la directory del gioco
Ora prepara una directory di gioco sul tuo computer locale. Questa directory deve contenere tutti i file necessari per far funzionare il server di giocoAmazon GameLift Servers. Ciò include il wrapper del server di gioco, la build del server di gioco e il file config.yaml che fa funzionare il wrapper con il server di gioco.
Utilizza le fasi seguenti:
-
EC2 Flotta gestita. Nella cartella di output del wrapper del server di gioco, trova l'artefatto di build da distribuire in una flotta gestita. EC2 La build verrà scritta in una directory esterna come indicato qui:.
out\linux\amd64\gamelift-servers-managed-ec2
-
Copia il file eseguibile del server di gioco e tutti i file associati necessari per essere eseguiti nella
gamelift-servers-managed-ec2
cartella. Se necessario, puoi avere cartelle annidate.
Un esempio di struttura di cartelle sarà simile a questo:
gamelift-servers-managed-ec2 │-- config.yaml │-- amazon-gamelift-servers-game-server-wrapper │-- MyGame │ │-- server-executable.exe │ │-- my-game-settings │ │ ......
Fase 3: Configura il wrapper per la tua flotta
Amazon GameLift Serversgestisce il ciclo di vita delle istanze di calcolo di una flotta, creando nuove istanze con la build del server installata e riciclando le istanze secondo necessità. Il servizio gestisce il ciclo di vita dei processi del server di gioco che viene eseguito su ogni istanza. Una EC2 flotta gestita può avere istanze in più sedi per supportare i giocatori ovunque si trovino.
Modifica il file config.yaml per configurare il wrapper per la registrazione, la configurazione delle porte e l'inizializzazione del server.
-
Configura le impostazioni di registrazione. Il wrapper del server di gioco genera messaggi di registro per ogni processo del server di gioco. Per impostazione predefinita, il livello di registro è impostato su debug per la massima verbosità. Ciò è molto utile durante la configurazione e la risoluzione dei problemi e determina il livello di dettaglio dei messaggi di registro, in questo caso i più dettagliati. Le opzioni includono debug, info, warn ed error (meno dettagliato).
-
Specificate il percorso della directory di registro del server di gioco. Il percorso predefinito per i log del server di gioco è
./game-server-logs
. Questa directory contiene tutti i log generati dal server di gioco e ogni istanza li contiene. I log vengono caricati automaticamente nella posizione Amazon GameLift Servers in cui sono accessibili dalla scheda Eventi. Visualizza la sezione Risoluzione dei problemi per maggiori dettagli. -
Definire la configurazione delle porte di rete. Imposta la porta di gioco come preferisci. Per questo tutorial, specifica una sola porta, poiché creerai una flotta che esegue solo un processo simultaneo del server di gioco per istanza. Se decidi di eseguire più processi contemporaneamente, dovrai configurare un numero sufficiente di porte per ogni processo simultaneo. Il valore predefinito è 37016, come mostrato nel file di configurazione, ma in generale, per le flotte che utilizzano build Linux, utilizza le porte 22 e 1026-60000. Per le flotte che utilizzano build Windows, utilizzate le porte 1026-60000.
-
Imposta il percorso dell'eseguibile del server di gioco. Per
./MyGame/my-server-executable.exe
personalizzare il percorso dell'eseguibile del server di gioco con il nome e la posizione effettivi. Questo è il punto di accesso per avviare il server di gioco. -
Configura gli argomenti del server di gioco. Come minimo, specifica un argomento -port e usa lo stesso valore di porta di gioco che hai definito in precedenza. Il valore «pos» 0 indica che questo è il primo argomento. Aggiungi altri argomenti se necessario. Questi argomenti vengono passati al server di gioco all'avvio, consentendoti di configurarne il comportamento in fase di esecuzione.
-
Argomento:
"--port"
-
Valore:
"{{.port number here}}"
-
Posizione:
0
(primo argomento nell'elenco)
-
Configurazione di esempio:
log-config: wrapper-log-level: debug game-server-logs-dir: ./game-server-logs ports: gamePort: 37016 game-server-details: executable-file-path: ./MyGame/my-server-executable game-server-args: - arg: "--port" val: "{{.gameport}}" pos: 0
Passaggio 4: carica la build del server di gioco
Ora hai completato tutti gli elementi richiesti della build del tuo server di gioco (game server wrapper, config.yaml e i file del server di gioco) e sei pronto per caricare la build del gioco su come hosting. Amazon GameLift Servers Il modo più rapido per caricare la build del gioco è usare il AWS CLI comando, come mostrato nell'esempio seguenteupload-build
.
Caricare una build di gioco con Windows:
aws gamelift upload-build \ --name gamelift-test-2025-03-11-1 \ --build-version gamelift-test-2025-03-11-1 \ --build-root out/windows/amd64/gamelift-servers-managed-ec2 \ --operating-system WINDOWS_2016 \ --server-sdk-version 5.3.0 \ --region us-west-2
Nota
Per le versioni Mac e Linux, usa --operating-system AMAZON_LINUX_2023
Quando crei la build, registra l'ID di build dalla risposta dell'API per utilizzarlo per la creazione della flotta.
Fase 5: Creare la EC2 flotta gestita
I passaggi seguenti descrivono una configurazione minima del parco veicoli, in modo da poter essere operativi il prima possibile.
Per creare la tua flotta:
-
Accedi a AWS Management Console e vai aAmazon GameLift Servers.
-
Nella barra dei menu nella parte superiore della finestra della console, verifica in quale regione si trova la build. Prendine nota perché la tua flotta deve trovarsi nella stessa regione o non potrai trovare o scegliere la tua build.
-
Nel pannello di navigazione della EC2 sezione Gestita, scegli Builds.
-
Seleziona la build che hai caricato in precedenza per visualizzare la pagina dei dettagli della build.
-
Nella sezione Flotte, scegli Crea flotta, che visualizza la pagina Definisci i dettagli della EC2 flotta gestita, dalla quale puoi monitorare lo stato della tua flotta e visualizzare gli eventi di creazione della flotta nella scheda Eventi.
-
Compila il nome e la descrizione e scegli Avanti.
-
Nella pagina Definisci i dettagli dell'istanza, l'area della build viene mostrata per impostazione predefinita. Scegli le aree aggiuntive che desideri aggiungere.
-
Per Tipo di flotta scegli On-Demand.
-
In Tipi di istanze scegli c5.large e scegli Avanti.
-
Nella configurazione Runtime, poiché la build del gioco caricata utilizza il wrapper, devi invece puntare all'eseguibile wrapper. Per i server di gioco Windows questo è.
C:\game\amazon-gamelift-servers-game-server-wrapper.exe
Per i server di gioco Linux, questo è/local/game/amazon-gamelift-servers-game-server-wrapper
.Ad esempio:
LaunchPath": "/local/game/amazon-gamelift-servers-game-server-wrapper", "ConcurrentExecutions": 1, "Parameters": "—port 37016
Inoltre, configura i valori della porta di gioco con un intervallo che tenga conto della porta impostata nei
config.yaml
parametri di avvio della configurazione di runtime.config.yaml
Non è necessario che la porta in ingresso corrisponda a quella specificata nella configurazione di runtime della flotta, ma in fase di esecuzione se la configurazione specifica una porta diversa, quel valore prevale su quello contenuto in.config.yaml
I parametri di avvio immessi nella configurazione di runtime hanno inoltre la precedenza su ciò che è contenuto in.config.yaml
Nella pagina Rivedi e crea, ricontrolla tutte le configurazioni, quindi scegli Invia per creare la tua flotta. Lo stato della flotta cambierà man mano che aumenterà la capacità di ospitare il server di gioco e molto presto mostrerà lo stato Attivo. Una volta completata l'attivazione e schierata la flotta, il servizio avvia il wrapper, pronto a ricevere una richiesta di sessione di gioco.
Passaggio 6: Crea e connettiti a una sessione di gioco
Quando lo stato della tua flotta risulta Attivo, significa che i server di gioco sono pronti e in attesa di ospitare una sessione di gioco. Per iniziare una sessione di gioco, invia una richiesta di sessione di gioco al Amazon GameLift Servers servizio. Qui, utilizzerai il AWS CLI per effettuare questa richiesta.
Nota
Tieni presente che creare una sessione di gioco utilizzando il AWS CLI è utile per testare e acquisire familiarità con il processo. Ad un certo punto, aggiungerai chiamate AWS SDK programmatiche al servizio di backend di gioco come parte del sistema di matchmaking o di posizionamento delle sessioni di gioco.
Usa quanto segue per creare una sessione di gioco:
aws gamelift create-game-session \ --fleet-id <FLEET_ID> \ --game-properties '[{"Key": "exampleProperty", "Value": "exampleValue"}]' \ --maximum-player-session-count 3 \ --region us-west-2
Puoi anche passare proprietà di gioco personalizzate all'eseguibile del tuo server. Vedi gli argomenti del server di gioco nel README per i dettagli. Quando riceve la create-game-session chiamata, Amazon GameLift Servers informa il wrapper di avviare l'eseguibile del server di gioco e avviare una sessione di gioco. Il contenuto config.yaml
influisce sulla configurazione del server di gioco e i parametri di avvio impostati nella console determinano la configurazione della sessione di gioco stessa.
Formato di esempio per aggiungere le proprietà del gioco:
defaultArgs: - arg: "--port" val: "{{.GamePort}}" pos: 0 - arg: "--ipAddress" val: "{{.IpAddress}}" pos: 1 - arg: "--gameSessionId" val: "{{.GameSessionId}}" pos: 2
Fase 7: Gestisci e monitora la tua flotta
Ora che il tuo parco server di gioco è configurato e la sessione di gioco è iniziata, puoi gestirla e monitorarla dalla Amazon GameLift Servers console. Il modo migliore per farlo è accedere alla pagina dei dettagli della flotta, dove puoi modificare i dettagli della flotta o modificare la scalabilità e la capacità della flotta nella scheda Scaling. Consulta la sezione seguente sul ridimensionamento dei server di gioco.
Scegli la scheda Metriche per visualizzare i grafici che illustrano il monitoraggio delle metriche relative all'attività e all'hardware. Per i dettagli sui grafici delle metriche, scegli il link Informazioni accanto all'ID del tuo parco veicoli. Inoltre, puoi monitorare da vicino i tuoi server di gioco dalla scheda Metriche, ma puoi anche aggiungere allarmi a queste metriche nella dashboard. CloudWatch
Per accedere alla CloudWatch dashboard dalla console:
-
Digita CloudWatch "" nella barra di ricerca e selezionalo dall'elenco dei risultati della ricerca per visualizzare la CloudWatch panoramica.
-
Scorri verso il basso e scegli Visualizza GameLift dashboard per visualizzare i grafici basati sulle metriche chiave per le tue flotte e le sessioni di gioco.
Passaggio 8: ridimensiona i tuoi server di gioco
Per il passaggio successivo, configuri il ridimensionamento automatico. Con la scalabilità automatica puoi scalare dinamicamente la capacità della tua flotta in risposta all'attività dei server di gioco. Man mano che i giocatori arrivano e iniziano le sessioni di gioco, la scalabilità automatica aggiunge altre istanze e, man mano che la domanda dei giocatori diminuisce, la scalabilità automatica rilascia le istanze inutilizzate. Si tratta di un modo efficace per ridurre al minimo le risorse e i costi di hosting, garantendo al contempo un'esperienza di gioco fluida e veloce.
Mentre ti prepari per il lancio del gioco, ti consigliamo di impostare la scalabilità automatica per le tue flotte. La scalabilità automatica è consigliata come metodo efficace per ridurre al minimo le risorse e i costi di hosting, garantendo al contempo un'esperienza di gioco fluida e veloce.
Per impostare manualmente la capacità del parco veicoli
Per impostare manualmente la capacità del parco veicoli
-
Vai alla scheda Scaling nella pagina dei dettagli della tua flotta.
-
Seleziona una località e scegli Modifica.
-
Modifica il valore delle istanze desiderate e le impostazioni delle dimensioni minime e massime per aumentare la scala oltre i valori correnti.
Nota
Utilizzate l'impostazione del numero massimo di istanze come limite per evitare costi e scalabilità eccessivi.
-
Scegli Conferma.
Per utilizzare il ridimensionamento automatico basato sulla destinazione
Per utilizzare il ridimensionamento automatico basato sulla destinazione
La scalabilità automatica basata sugli obiettivi (tracciamento degli obiettivi) collega il ridimensionamento della flotta alla percentuale di sessioni di gioco disponibili. Man mano che i giocatori si affollano a giocare al tuo gioco e le sessioni di gioco disponibili diminuiscono, il sistema risponde aggiungendo automaticamente altre istanze al parco istanze.
-
In Politica di scalabilità automatica basata su Target, scegli Aggiungi criterio e imposta la capacità della flotta in modo che cambi automaticamente quando raggiunge la soglia della percentuale di sessioni di gioco disponibili che hai impostato. Un buffer più ampio può gestire meglio le sovratensioni, far sì che i nuovi giocatori entrino rapidamente nei giochi, ma può anche comportare costi di hosting più elevati.
-
Scegli Conferma per accettare le modifiche.
La scalabilità automatica basata su regole offre un controllo più granulare, ad esempio la possibilità di collegare la scalabilità ad altre metriche del parco veicoli e di impostare soglie e risposte di scalabilità personalizzate. Offre opzioni potenti, ma richiede anche l'utilizzo della CLI e test significativi per capire come si comportano le regole personalizzate in azione. Questo tutorial si concentra sulla configurazione iniziale dell'approccio basato sugli obiettivi.
Risolvi i problemi più comuni
Di seguito sono riportati i problemi più comuni che potresti riscontrare durante l'esecuzione dei server e delle sessioni di gioco. Quando il server o la sessione di gioco non funzionano correttamente, la prima cosa da fare è controllare i log, che potrebbero rivelare uno dei problemi descritti di seguito per le nuove distribuzioni o i giochi in produzione.
Nei log viene spesso rivelato quanto segue:
-
Il processo del server di gioco non può essere avviato. Potrebbe trattarsi di un errore nella configurazione del wrapper: verifica che il file abbia il percorso di avvio corretto e i parametri e gli argomenti di avvio corretti.
-
La build del server di gioco non è eseguibile. È probabile che si tratti di un errore nel codice del gioco.
-
I giocatori non possono connettersi alle sessioni di gioco. È probabile che si tratti di un errore di configurazione della porta.
-
Connessioni lente o in ritardo. Rivedi le politiche e le soglie di scalabilità.
-
Nessuna connessione. Verifica le regole e la configurazione dei porti per la tua flotta.
Per visualizzare i registri degli eventi della tua flotta Amazon GameLift Servers
Per visualizzare i registri degli eventi della tua flotta Amazon GameLift Servers
-
Aprire la console Amazon GameLift Servers.
-
Nella pagina Dettagli della flotta, scegli la scheda Eventi e scarica il registro. Puoi anche monitorare le attività e le metriche hardware relative allo stato del server di gioco e alle attivazioni delle sessioni di gioco dalla scheda Metriche.
Per visualizzare i registri delle sessioni di gioco
Per visualizzare i registri delle sessioni di gioco
-
Dalla console, apri la tua flotta e apri la scheda Sessioni di gioco.
-
Scegli un ID della sessione di gioco dall'elenco per visualizzare la relativa pagina Panoramica.
-
Scegli Scarica i registri per scaricare un file di registro localmente.
Per visualizzare i registri delle sessioni di gioco con la CLI, utilizza l'GetGameSessionLogURL
API. Amazon GameLift Serversarchivia automaticamente i log per 14 giorni.
Puoi anche configurare CloudWatch i log di Amazon per la tua flotta. Ciò fornisce funzionalità di registrazione aggiuntive e integrazione con altri servizi di AWS monitoraggio.
Per l'accesso ai log in tempo reale o per periodi di conservazione prolungati tramite CloudWatch:
-
Nella parte superiore della dashboard della Amazon GameLift Servers console, digita "CloudWatch" nella barra di ricerca e selezionala dal menu a discesa dei risultati.
-
Vai ai gruppi di CloudWatch log e cerca sessioni specifiche. Il metodo più semplice è fare clic su Cerca tutto e filtrare utilizzando gameSessionId o ClientID.