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 Server Amazon GameLift involucro
Benvenuto nel tutorial di onboarding per. Amazon GameLift Servers In questo tutorial, distribuisci rapidamente il tuo server di gioco per essere ospitato su una flotta di risorse di calcolo basate su cloud. Usa questo tutorial per evitare di dover integrare l'SDK del server Amazon GameLift Servers nel codice di gioco e utilizzare 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 live o per i test.
Principali vantaggi di questo metodo di onboarding:
-
Implementa rapidamente il tuo server di gioco per un hosting veloce.
-
Zero modifiche al codice di gioco e nessuna modifica richiesta.
-
Usa questo metodo con qualsiasi eseguibile di gioco, indipendentemente dal motore di gioco.
-
Esplora tutti gli strumenti Amazon GameLift Servers di gestione, incluso il monitoraggio dell'attività delle sessioni di gioco e dello stato dell'hosting.
Nota
L'involucro è destinato alla valutazione e all'uso di base in produzione. Le funzionalità avanzate, come la gestione dettagliata delle sessioni dei giocatori, richiedono un'integrazione completa con l'SDK del server.
Prerequisiti
Prima di iniziare, assicurati di disporre dei seguenti elementi:
-
E Account AWS con le autorizzazioni appropriate
-
AWS CLI installato
-
Vai a 1.18+
-
Un server di gioco multigiocatore eseguibile
-
Marca () Linux/Mac
-
Git installato con un account attivo
Panoramica di
In questo tutorial potrai:
-
Procurati e costruisci il wrapper
-
Prepara la build del gioco
-
Configura il wrapper
-
Carica la build del server di gioco
-
Crea la flotta EC2 gestita
-
Crea e connettiti a una sessione di gioco
-
Monitora e gestisci i tuoi server di gioco
-
Scala 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 utilizzano 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
Una volta completata con successo, viene aggiunta una cartella «out»amazon-gamelift-servers-game-server-wrapper. In questa directory ci sono tre cartelle, una per ogni opzione del parco di hosting supportata, che contengono una serie di artefatti di compilazione. Per questo tutorial, stai eseguendo la distribuzione su flotte EC2 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 per il Amazon GameLift Servers caricamento su.
Crea la directory del gioco
Ora prepara una cartella di gioco sul tuo computer locale. Questa cartella 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 tuo server di gioco.
Utilizza le fasi seguenti:
-
Flotta EC2 gestita. Nella cartella di output del wrapper del server di gioco, trova l'artefatto di build da distribuire in una flotta di EC2 gestiti. La build verrà scritta in una directory out come indicato qui:.
out\linux\amd64\gamelift-servers-managed-ec2 -
Copia nella
gamelift-servers-managed-ec2cartella il file eseguibile del server di gioco e tutti i file associati necessari per l'esecuzione. Se necessario, puoi avere directory annidate.
Un esempio di struttura di directory sarà simile a questa:
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 elaborazione di una flotta, creando nuove istanze con la configurazione 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 flotta EC2 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à. Questo è molto utile durante l'installazione 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 dettagliate).
-
Specifica il percorso della directory di log 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 tuo server di gioco e ogni istanza li contiene. I log vengono caricati automaticamente Amazon GameLift Servers dove sono accessibili dalla scheda Eventi. Visualizza la sezione Risoluzione dei problemi per maggiori dettagli. -
Definisci 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 un solo 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 concorrente. Il valore predefinito è 37016, come mostrato nel file di configurazione, ma in generale, per le flotte che utilizzano le build Linux, usa le porte 22 e 1026-60000. Per le flotte che utilizzano build Windows, usa le porte 1026-60000.
-
Imposta il percorso dell'eseguibile del server di gioco. Per
./MyGame/my-server-executable.exepersonalizzare il percorso dell'eseguibile del server di gioco con il nome e la posizione effettivi. Questo è il punto di ingresso per avviare il server di gioco. -
Configura gli argomenti del server di gioco. Come minimo, specifica un argomento -port e usa lo stesso valore della porta di gioco che hai definito in precedenza. Il valore «pos» 0 indica che questo è il primo argomento. Aggiungete 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 dell'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 per la build del server di gioco (game server wrapper, config.yaml e i file del server di gioco) e sei pronto per caricare la build del gioco per l'hosting. Amazon GameLift Servers Il modo più rapido per caricare la build del gioco è usare il AWS CLI comando 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_2022 \ --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 flotta EC2 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 Console di gestione AWS e vai aAmazon GameLift Servers.
-
Nella barra dei menu nella parte superiore della finestra della console, controlla in quale regione si trova la tua build. Prendine nota perché la tua flotta deve trovarsi nella stessa regione o non sarai in grado di trovare o scegliere la tua build.
-
Nel pannello di navigazione nella sezione Managed EC2, 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 mostra la pagina dei dettagli della flotta EC2 gestita da cui puoi tenere traccia dello stato della tua flotta e visualizzare gli eventi di creazione della flotta nella scheda Eventi.
-
Inserisci il nome e la descrizione e scegli Avanti.
-
Nella pagina Definisci i dettagli dell'istanza, la regione della build è mostrata per impostazione predefinita. Scegli le aree aggiuntive che desideri aggiungere.
-
Per il tipo di flotta, scegli On-Demand.
-
In Tipi di istanza scegli c5.large e scegli Avanti.
-
In Runtime configuration, poiché la build del gioco caricata utilizza il wrapper, devi invece puntare all'eseguibile del wrapper. Per i server di gioco Windows questo è.
C:\game\amazon-gamelift-servers-game-server-wrapper.exePer 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 37016Inoltre, configura i valori delle porte di gioco con un intervallo che tenga conto della porta impostata nei
config.yamlparametri di avvio della configurazione di runtime. La porta in ingressoconfig.yamlnon deve necessariamente corrispondere 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.yamlI parametri di avvio inseriti nella configurazione di runtime sovrascrivono anche quelli contenuti 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 sarà attivo. Una volta completata l'attivazione e schierata la flotta, il servizio avvia il wrapper pronto a ricevere una richiesta di sessione di gioco.
Fase 6: Crea e connettiti a una sessione di gioco
Quando lo stato della tua flotta è 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. A 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. Per i dettagli, consulta gli argomenti del server di gioco nel README. Quando riceve la chiamata create-game-session, Amazon GameLift Servers informa il wrapper di lanciare l'eseguibile del server di gioco e iniziare una sessione di gioco. Ciò che contiene 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.
Esempio di formato per aggiungere proprietà di 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 la tua flotta di server di gioco è configurata e una sessione di gioco è iniziata, puoi gestirla e monitorarla dalla Amazon GameLift Servers console. Il modo migliore per farlo è utilizzare la pagina dei dettagli della flotta, dove puoi modificare i dettagli della flotta o modificare la scalabilità e la capacità della flotta nella scheda Scalabilità. Consulta la sezione seguente sulla scalabilità dei tuoi server di gioco.
Scegli la scheda Metriche per visualizzare i grafici che illustrano il monitoraggio delle metriche relative a Attività e Hardware. Per informazioni dettagliate sui grafici delle metriche, scegli il link Informazioni accanto all'ID della tua flotta. Inoltre, mentre puoi monitorare attentamente i tuoi server di gioco dalla scheda Metriche, puoi anche aggiungere allarmi a queste metriche nella dashboard. CloudWatch
Per accedere alla CloudWatch dashboard dalla console:
-
Digita "CloudWatch" nella barra di ricerca e sceglila 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, imposti il ridimensionamento automatico. Con il ridimensionamento automatico puoi scalare dinamicamente la capacità della tua flotta in risposta all'attività del server di gioco. Man mano che i giocatori arrivano e iniziano le sessioni di gioco, il ridimensionamento automatico aggiunge più istanze e, man mano che la domanda dei giocatori diminuisce, il ridimensionamento automatico 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 configurare il ridimensionamento automatico per le tue flotte. Il ridimensionamento automatico è consigliato come metodo efficace per ridurre al minimo le risorse e i costi di hosting, garantendo comunque un'esperienza di gioco fluida e veloce.
Per impostare manualmente la capacità della flotta
Per impostare manualmente la capacità della flotta
-
Vai alla scheda Scaling nella pagina dei dettagli della tua flotta.
-
Seleziona una località e scegli Modifica.
-
Modificate il valore delle istanze desiderate e modificate le impostazioni relative alle dimensioni minime e massime per scalare oltre i valori correnti, quindi scegliete Conferma.
Nota
Utilizzate l'impostazione del numero massimo di istanze come limite per evitare scalabilità e costi eccessivi.
Per utilizzare il ridimensionamento automatico basato sugli obiettivi
Per utilizzare il ridimensionamento automatico basato sugli obiettivi
Target-based la scalabilità automatica (tracciamento del bersaglio) collega il ridimensionamento della flotta alla percentuale di sessioni di gioco disponibili. Man mano che i giocatori si affrettano a giocare e le sessioni di gioco disponibili diminuiscono, il sistema risponde aggiungendo automaticamente altre istanze alla flotta.
-
Nella politica di ridimensionamento Target-based automatico, 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 impostata. Un buffer più ampio è in grado di gestire meglio i picchi di utenti, favorendo l'accesso rapido di nuovi giocatori, ma può anche comportare costi di hosting più elevati.
-
Scegli Conferma per accettare le modifiche.
Rule-based il ridimensionamento automatico offre un controllo più granulare, ad esempio la possibilità di collegare la scalabilità ad altre metriche del parco veicoli e impostare soglie e risposte di scalabilità personalizzate. Offre potenti opzioni, 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 prima impostazione dell'approccio basato sugli obiettivi.
Risolvi i problemi più comuni
Di seguito sono riportati i problemi più comuni che potresti riscontrare durante il funzionamento dei server di gioco e delle sessioni di gioco. Se 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: verificate 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. Probabilmente si tratta 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 ritardate. Rivedi le politiche e le soglie di scalabilità.
-
Nessuna connessione. Verifica le regole portuali e la configurazione della tua flotta.
Per visualizzare i registri degli eventi del tuo GameLift Server Amazon parco istanze
Per visualizzare i registri degli eventi della tua Amazon GameLift Servers flotta
-
Aprire la console Amazon GameLift Servers.
-
Nella pagina Dettagli della flotta, scegli la scheda Eventi e scarica il registro. Puoi anche monitorare l'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 di sessione di gioco dall'elenco per visualizzarne la relativa pagina Panoramica.
-
Scegli Scarica registri per scaricare un file di registro localmente.
Per visualizzare i registri delle sessioni di gioco con la CLI, usa l'GetGameSessionLogURLAPI. Amazon GameLift Serversmemorizza automaticamente i log per 14 giorni.
Puoi anche configurare CloudWatch i log 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 sceglila 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 il gioco SessionId o il ClientID.