

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

# Test e risoluzione dei problemi Amazon GameLift Servers
<a name="troubleshooting-intro"></a>

Questa sezione fornisce indicazioni per la diagnosi e la risoluzione dei problemi con la tua soluzione di GameLift hosting Amazon. Che si verifichino problemi durante le operazioni di sviluppo, distribuzione o produzione, queste risorse ti aiuteranno a identificare le cause profonde e a implementare soluzioni efficaci.
+ **Ambienti di sviluppo e test**: configura flussi di lavoro di sviluppo iterativi che rispecchiano le condizioni di produzione, consentendoti di individuare e risolvere i problemi di integrazione nelle prime fasi del ciclo di sviluppo.
+ **Implementazione e gestione del parco** veicoli: diagnostica gli errori più comuni nella creazione del parco veicoli, i problemi di attivazione dei processi server, i problemi di scalabilità e gli errori di distribuzione che possono impedire il corretto funzionamento dei server di gioco.
+ **Diagnostica e monitoraggio del runtime**: accedi alle istanze live della flotta per la risoluzione dei problemi in tempo reale, l'analisi delle prestazioni e la convalida della configurazione per risolvere i problemi che influiscono sull'esperienza dei giocatori.

Usa queste risorse insieme alle funzionalità GameLift di monitoraggio e registrazione di Amazon per mantenere prestazioni e disponibilità ottimali per i tuoi giochi multiplayer.

# Configurazione per lo sviluppo iterativo con Anywhere Amazon GameLift Servers
<a name="integration-dev-iteration"></a>

Amazon GameLift Serversfornisce strumenti e soluzioni per aiutarti a configurare un ambiente di test ospitato da utilizzare durante lo sviluppo del gioco. Con questi strumenti, puoi creare un ambiente che rispecchi l'esperienza dei giocatori nel mondo reale dell'hosting gestito Amazon GameLift Servers e supporti un processo di sviluppo rapido e iterativo.

Con un ambiente di test separato, rimuovi il sovraccarico di una Amazon GameLift Servers flotta gestita durante i test. Non è più necessario caricare ogni nuova iterazione di build del server di gioco, creare una nuova flotta e attendere più di 15 minuti prima che si attivi. Puoi invece creare una nuova build, aggiornare rapidamente la flotta di test con la nuova build, avviarla e iniziare i test.

Utilizzando una flotta Amazon GameLift Servers Anywhere, puoi configurare un ambiente di test utilizzando un dispositivo locale, come la tua workstation di sviluppo. Puoi anche configurare un ambiente di test utilizzando una risorsa di hosting basata su cloud.

Configura un ambiente di test Anywhere per sviluppare e testare una serie di scenari, tra cui questi: 
+ Verifica l'integrazione del tuo server di gioco con l'SDK Amazon GameLift Servers del server. Puoi eseguire il test anche senza un client di gioco funzionante utilizzando le chiamate AWS CLI per avviare nuove sessioni di gioco e tenere traccia degli eventi delle sessioni di gioco.
+ Metti alla prova le interazioni tra il client di gioco, il servizio di backend e il Amazon GameLift Servers servizio mentre sviluppi i componenti per il gioco. Perfeziona l'esperienza del giocatore per partecipare a una partita.
+ Sperimenta con il design del tuo FlexMatch matchmaker. Prova le varianti del set di regole e altre implementazioni delle funzionalità di matchmaking. Configura e testa il matchmaking backfill.
+ Prova altre funzionalità di Amazon GameLift Servers hosting, come le impostazioni di configurazione del runtime (con l'Amazon GameLift ServersAgent) per la gestione del ciclo di vita dei server di gioco.
+ Crea, testa e ripeti rapidamente per convalidare tutti gli aspetti dell'esperienza di gioco, comprese le interazioni multigiocatore, in un ambiente live ospitato. 

Successivamente, mentre prepari il gioco per il lancio, ti consigliamo di aggiungere flotte Amazon GameLift Servers gestite per ottimizzare le configurazioni di hosting e testare scenari aggiuntivi, tra cui i seguenti: 
+ Sperimenta e testa i design delle code delle sessioni di gioco, incluso l'uso di flotte con più sedi, flotte Spot e On-Demand e più tipi di istanze.
+ Prova le opzioni di posizionamento delle sessioni di gioco con flotte gestite, incluso l'uso di politiche di latenza opzionali e impostazioni di prioritizzazione della flotta.
+ Configura la scalabilità della capacità per soddisfare la domanda dei giocatori, utilizzando opzioni di ridimensionamento automatico o manuale.
+ Configura flotte AWS CloudFormation Amazon GameLift Servers gestite per gestire le risorse di hosting a lungo termine.

**Fast Build Update Tool (solo per lo sviluppo)**  
Con EC2 le flotte gestite, per implementare un aggiornamento della build di un server di gioco, devi caricare ogni nuova build Amazon GameLift Servers e creare una nuova flotta per essa.   
Il Fast Build Update Tool ti consente di aggirare questi passaggi durante lo sviluppo, risparmiando tempo e velocizzando l'iterazione dello sviluppo. Con questo strumento, puoi aggiornare rapidamente i file di build del gioco su tutti i computer di una flotta esistente. Lo strumento offre diverse opzioni: puoi sostituire un'intera build di gioco o modificare 6 file specifici e puoi gestire il riavvio dei processi del server di gioco dopo gli aggiornamenti. Puoi anche usarlo per aggiornare i singoli computer di una flotta.  
Per scaricare il Fast Build Update Tool e saperne di più su come usarlo, visita il repository Amazon GameLift Servers Toolkit per [The Fast Build Update Tool](https://github.com/aws/amazon-gamelift-toolkit/tree/main/fast-build-update-tool) in Github. 

**Topics**
+ [Crea un ambiente di test basato sul cloud](integration-dev-iteration-cloud.md)
+ [Configura i test locali con Amazon GameLift Servers Anywhere](integration-testing.md)
+ [Testa la tua integrazione usando Amazon GameLift Servers Local](integration-testing-local.md)

# Crea un ambiente di test basato sul cloud
<a name="integration-dev-iteration-cloud"></a>

**Nota**  
Questo argomento tratta i test iterativi per i giochi integrati con l'SDK del server per Amazon GameLift Servers la versione 5.x. Se il gioco utilizza la versione 4.x o precedente dell'SDK per server, consulta. [Testa la tua integrazione usando Amazon GameLift Servers Local](integration-testing-local.md)

Usa una flotta Amazon GameLift Servers Anywhere per creare e testare in modo iterativo i componenti del gioco in un ambiente ospitato basato su cloud. Crea una flotta Anywhere con risorse di hosting e una connessione al Amazon GameLift Servers servizio, esegui i server di gioco su di essa e testa le funzionalità di gioco secondo necessità. 

**Implementa una flotta Anywhere con l'agente Amazon GameLift Servers**  
Se la build del tuo server di gioco è integrata con Amazon GameLift Servers SDK 5.x o versione successiva, puoi distribuirla su una flotta Anywhere basata su cloud con l'Agent. Amazon GameLift Servers L'Agent è un processo in background che gestisce i cicli di vita dei server di gioco e altre attività su ogni computer di una flotta. Queste attività includono la registrazione del computer con una flotta Anywhere, l'acquisizione di un token di autenticazione e i processi del server di starting/stopping gioco basati su una serie di istruzioni. L'agente è controllato dalla configurazione di runtime di una flotta, che puoi aggiornare in qualsiasi momento durante la vita del parco veicoli. (L'agente viene distribuito automaticamente nelle flotte EC2 gestite). [Per ulteriori informazioni e per scaricare l'agente, consulta il repository. Amazon GameLift Servers GitHub](https://github.com/aws/amazon-gamelift-agent)

## Configura test iterativi con Amazon EC2
<a name="integration-dev-iteration-cloud-ec2"></a>

Utilizza il flusso di lavoro guidato di questa [soluzione di Amazon GameLift Servers toolkit]( https://github.com/aws/amazon-gamelift-toolkit/tree/main/development-instance-with-amazon-gamelift-anywhere-and-gamelift-agent) per configurare un ambiente di hosting basato sul cloud che rispecchi l'esperienza di hosting gestito con. Amazon GameLift Servers 

Il GitHub repository fornisce un set di script che automatizzano la maggior parte dei processi per la configurazione di un ambiente di test con Anywhere and the Agent. Amazon GameLift Servers Amazon GameLift Servers Fornisce inoltre indicazioni per aggiornare l'ambiente ogni volta che devi testare una nuova build di server di gioco. Puoi eseguire un singolo script che distribuisca un ambiente di test con una build di esempio del server di gioco, oppure puoi seguire ogni passaggio per configurarlo con la build del tuo server di gioco. 

In questo flusso di lavoro, lavorerai interamente in Console di gestione AWS, utilizzando AWS CloudShell per eseguire script e completare attività da riga di comando. 

**Nota**  
Per le attività di questo tutorial, è necessario un utente AWS account con autorizzazioni per i seguenti servizi:Amazon GameLift Servers, AWS CloudShell, Amazon S3 AWS Systems Manager, Amazon EC2 e. AWS Identity and Access Management Gli utenti con accesso a livello di amministratore all' AWS account dispongono già delle autorizzazioni richieste. 

Il flusso di lavoro copre le seguenti attività: 
+ **Package per un server di gioco creato perAmazon GameLift Servers.**Il flusso di lavoro fornisce uno script per creare un server di gioco C\$1\$1 di esempio, che è già stato integrato con l'SDK del server per la Amazon GameLift Servers versione 5.x ed è pronto per l'hosting. In alternativa, puoi lavorare con il tuo progetto di gioco se hai completato l'integrazione.
+ **Configura un bucket Amazon Simple Storage Service per archiviare build e dipendenze dei server di gioco.** Man mano che produci nuove versioni delle tue build di gioco, puoi archiviarle in S3 e utilizzare gli script per aggiornare la flotta di Anywhere per i test di gioco.
+ **Ottieni e costruisci l'agente. Amazon GameLift Servers** L'agente gestisce i processi del server di gioco su una risorsa di hosting in base alla configurazione dell'utente. Utilizza la stessa logica e si comporta in modo identico all'hosting EC2 Amazon GameLift Servers gestito. 
+ **Configura una flotta Anywhere per le tue risorse di hosting.** Con una flotta Anywhere puoi utilizzare il Amazon GameLift Servers servizio per ospitare risorse che non sono gestite daAmazon GameLift Servers. In questo passaggio, configurerai anche la configurazione di runtime, che indica ad Amazon GameLift Servers Agent quando e come avviare i processi del server di gioco.
+ **Configura un'istanza Amazon EC2.** Questo è il tuo ambiente di test per test iterativi. È molto più veloce utilizzare un'istanza EC2 standard anziché un'istanza completamente gestita Amazon GameLift Servers (ottimizzata per l'utilizzo a livello di produzione). Con un'istanza EC2 standard, puoi aggiornare rapidamente e continuamente il server di gioco secondo necessità.
+ **Implementa la build del server di gioco e Amazon GameLift Servers l'agente sull'istanza Amazon EC2.**Il flusso di lavoro fornisce uno script che ottiene la versione più recente della build del gioco e tutte le dipendenze e la installa sulla tua istanza EC2. In questo flusso di lavoro, le dipendenze includono l'Amazon GameLift Serversagente e l'agente. CloudWatch 
+ **Avvia l'Amazon GameLift Serversagente.** Una volta installato, l'agente si avvia e inizia automaticamente a eseguire le istruzioni. Ciò include: 
  + Registra l'istanza EC2 come elaborazione nella flotta Amazon GameLift Servers Anywhere. 
  + Stabilisci una WebSocket connessione con il Amazon GameLift Servers servizio e ottieni la configurazione di runtime più recente. 
  + Avvia i processi del server di gioco in base alle istruzioni nella configurazione di runtime. In questo flusso di lavoro, all'agente viene richiesto di avviare un singolo processo dell'eseguibile del server di gioco. 
+ **Metti alla prova i tuoi scenari di gioco.** Con l'ambiente di test configurato e l'ultima build del server di gioco installata, puoi iniziare i test. Il flusso di lavoro illustra diversi passaggi per il test, incluso l'avvio di una sessione di gioco. Accedi ai log del server di CloudWatch gioco per tenere traccia dei progressi man mano che la sessione di gioco si avvia e si prepara ad accettare giocatori. 

  Man mano che sviluppi i componenti del gioco, tra cui un client di gioco e un servizio di backend lato client, puoi includerli nei tuoi scenari di test. Usa un client di gioco per richiedere una sessione di gioco, recuperare le informazioni di connessione dal Amazon GameLift Servers servizio e quindi connetterti direttamente alla sessione di gioco.
+ **Implementa una nuova build del server di gioco e ripeti i test.** Durante lo sviluppo del gioco, puoi generare nuove build di server di gioco, quindi distribuirle rapidamente nell'ambiente di test EC2 per i test. Caricali nel bucket Amazon S3 e poi usa gli script del flusso di lavoro per aggiornare l'ambiente di test.

## Passa il tuo gioco a flotte gestite Amazon GameLift Servers
<a name="integration-dev-iteration-cloud-transition"></a>

Dopo aver completato i test di sviluppo e pronto a prepararti per il lancio, questo è un buon momento per passare alle flotte Amazon GameLift Servers gestite. Usa le flotte gestite per perfezionare e testare le tue risorse di hosting di giochi. Implementa la tua soluzione di posizionamento delle sessioni di gioco (code e matchmaker), seleziona l'hardware di hosting (comprese le flotte Spot) e le sedi ottimali e scegli una strategia per aumentare la capacità. Potresti anche iniziare a AWS CloudFormation utilizzarla per gestire in modo più efficiente i cicli di vita di tutte le tue risorse di hosting di giochi, tra cui flotte, code e matchmaker.

La transizione da una flotta di test Anywhere basata sul cloud a una flotta gestita richiede uno sforzo minimo. Amazon GameLift Servers Non è necessario modificare alcun codice di gioco e puoi riutilizzare le stesse code e gli stessi matchmaker. Esegui le seguenti attività: 
+ **Crea una risorsa di Amazon GameLift Servers compilazione.** Con una flotta di test Anywhere, devi distribuire manualmente la build e le dipendenze del server di gioco su ogni computer della flotta. Con una flotta gestita, carica il pacchetto di build del gioco suAmazon GameLift Servers, che lo distribuirà automaticamente su tutti i computer della flotta. [Crea un server di gioco costruito per Amazon GameLift Servers](gamelift-build-cli-uploading.md)Per ulteriori informazioni su come impacchettare i file di build del gioco e creare una risorsa di compilazione con file in un bucket Amazon S3, consulta la pagina.
+ **Crea una flotta gestita.** Crea una flotta utilizzando la console o la AWS CLI, specificando una flotta gestita da EC2. Questo tipo di parco macchine richiede impostazioni di configurazione aggiuntive, tra cui la specificazione delle risorse di compilazione e dei tipi di istanze. Puoi utilizzare la stessa configurazione di runtime per gestire il ciclo di vita dei server di gioco su ogni computer della flotta. Vedi [Crea una EC2 flotta Amazon GameLift Servers gestita](fleets-creating.md) i dettagli sulla creazione di una flotta gestita.
+ **Reindirizza gli alias del parco veicoli (opzionale).** Se configuri alias da utilizzare con le tue flotte Anywhere, puoi riutilizzare gli stessi alias per le flotte gestite. Vedi [Crea un Amazon GameLift Servers alias](aliases-creating.md) per i dettagli sulla creazione o l'aggiornamento di un alias.

# Configura i test locali con Amazon GameLift Servers Anywhere
<a name="integration-testing"></a>

**Nota**  
Questo argomento tratta dei test locali per i giochi integrati con l'SDK del server per la Amazon GameLift Servers versione 5.x. Se il gioco utilizza la versione 4.x o precedente dell'SDK per server, consulta. [Testa la tua integrazione usando Amazon GameLift Servers Local](integration-testing-local.md)

Usa una flotta Amazon GameLift Servers Anywhere e il tuo hardware per creare e testare in modo iterativo i componenti del gioco in un ambiente ospitato simulato. Configura una flotta Anywhere e registra un dispositivo locale per stabilire una connessione al Amazon GameLift Servers servizio. Installa il server di gioco integrato sul dispositivo, avvia un processo del server di gioco e verifica le funzionalità di gioco secondo necessità. Puoi aggiornare la build del server di gioco tutte le volte che vuoi per testare ogni nuova build.

Con una flotta Anywhere, puoi eseguire i test utilizzando la AWS CLI o con script di test. Se hai integrato un client di gioco conAmazon GameLift Servers, puoi eseguire il client sullo stesso dispositivo locale o su un dispositivo diverso. 

I test locali con una flotta Anywhere sono particolarmente utili per testare l'integrazione del server di gioco conAmazon GameLift Servers. Hai piena visibilità su tutte le attività di hosting sul computer locale, nonché sugli eventi e sui dati di registrazione. 

**Nota**  
Stai usando il Amazon GameLift Servers plugin per Unreal Engine o Unity? Questi strumenti includono flussi di lavoro guidati per l'impostazione di test locali con una flotta Anywhere. Segui la documentazione per [Plugin per Unity: configura i test locali con Anywhere Amazon GameLift Servers](unity-plug-in-anywhere.md) o[Plugin per Unreal: ospita il tuo gioco localmente con Anywhere Amazon GameLift Servers](unreal-plugin-anywhere.md).

**Topics**
+ [Configura una flotta Anywhere locale](#integration-testing-anywhere-fleet)
+ [Aggiorna e installa il tuo server di gioco](#integration-testing-dev)
+ [Verifica l'attività della sessione di gioco](#integration-testing-test)
+ [Esegui un'iterazione sul tuo server di gioco](#fleet-anywhere-iteration)
+ [Trasforma il tuo gioco in flotte Amazon GameLift Servers gestite](#fleet-anywhere-transition)

## Configura una flotta Anywhere locale
<a name="integration-testing-anywhere-fleet"></a>

Segui questi passaggi per creare una flotta Anywhere per la tua workstation locale. Per istruzioni dettagliate sull'utilizzo della AWS CLI o del moduloAmazon GameLift Servers, Console di gestione AWS consulta. [Crea un Amazon GameLift Servers Flotta ovunque](fleets-creating-anywhere.md)

**Per creare la flotta Anywhere**

1. **Crea una posizione personalizzata per la tua workstation locale. (AWS CLI o console).** Una posizione personalizzata è semplicemente un'etichetta per la risorsa di elaborazione che intendi includere nella tua flotta Anywhere. I nomi delle località personalizzate devono iniziare con`custom-`. Ad esempio: `custom-my_laptop`. Per informazioni, consulta [Creare una posizione personalizzata](fleets-creating-anywhere.md#fleet-anywhere-location).

1. **Crea una flotta Anywhere (AWS CLI o console).** In questo passaggio, crea la risorsa del parco veicoli con la posizione personalizzata per la workstation locale. Per informazioni, consulta [Crea una flotta Anywhere](fleets-creating-anywhere.md#fleet-anywhere-create).

   Prendi nota dell'ID o del valore ARN del nuovo parco veicoli. Tale valore servirà nella fase successiva.

1. **Registra la tua workstation locale come unità di calcolo della flotta (solo AWS CLI).** Una flotta Anywhere deve disporre di almeno una risorsa di elaborazione per ospitare i server di gioco. Per informazioni, consulta [Aggiungi un computer alla flotta](fleets-creating-anywhere.md#fleet-anywhere-compute). Per aggiungere un computer alla flotta, sono necessarie le seguenti informazioni: 
   + Un nome di calcolo. Ogni calcolo di un parco dati deve avere un nome univoco.
   + L'identificatore della flotta Anywhere. Puoi usare `FleetID` o`FleetArn`.
   + Le informazioni sulla connessione del computer. Specifica un `IpAddress` oppure il valore `DnsName`. Ecco come i client Amazon GameLift Servers di gioco si connetteranno ai server di gioco.
   + Una posizione personalizzata nella flotta Anywhere.

   Prendi nota del valore `GameLiftServiceSdkEndpoint` restituito. Questo valore ti servirà quando aggiorni il tuo server di gioco per farlo funzionare su una flotta Anywhere.

## Aggiorna e installa il tuo server di gioco
<a name="integration-testing-dev"></a>

Questa attività presuppone che tu abbia già integrato una build di server di gioco con il Amazon GameLift Servers server SDK 5.x. Il processo di integrazione prevede l'aggiunta di codice al server di gioco in modo che possa interagire con il Amazon GameLift Servers servizio per avviare e gestire le sessioni di gioco. 

Per una flotta Anywhere, devi configurare manualmente alcune impostazioni del server di gioco. In una flotta Amazon GameLift Servers gestita, queste impostazioni vengono configurate automaticamente. 

**Per preparare il tuo server di gioco per una flotta Anywhere**

1. **Ottieni un token di autenticazione.** Il tuo server di gioco deve includere un token di autenticazione in ogni comunicazione con il Amazon GameLift Servers servizio. Amazon GameLift Serversi token di autenticazione sono di breve durata e devono essere aggiornati regolarmente.

   È consigliabile creare uno script per completare le seguenti attività:
   + Richiama l'azione AWS CLI. `get-compute-auth-token`
   + Memorizza il valore del token restituito dove i processi del server di gioco possono recuperarlo, ad esempio in una variabile di ambiente sul calcolo locale.

   Installa lo script con il tuo server di gioco sul computer. Imposta lo script in modo che venga eseguito prima di iniziare il primo processo del server di gioco. Mentre i processi del server di gioco sono attivi, esegui lo script regolarmente per mantenere un token di autenticazione valido. Tutti i processi del server di gioco sul computer possono utilizzare lo stesso token di autenticazione.

1. **Aggiorna il codice del server Amazon GameLift Servers di gioco.** Quando hai integrato il codice del server di gioco con l'SDK del server perAmazon GameLift Servers, hai aggiunto un invito all'azione`InitSdk()`. Quando il server di gioco funziona su una flotta Anywhere, questa chiamata richiede parametri server aggiuntivi. Per ulteriori informazioni, consulta [Inizializza il processo del server](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize) la sezione [Server SDK 5.x per Amazon GameLift Servers](reference-serversdk.md) relativa al linguaggio di sviluppo in uso. I parametri del server sono:
   + `webSocketUrl`— Imposta questo parametro sul `GameLiftServiceSdkEndpoint` valore che viene restituito quando registri un calcolo nella flotta. 
   + `hostId`— Imposta questo parametro sul nome di calcolo che specifichi quando registri un calcolo con la flotta Anywhere.
   + `fleetId`— Imposta questo parametro sull'ID della flotta Anywhere.
   + `authToken`— Imposta questo parametro sul token che viene restituito in risposta a una richiesta di recupero di un token di autenticazione per un calcolo. 
   + `processId`— Imposta questo parametro per identificare un processo del server di gioco in esecuzione sul computer locale. Ogni processo simultaneo del server di gioco deve avere un ID di processo univoco.

   I valori dei parametri del server utilizzati da ogni processo del server di gioco devono essere specifici per l'elaborazione della flotta Anywhere su cui è in esecuzione il processo. Per i dettagli su come ottenere i valori appropriati per un calcolo, consulta. [Aggiungi un computer alla flotta](fleets-creating-anywhere.md#fleet-anywhere-compute) Come procedura consigliata `webSocketUrl` `hostId``fleetId`, imposta e `authToken` come variabili di ambiente nell'elaborazione locale. Tutti i processi del server eseguiti sul computer utilizzeranno questi valori. 

1. Installa la build del server di gioco sul computer locale. Includi tutte le dipendenze necessarie per far funzionare il server di gioco.

1. Avvia uno o più processi del server di gioco in esecuzione sul computer locale. Quando il processo del server di gioco richiama l'azione SDK del server`ProcessReady()`, il processo è pronto per ospitare una sessione di gioco.

## Verifica l'attività della sessione di gioco
<a name="integration-testing-test"></a>

Verifica l'integrazione del tuo server di gioco lavorando con le sessioni di gioco. Se non disponi di un client di gioco integrato con Amazon GameLift Servers funzionalità, puoi utilizzare la AWS CLI per avviare le sessioni di gioco. Prova i seguenti scenari:
+ **Creare una sessione di gioco.** [create-game-session ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/create-game-session.html)Comando di chiamata (o operazione [ CreateGameSession](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateGameSession.html)API). Specificate l'ID e la posizione personalizzata della vostra flotta Anywhere. Questa chiamata restituisce un identificatore univoco per la nuova sessione di gioco.
+ **Controlla lo stato della sessione di gioco.**[describe-game-sessions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/describe-game-sessions.html)Comando di chiamata (o azione [DescribeGameSessions](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeGameSessions.html)API). Specificate l'ID della sessione di gioco. Questa chiamata restituisce informazioni dettagliate sulla sessione di gioco, incluso lo stato della sessione di gioco. Le sessioni di gioco in stato Attivo sono pronte per consentire ai giocatori di connettersi. Per ottenere un elenco di tutte le sessioni di gioco per la flotta, chiama il [list-game-sessions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/list-game-sessions.html)comando (o l'azione [ListGameSessions](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListGameSessions.html)API).
+ **Connect alla sessione di gioco.** Se il tuo client di gioco ha la possibilità di partecipare a una sessione di gioco, utilizza le informazioni di connessione incluse nelle informazioni sulla sessione di gioco.

## Esegui un'iterazione sul tuo server di gioco
<a name="fleet-anywhere-iteration"></a>

Puoi usare la stessa Anywhere flotta e lo stesso calcolo per testare altre versioni della build del tuo server di gioco. 

1. **Pulisci il tuo esistente`GameSession`.** Se il processo del server di gioco si blocca o non chiama`ProcessEnding()`, Amazon GameLift Servers pulisce `GameSession` dopo che il server di gioco ha interrotto l'invio dei controlli di integrità.

1. **Genera una nuova build del server di gioco.** Apporta modifiche al tuo server di gioco e crea una build rivista. 

1. **Aggiorna la build del server di gioco sul tuo computer locale.** La tua flotta Anywhere precedente è ancora attiva e il tuo laptop è ancora registrato come risorsa di elaborazione nel parco.

1. **Ottieni un token di autorizzazione aggiornato.** Chiama il comando [get-compute-auth-token](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/get-compute-auth-token.html)CLI e archivia il token sul calcolo locale. 

1. **Avvia uno o più processi del server di gioco in esecuzione sul computer locale.** Quando il processo del server di gioco chiama`ProcessReady()`, è pronto per essere utilizzato per i test.

## Trasforma il tuo gioco in flotte Amazon GameLift Servers gestite
<a name="fleet-anywhere-transition"></a>

Dopo aver completato i test di sviluppo e pronto a prepararti per il lancio, questo è un buon momento per passare alle flotte Amazon GameLift Servers gestite. Usa le flotte gestite per perfezionare e testare le tue risorse di hosting di giochi. Implementa la tua soluzione di posizionamento delle sessioni di gioco (code e matchmaker), seleziona l'hardware di hosting (comprese le flotte Spot) e le sedi ottimali e scegli una strategia per aumentare la capacità. Potresti anche iniziare a AWS CloudFormation utilizzarla per gestire in modo più efficiente i cicli di vita di tutte le tue risorse di hosting di giochi, tra cui flotte, code e matchmaker.

È necessario apportare alcune modifiche minori per passare da una flotta di test Anywhere locale a una flotta gestita. Amazon GameLift Servers Puoi riutilizzare le stesse code e gli stessi matchmaker. Esegui le seguenti attività: 
+ **Cambia la chiamata in codice del server di gioco in`InitSdk()`.** Rimuovi i parametri del server. Per una flotta gestita, tiene traccia Amazon GameLift Servers automaticamente di queste informazioni.
+ **Crea una risorsa di Amazon GameLift Servers compilazione.** Con una flotta di test Anywhere, devi distribuire manualmente la build e le dipendenze del server di gioco su ogni computer della flotta. Con una flotta gestita, puoi creare e caricare il tuo pacchetto di build di gioco suAmazon GameLift Servers, che lo distribuisce automaticamente su tutti i computer della flotta. [Crea un server di gioco costruito per Amazon GameLift Servers](gamelift-build-cli-uploading.md)Per ulteriori informazioni su come impacchettare i file di build del gioco e creare una risorsa di compilazione con file in un bucket Amazon S3, consulta la pagina. Non includere script che registrano un'elaborazione e ottengono un token di autenticazione, poiché gestisce Amazon GameLift Servers automaticamente queste attività con flotte gestite.
+ **Crea una flotta gestita.** Crea una flotta utilizzando la console o la AWS CLI, specificando una flotta gestita da EC2. Questo tipo di parco macchine richiede impostazioni di configurazione aggiuntive, tra cui la specificazione delle risorse di compilazione e dei tipi di istanze. Dovete tutti impostare una configurazione di runtime per gestire il ciclo di vita dei server di gioco su ogni computer della flotta. [Crea una EC2 flotta Amazon GameLift Servers gestita](fleets-creating.md)Per ulteriori informazioni sulla creazione di una flotta gestita, consulta la sezione.
+ **Reindirizza gli alias del parco veicoli (opzionale).** Se configuri alias da utilizzare con le tue flotte Anywhere, puoi riutilizzare gli stessi alias per le flotte gestite. Vedi [Crea un Amazon GameLift Servers alias](aliases-creating.md) per i dettagli sulla creazione o l'aggiornamento di un alias.

# Testa la tua integrazione usando Amazon GameLift Servers Local
<a name="integration-testing-local"></a>

**Nota**  
Questo argomento tratta i test per i giochi integrati con l'SDK del server solo per le Amazon GameLift Servers versioni 3.x e 4.x. Il pacchetto SDK del server include una versione compatibile di Local. Amazon GameLift Servers Se utilizzi la versione 5.x dell'SDK del server, consulta [Test locali con GameLift Server SDK 5.x per i test](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/integration-testing-local.html) locali con una flotta Anywhere. Amazon GameLift Servers [Per indicazioni sulla migrazione da SDK 4.x a 5.x, consulta Migrate to Server SDK 5.x. GameLift ](https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk5-migration.html)

Utilizza Amazon GameLift Servers Local per eseguire una versione limitata del servizio Amazon GameLift Servers gestito su un dispositivo locale e testare l'integrazione dei giochi. Questo strumento è utile quando si esegue lo sviluppo iterativo sull'integrazione dei giochi. L'alternativa, vale a dire caricare ogni nuova build Amazon GameLift Servers e configurare una flotta per ospitare il gioco, può richiedere diverse o più volte ogni volta. 

Con Amazon GameLift Servers Local, è possibile verificare quanto segue:
+ Il server di gioco è correttamente integrato con l'SDK del server e comunica correttamente con il servizio Amazon GameLift Servers per avviare nuove sessioni di gioco, accettare nuovi giocatori e fornire rapporti sull'integrità e sullo stato. 
+ Il client di gioco è correttamente integrato con l' AWS SDK per Amazon GameLift Servers ed è in grado di recuperare informazioni sulle sessioni di gioco esistenti, avviare nuove sessioni di gioco, unire giocatori alle partite e connettersi alla sessione di gioco.

Amazon GameLift ServersLocal è uno strumento da riga di comando che avvia una versione autonoma del servizio gestito. Amazon GameLift Servers Amazon GameLift Servers Local fornisce anche un registro degli eventi in esecuzione relativo all'inizializzazione dei processi del server, ai controlli di integrità e alle chiamate e risposte delle API. Amazon GameLift Servers Local riconosce un sottoinsieme delle azioni AWS SDK per. Amazon GameLift Servers Puoi effettuare chiamate dal AWS CLI o dal tuo client di gioco. Tutte le operazioni API vengono eseguite a livello locale proprio come avviene nel servizio Web Amazon GameLift Servers.

Ogni processo del server dovrebbe ospitare solo una singola sessione di gioco. La sessione di gioco è l'eseguibile che usi per connetterti a Amazon GameLift Servers Local. Quando la sessione di gioco è completata, dovresti chiamare `GameLiftServerSDK::ProcessEnding` e poi uscire dal processo. Quando esegui il test localmente con Amazon GameLift Servers Local, puoi avviare più processi sul server. Ogni processo si connetterà a Amazon GameLift Servers Local. Puoi quindi creare una sessione di gioco per ogni processo del server. Al termine della sessione di gioco, il processo del server di gioco dovrebbe chiudersi. È quindi necessario avviare manualmente un altro processo del server. 

Amazon GameLift Serverslocal supporta quanto segue APIs:
+ CreateGameSession
+ CreatePlayerSession
+ CreatePlayerSessions
+ DescribeGameSessions
+ DescribePlayerSessions

## Configurazione Amazon GameLift Servers locale
<a name="integration-testing-local-start"></a>

Amazon GameLift Servers Local viene fornito come un file `.jar` eseguibile integrato con l'[SDK del server](https://aws.amazon.com/gamelift/servers/getting-started/). Può essere eseguito su Windows o Linux e utilizzato con qualsiasi linguaggio supportato da Amazon GameLift Servers. Per la versione SDK 4.0.2, puoi scaricarla dalle versioni [ufficiali GitHub ](https://github.com/amazon-gamelift/amazon-gamelift-servers-csharp-server-sdk/releases). Il GameLiftLocal file.jar è incluso nell'elemento -4.0.2.zip. GameLift-CSharp-ServerSDK

Prima di eseguire Local, è necessaria l'installazione di quanto segue.
+ Una build dell'SDK del server per le versioni da 3.1.5 a 4.x. Amazon GameLift Servers
+ Java 8 

## Prova un server di gioco
<a name="integration-testing-local-server"></a>

Se desideri testare solo il tuo server di gioco, puoi utilizzarlo AWS CLI per simulare le chiamate dei client di gioco al servizio Amazon GameLift Servers locale. In questo modo si verifica che il server di gioco funziona come previsto nelle condizioni seguenti: 
+ Il server di gioco si avvia correttamente e inizializza l'SDK del server per. Amazon GameLift Servers
+ Nell'ambito del processo di avvio, il server di gioco comunica ad Amazon GameLift Servers che il server è pronto per l'hosting di sessioni di gioco.
+ Il server di gioco invia lo stato di integrità a Amazon GameLift Servers ogni minuto durante l'esecuzione.
+ Il server di gioco risponde alle richieste di avvio di una nuova sessione di gioco.

1. **Avviare Amazon GameLift Servers Local.**

   Aprire una finestra del prompt dei comandi, accedere alla directory contente il file `GameLiftLocal.jar` ed eseguire il file. Per impostazione predefinita, Local riceve le richieste provenienti dai client di gioco sulla porta 8080. Per specificare un numero di porta diverso, utilizzare il parametro `-p`, come indicato nell'esempio seguente:

   ```
   java -jar GameLiftLocal.jar -p 9080
   ```

   Una volta avviato Local, è possibile visualizzare i log che indicano che sono stati avviati due server locali, di cui uno rileva il server di gioco e l'altro il client di gioco o la AWS CLI. I log continuano a fornire rapporti sull'attività dei due server locali, comprese le comunicazioni da e verso i componenti di gioco.

1. **Avviare il server di gioco.**

   Avviare il server di gioco integrato con Amazon GameLift Servers a livello locale. Non è necessario modificare l'endpoint per il server di gioco. 

   Nella finestra del prompt dei comandi di Local, i messaggi di log indicano che il server di gioco è connesso al servizio Amazon GameLift Servers Local. Ciò significa che il server di gioco ha inizializzato con successo l'SDK del server per (con). Amazon GameLift Servers `InitSDK()` Ha chiamato `ProcessReady()` con i percorsi di log mostrati e, in caso di esito positivo, è pronto per l'hosting di una sessione di gioco. Mentre il server di gioco è in esecuzione, Amazon GameLift Servers registra ogni rapporto sullo stato di integrità del server di gioco. Il seguente esempio di messaggistica di log mostra un server di gioco integrato:

   ```
   16:50:53,217  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - SDK connected: /127.0.0.1:64247 
   16:50:53,217  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - SDK pid is 17040, sdkVersion is 3.1.5 and sdkLanguage is CSharp
   16:50:53,217  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - NOTE: Only SDK versions 3.1.5 and above are supported in GameLiftLocal!
   16:50:53,451  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - onProcessReady received from: /127.0.0.1:64247 and ackRequest requested? true
   16:50:53,543  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - onProcessReady data: logPathsToUpload: "C:\\game\\logs"
   logPathsToUpload: "C:\\game\\error"
   port: 1935
           
   16:50:53,544  INFO || - [HostProcessManager] nioEventLoopGroup-3-1 - Registered new process true, true,
   16:50:53,558  INFO || - [SDKListenerImpl] nioEventLoopGroup-3-1 - onReportHealth received from /127.0.0.1:64247 with health status: healthy
   ```

   Potenziali messaggi di errore e avviso sono i seguenti:
   + Errore: "ProcessReady non ho trovato un processo con PID:*<process ID>*\$1 È stato invocato initSDK ()?»
   + Avviso: «Lo stato del processo esiste già per il processo con PID:*<process ID>*\$1 ProcessReady(...) è stato invocato più di una volta?»

1. **Avvia il. AWS CLI**

   Una volta che il server di gioco ha completato la chiamata a `ProcessReady()`, è possibile iniziare a effettuare chiamate client. Aprire un'altra finestra del prompt dei comandi e avviare lo strumento AWS CLI . Per impostazione AWS CLI predefinita, utilizza l'endpoint del servizio Amazon GameLift Servers Web. È necessario sostituirlo con l'endpoint di Local in ogni richiesta con il parametro `--endpoint-url`, come illustrato nella seguente richiesta di esempio.

   ```
   AWS gamelift describe-game-sessions --endpoint-url http://localhost:9080  --fleet-id fleet-123
   ```

   [Nella finestra del AWS CLI prompt dei `AWS gamelift` comandi, i comandi generano risposte come documentato nel Command Reference.AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/gamelift)

1. **Creare una sessione di gioco.**

   Con AWS CLI, invia una richiesta [CreateGameSession().](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html) La richiesta deve seguire la sintassi prevista. Per Local, il parametro `FleetId` può essere impostato su qualsiasi stringa valida (`^fleet-\S+`).

   ```
   AWS gamelift create-game-session --endpoint-url http://localhost:9080 --maximum-player-session-count 2 --fleet-id
       fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
   ```

   Nella finestra del prompt dei comandi di Local, i messaggi di log indicano che Amazon GameLift Servers Local ha inviato al server di gioco un callback `onStartGameSession`. Se una sessione di gioco è creata, il server di gioco risponde richiamando `ActivateGameSession`.

   ```
   13:57:36,129  INFO || - [SDKInvokerImpl]
           Thread-2 - Finished sending event to game server to start a game session:
           arn:aws:gamelift:local::gamesession/fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d/gsess-ab423a4b-b827-4765-aea2-54b3fa0818b6.
           Waiting for ack response.13:57:36,143  INFO || - [SDKInvokerImpl]
           Thread-2 - Received ack response: true13:57:36,144  INFO || -
           [CreateGameSessionDispatcher] Thread-2 - GameSession with id:
           arn:aws:gamelift:local::gamesession/fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d/gsess-ab423a4b-b827-4765-aea2-54b3fa0818b6
           created13:57:36,227  INFO || - [SDKListenerImpl]
           nioEventLoopGroup-3-1 - onGameSessionActivate received from: /127.0.0.1:60020 and ackRequest
           requested? true13:57:36,230  INFO || - [SDKListenerImpl]
           nioEventLoopGroup-3-1 - onGameSessionActivate data: gameSessionId:
           "arn:aws:gamelift:local::gamesession/fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d/gsess-abcdef12-3456-7890-abcd-ef1234567890"
   ```

   Nella AWS CLI finestra, Amazon GameLift Servers risponde con un oggetto della sessione di gioco che include un ID della sessione di gioco. Si noti che lo stato della nuova sessione di gioco è Activating (In fase di attivazione). Lo stato diventa Attivo una volta ActivateGameSession richiamato il server di gioco. Se vuoi vedere lo stato modificato, usa il comando AWS CLI per chiamare. `DescribeGameSessions()`

   ```
   {
       "GameSession": {
         "Status": "ACTIVATING",
         "MaximumPlayerSessionCount": 2,
         "FleetId": "fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
         "GameSessionId": "arn:aws:gamelift:local::gamesession/fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d/gsess-abcdef12-3456-7890-abcd-ef1234567890",
         "IpAddress": "127.0.0.1",
         "Port": 1935
       }
   }
   ```

## Prova un server e un client di gioco
<a name="integration-testing-local-client"></a>

Per verificare l'integrazione completa dei giochi, compresa la connessione dei giocatori ai giochi, è possibile eseguire sia il server sia il client di gioco a livello locale. In questo modo è possibile testare le chiamate programmatiche dal client di gioco ad Amazon GameLift Servers Local. È possibile verificare le seguenti azioni: 
+ Il client di gioco sta effettuando correttamente le richieste AWS SDK al servizio Amazon GameLift Servers locale, tra cui la creazione di sessioni di gioco, il recupero di informazioni sulle sessioni di gioco esistenti e la creazione di sessioni di gioco.
+ Il server di gioco convalida correttamente i giocatori quando tentano di partecipare a una sessione di gioco. Per i giocatori convalidati, il server di gioco potrebbe recuperare i dati giocatore (se la funzione è implementata).
+ Il server di gioco segnala l'interruzione di una connessione quando un giocatore esce dal gioco.
+ Il server di gioco segnala la fine di una sessione di gioco.

1. **Avviare Amazon GameLift Servers Local.**

   Aprire una finestra del prompt dei comandi, accedere alla directory contente il file `GameLiftLocal.jar` ed eseguire il file. Per impostazione predefinita, Local riceve le richieste provenienti dai client di gioco sulla porta 8080. Per specificare un numero di porta diverso, utilizzare il parametro `-p`, come indicato nell'esempio seguente.

   ```
   ./gamelift-local -p 9080
   ```

   Una volta avviato Local, è possibile visualizzare i log che indicano che sono stati avviati due server locali, di cui uno rileva il server di gioco e l'altro il client di gioco o la AWS CLI.

1. **Avviare il server di gioco.**

   Avviare il server di gioco integrato con Amazon GameLift Servers a livello locale. Per ulteriori informazioni sui log dei messaggi, consultare [Prova un server di gioco](#integration-testing-local-server).

1. **Configurare il client di gioco per Local e avviarlo.**

   Per utilizzare il client di gioco con il servizio Amazon GameLift Servers Local, occorre apportare le seguenti modifiche alla configurazione del client di gioco, come descritto nella sezione [Configura l'Amazon GameLift ServersAPI](gamelift-sdk-client-api.md#gamelift-sdk-client-api-initialize):
   + Modificare l'oggetto `ClientConfiguration` in modo che punti all'endpoint Local, ad esempio `http://localhost:9080`.
   + Impostare un valore di ID del parco istanze di destinazione. Per Local, non è necessario un vero e proprio ID del parco istanze; impostare il parco istanze di destinazione su qualsiasi stringa valida (`^fleet-\S+`), ad esempio `fleet-1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d`.
   +  AWS Imposta le credenziali. Per Local, non occorrono vere e proprie credenziali AWS ; è possibile impostare la chiave di accesso e la chiave segreta su qualsiasi stringa. 

   Nella finestra del prompt dei comandi di Local, una volta avviato il client di gioco, i messaggi di log dovrebbero indicare che ha inizializzato `GameLiftClient` e ha comunicato con il servizio Amazon GameLift Servers. 

1. **Eseguire il test delle chiamate del client di gioco al servizio Amazon GameLift Servers.**

   Verificare che il client di gioco esegua una o tutte le seguenti chiamate API:
   + [CreateGameSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSession.html)
   + [DescribeGameSessions()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessions.html)
   + [CreatePlayerSession()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSession.html)
   + [CreatePlayerSessions()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreatePlayerSessions.html)
   + [DescribePlayerSessions()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribePlayerSessions.html)

   Nella finestra del prompt dei comandi di Local, solo le chiamate a `CreateGameSession()` determinano messaggi di log. I messaggi di log mostrano quando Amazon GameLift Servers Local richiede al server di gioco di avviare una sessione di gioco (callback `onStartGameSession`) e ottiene una `ActivateGameSession` riuscita quando il server di gioco la richiama. Nella finestra della AWS CLI , tutte le chiamate API determinano risposte o messaggi di errore come documentato. 

1. **Verificare che il server di gioco convalidi le nuove connessioni dei giocatori.**

   Dopo aver creato una sessione di gioco e una sessione giocatore, stabilire una connessione diretta alla sessione di gioco.

   Nella finestra del prompt dei comandi di Local, i messaggi di log devono mostrare che il server di gioco ha inviato una richiesta `AcceptPlayerSession()` per convalidare la nuova connessione dei giocatori. Se usi il comando AWS CLI to call`DescribePlayerSessions()`, lo stato della sessione del giocatore dovrebbe cambiare da Riservato ad Attivo.

1. **Verificare che il server di gioco riporti lo stato del gioco e dei giocatori al servizio Amazon GameLift Servers.**

   Perché Amazon GameLift Servers gestisca la richiesta dei giocatori e riporti correttamente i parametri, il server di gioco deve segnalare diversi stati ad Amazon GameLift Servers. Verificare che Local registri gli eventi correlati alle operazioni seguenti. Potresti anche voler utilizzare il per AWS CLI tenere traccia delle modifiche allo stato.
   + **Il giocatore si disconnette da una sessione di gioco**: i messaggi di registro Amazon GameLift Servers locali dovrebbero mostrare che il server di gioco effettua chiamate`RemovePlayerSession()`. Le chiamate AWS CLI a `DescribePlayerSessions()` riflettono una modifica dello stato da `Active` a `Completed`. È inoltre possibile chiamare `DescribeGameSessions()` per verificare che il numero di giocatori della sessione di gioco corrente diminuisce di uno.
   + **Fine della sessione di gioco**: i messaggi di registro Amazon GameLift Servers locali dovrebbero mostrare che il server di gioco effettua chiamate`TerminateGameSession()`. 
**Nota**  
La guida precedente era quella di chiamare al `TerminateGameSession()` termine di una sessione di gioco. Questo metodo è obsoleto con Amazon GameLift Servers Server SDK v4.0.1. Consultare [Termina una sessione di gioco](gamelift-sdk-server-api.md#gamelift-sdk-server-shutdownsession). 
   + **Il processo del server è terminato**: i messaggi di registro Amazon GameLift Servers locali dovrebbero mostrare che il server di gioco effettua chiamate. `ProcessEnding()` Una AWS CLI chiamata a `DescribeGameSessions()` dovrebbe riflettere una modifica dello stato da `Active` a `Terminated` (o`Terminating`).

## Varianti con locale
<a name="integration-testing-local-special"></a>

Quando si utilizza Amazon GameLift Servers Local, è necessario ricordare quanto segue:
+ A differenza del servizio Web Amazon GameLift Servers, Local non monitora lo stato di integrità dei server e avvia il callback `onProcessTerminate`. Local interrompe semplicemente la registrazione dei rapporti sullo stato per il server di gioco.
+ Per le chiamate all' AWS SDK, la flotta non IDs viene convalidata e può essere qualsiasi valore di stringa che soddisfi i requisiti del parametro ()`^fleet-\S+`.
+ Le sessioni di gioco IDs create con Local hanno una struttura diversa. Includono la stringa `local`, come mostrato qui:

  ```
  arn:aws:gamelift:local::gamesession/fleet-123/gsess-56961f8e-db9c-4173-97e7-270b82f0daa6
  ```

# Debug dei problemi del parco istanze di Amazon GameLift Servers
<a name="fleets-creating-debug"></a>

Questo argomento fornisce indicazioni su come risolvere i problemi relativi alle EC2 flotte Amazon GameLift Servers gestite. 

## Problemi di creazione del parco istanze
<a name="fleets-creating-debug-creation"></a>

Quando crei una EC2 flotta gestita, il Amazon GameLift Servers servizio avvia un flusso di lavoro che crea la flotta, distribuisce EC2 istanze con la build del server di gioco installata e avvia i processi del server di gioco su ciascuna istanza. Per una descrizione dettagliata, consulta. Una flotta non può ospitare sessioni di gioco e giocatori finché non raggiunge lo stato **Attivo**. 

Puoi eseguire il debug dei problemi che impediscono alle flotte di diventare attive identificando la fase di creazione della flotta in cui si è verificato il problema ed esaminando gli eventi e i registri di creazione della flotta. Se i registri non offrono informazioni utili, è possibile che il problema sia dovuto a un errore interno del servizio. In questa situazione, prova a creare nuovamente la flotta. Se il problema persiste, prova a caricare nuovamente la build del gioco (per risolvere il possibile danneggiamento del file). Puoi anche contattare il supporto Amazon GameLift Servers o pubblicare una domanda nel forum. 

**Scaricamento e convalida della build**  
Durante questa fase, Amazon GameLift Servers ottiene la build del server di gioco caricata, estrae i file ed esegue gli eventuali script di installazione. Se la creazione della flotta fallisce durante queste fasi, consulta gli eventi e i registri della flotta per individuare il problema. Tra le cause possibili sono incluse:   
+ Amazon GameLift Serversnon riesco a ottenere il file di build compresso (evento). `FLEET_BINARY_DOWNLOAD_FAILED` Verifica che sia possibile accedere alla posizione di archiviazione della build, che tu stia creando una flotta nella Regione AWS stessa della build e che Amazon GameLift Servers disponga delle autorizzazioni corrette per accedervi. 
+ Amazon GameLift Serversnon riesco a estrarre i file di build (evento`FLEET_CREATION_EXTRACTING_BUILD`). 
+ Uno script di installazione nei file di build non è stato completato correttamente (evento`FLEET_CREATION_FAILED_INSTALLER`). 

**Costruire risorse per la flotta**  
I problemi durante questa fase di solito riguardano l'allocazione e l'impiego delle risorse della flotta. Tra le cause possibili sono incluse:   
+ Il tipo di istanza richiesto non è disponibile.
+ Il tipo di parco veicoli richiesto (Spot o On-Demand) non è disponibile.

**Attivazione dei processi del server di gioco**  
Durante questa fase, Amazon GameLift Servers sta tentando una serie di attività e testando elementi chiave, tra cui la fattibilità del server di gioco, le impostazioni di configurazione del runtime e la capacità del server di gioco di connettersi al Amazon GameLift Servers servizio tramite Server SDK.   
In questa fase, puoi accedere in remoto a un'istanza del parco istanze per esaminare ulteriormente i problemi. Per informazioni, consulta [Connect a flotte di istanze](fleets-remote-access.md).
I problemi possibili includono:   
+ I processi del server non iniziano a funzionare. Ciò suggerisce un problema con le impostazioni di configurazione del runtime del parco macchine (eventi `FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND` o`FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE`. Verifica di aver impostato correttamente il percorso di lancio e i parametri di lancio opzionali.
+ I processi del server iniziano a funzionare, ma la flotta non riesce ad attivarsi. Se i processi del server vengono avviati ed eseguiti correttamente, ma il parco macchine non passa allo stato **Attivo**, è probabile che il processo del server non riesca a comunicare con il Amazon GameLift Servers servizio. Verifica che il server di gioco stia effettuando le chiamate SDK del server corrette (vedi[Inizializza il processo del server](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize)): 
  + Il processo del server non riesce a inizializzare (evento`SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT`). Il processo server non sta chiamando `InitSdk()` correttamente.
  + Il processo del server non riesce a notificare Amazon GameLift Servers quando è pronto per ospitare una sessione di gioco (evento`SERVER_PROCESS_PROCESS_READY_TIMEOUT`). Il processo del server è stato inizializzato ma la chiamata non è stata effettuata `ProcessReady()` in tempo.
+ Una richiesta di connessione peering VPC non è riuscita. Per i parchi istanze creati con una connessione peering VPC (consulta [Per configurare il peering VPC con un nuovo parco istanze](vpc-peering.md#fleets-creating-aws-cli-vpc)), la connessione peering VPC viene effettuata durante la fase **Activating (In fase di attivazione)**. Se una connessione peering VPC non riesce per qualsiasi motivo, il nuovo parco istanze non potrà passare allo stato **Active (Attivo)**. È possibile monitorare l'esito positivo o negativo della richiesta di peering chiamando. [describe-vpc-peering-connections](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-connections.html) Assicurati di verificare che esista un'autorizzazione di peering VPC valida ([describe-vpc-peering-authorizations](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-authorizations.html), poiché le autorizzazioni sono valide solo per 24 ore.

## Problemi dei processi del server
<a name="fleets-creating-debug-processes"></a>

**I processi del server si avviano, ma si interrompono dopo breve tempo o sono poco stabili.**  
Oltre a problemi con la build del gioco, questo problema si può verificare quanto tenti di eseguire nell'istanza troppi processi del server contemporaneamente. Il numero ottimale di processi contemporanei dipende dal tipo di istanza e dai requisiti di risorse del server di gioco. Prova a ridurre il numero di processi contemporanei, impostati nella configurazione di runtime del parco istanze, per vedere se vi è un miglioramento delle prestazioni. Puoi modificare la configurazione di runtime di una flotta utilizzando la Amazon GameLift Servers console (modifica le impostazioni di allocazione della capacità del parco veicoli) o chiamando il comando. AWS CLI [update-runtime-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html)

## Problemi di eliminazione del parco istanze
<a name="fleets-creating-debug-deletion"></a>

**Non è possibile terminare il parco istanze a causa del conteggio istanze massimo.**  
Il messaggio di errore indica che il parco istanze in fase di eliminazione dispone ancora di istanze attive, situazione non consentita. È prima necessario ridimensionare il parco istanze a zero istanze attive. Questa operazione viene eseguita impostando manualmente il conteggio istanze desiderato del parco istanze su "0" e quindi attendendo che il dimensionamento abbia effetto. Assicurati di disattivare il ridimensionamento automatico, che neutralizzerà le impostazioni manuali. 

**Le azioni VPC non sono autorizzate.**  
Questo problema si applica solo alle flotte per le quali sono state create specificamente connessioni peering VPC (vedi. [Configurare il peering VPC per Amazon GameLift Servers](vpc-peering.md) Questo scenario si verifica perché il processo di eliminazione di una flotta include anche l'eliminazione del VPC della flotta e di eventuali connessioni peering VPC. È necessario prima ottenere un'autorizzazione chiamando l'API del servizio for Amazon GameLift Servers [ CreateVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html) o utilizzando il comando AWS CLI. `create-vpc-peering-authorization` Una volta ottenuta l'autorizzazione, è possibile eliminare il parco istanze.

# Accesso remoto alle risorse della flotta
<a name="remote-access-intro"></a>

Puoi connetterti a qualsiasi istanza delle tue flotte di container gestite o EC2 attiveAmazon GameLift Servers. Per le flotte di container, puoi anche connetterti a singoli contenitori in esecuzione su un'istanza per risolvere le sessioni di gioco, ispezionare i log ed eseguire il debug dei problemi di runtime. I motivi più comuni per accedere in remoto a un'istanza includono:
+ Risolvi i problemi relativi all'integrazione del server di gioco.
+ Perfeziona la configurazione di runtime e altre impostazioni specifiche del parco veicoli.
+ Monitora l'attività dei server di gioco in tempo reale, ad esempio il tracciamento dei log.
+ Esegui strumenti di benchmarking utilizzando il traffico effettivo dei giocatori.
+ Esamina problemi specifici relativi a una sessione di gioco o a un processo del server.

Quando ti connetti a un'istanza, tieni presente quanto segue:
+ Puoi connetterti a qualsiasi istanza in un parco istanze attivo. In genere, non è possibile connettersi a flotte non attive, ad esempio flotte in fase di attivazione o in stato di errore. (Queste flotte potrebbero avere una disponibilità limitata per un breve periodo di tempo.) Per assistenza con i problemi di attivazione della flotta, consulta[Debug dei problemi del parco istanze di Amazon GameLift Servers](fleets-creating-debug.md).
+ La connessione a un'istanza attiva non influisce sull'attività di hosting dell'istanza. L'istanza continua ad avviare e arrestare i processi del server in base alla configurazione di runtime. Attiva ed esegue sessioni di gioco. L'istanza potrebbe chiudersi in risposta a un evento di ridimensionamento o a un altro evento.
+ Qualsiasi modifica apportata ai file o alle impostazioni sull'istanza potrebbe influire sulle sessioni di gioco attive dell'istanza e sui giocatori connessi.

# Connect a flotte di istanze
<a name="fleets-remote-access"></a>

Puoi connetterti in remoto a qualsiasi istanza EC2 Amazon GameLift Servers gestita attiva o gestita di una flotta di container per risolvere i problemi dei server di gioco, ispezionare i log ed eseguire il debug del comportamento di runtime. Connect tramite la Amazon GameLift Servers console o la AWS CLI.

## Accesso remoto tramite la console
<a name="fleets-remote-access-console"></a>

Puoi connetterti alle istanze del parco istanze direttamente dalla Amazon GameLift Servers console utilizzando Amazon EC2 Systems Manager (SSM). Questo metodo fornisce un accesso sicuro senza richiedere configurazioni o gestione delle credenziali aggiuntive. Per le flotte di container, dopo la connessione all'istanza, è possibile accedere ai singoli contenitori in esecuzione su di essa. Per ulteriori informazioni, consulta [Connect ai container](containers-remote-access.md).

1. **Nella Amazon GameLift Servers console, scegli **Managed EC2** o **Managed containers** dal pannello di navigazione, quindi Fleets.**

1. Scegli l'ID della flotta che contiene l'istanza a cui desideri accedere.

1. Nella pagina dei dettagli del parco istanze, scegli la scheda **Istanze** per visualizzare tutte le istanze di calcolo del parco istanze.

1. Seleziona l'istanza a cui desideri connetterti, quindi scegli **Connetti**. Viene visualizzata la finestra di dialogo Connetti all'istanza che fornisce informazioni sui dettagli della connessione e consente di visualizzare lo script che verrà utilizzato per connettersi all'istanza. Conferma selezionando nuovamente **Connect**.

1. Nella finestra di dialogo di connessione, scegli **Esegui** per creare una nuova sessione SSM. Il sistema autentica la sessione tramite AWS Key Management Service (AWS KMS) e apre un terminale nel browser.

**Nota**  
L'accesso remoto basato sulla console è disponibile per le flotte che eseguono la versione 5.x del server SDK. Per le flotte che eseguono versioni SDK precedenti, utilizzate il metodo AWS CLI descritto nella sezione seguente.

## Accesso remoto con la AWS CLI
<a name="fleets-remote-access-cli"></a>

Le seguenti istruzioni descrivono come connettersi in remoto a un'istanza utilizzando l'interfaccia a riga di AWS comando (CLI). [Puoi anche effettuare chiamate programmatiche utilizzando l' AWS SDK, come documentato nel riferimento all'API di servizio per. Amazon GameLift Servers](https://docs.aws.amazon.com/gamelift/latest/apireference/)

### Raccogli dati delle istanze
<a name="fleets-remote-access-getinfo"></a>

Per connetterti a un'istanza Amazon GameLift Servers gestita di un parco istanze EC2, hai bisogno delle seguenti informazioni: 
+ L'ID dell'istanza a cui desideri connetterti. È possibile utilizzare l'ID dell'istanza o l'ARN.
+ l'SDK del server per la Amazon GameLift Servers versione utilizzata sull'istanza. L'SDK del server è integrato con la build del gioco in esecuzione sull'istanza. 

Le seguenti istruzioni descrivono come completare queste attività utilizzando la AWS CLI. Devi conoscere l'ID della flotta per l'istanza a cui desideri connetterti.

1. **Ottieni il nome del computer.** Ottieni un elenco di tutti i computer attivi della flotta. [Calcola l'elenco](https://docs.aws.amazon.com/cli/latest/reference/gamelift/list-compute.html) delle chiamate con un Fleet ID o ARN. Per una flotta con una sola sede, specifica solo l'identificatore della flotta. Per una flotta con più sedi, specifica l'identificatore della flotta e una posizione. Con le flotte EC2 gestite, `list-compute` restituisce un elenco di istanze del parco istanze e la proprietà `ComputeName` è l'ID dell'istanza. Trova l'elaborazione a cui desideri accedere. 

   **Richiesta**

   ```
   aws gamelift list-compute \
     --fleet-id  fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
     --location sa-east-1
   ```

   **Risposta**

   ```
   {
     "ComputeList": [
       {
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "FleetArn": "arn:aws:gamelift:us-west-2::fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeName": "i-0abc12d3e45fa6b78",
         "IpAddress": "00.00.000.00",
         "DnsName": "b08444ki909kvqu6zpw3is24x5pyz4b6m05i3jbxvpk9craztu0lqrbbrbnbkks.uwp57060n1k6dnlnw49b78hg1rw4rcz7.us-west-2.amazongamelift.com",
         "ComputeStatus": "Active",
         "Location": "sa-east-1",
         "CreationTime": "2023-07-09T22:51:45.931000-07:00",
         "OperatingSystem": "AMAZON_LINUX_2023",
         "Type": "c4.large"
       }
     ]
   }
   ```

1. **Trova la versione SDK del server.** Per queste informazioni devi cercare la build implementata nella flotta. La versione Server SDK è una proprietà di compilazione.

   1. Chiama [describe-fleet-attributes](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-attributes.html)con un ID flotta o un ARN per ottenere l'ID di build e l'ARN della flotta.

   1. Chiama [describe-build](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-build.html) con l'ID di build o l'ARN per ottenere la versione SDK del server della build. 

      Esempio:

      **Richiesta**

   ```
   aws gamelift describe-fleet-attributes \
     --fleet-ids  fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa
   ```

   **Risposta**

   ```
   {
     "FleetAttributes": [
       {
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeType": "EC2",
         "BuildId": "build-3333cccc-44dd-55ee-66ff-00001111aa22",
         . . .
       }
     ]
   }
   ```

   **Richiesta**

   ```
   aws gamelift describe-build \
     --build-id build-3333cccc-44dd-55ee-66ff-00001111aa22
   ```

   **Risposta**

   ```
   "Build": {
     "BuildId": "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
     "Name": "My_Game_Server_Build_One",
     "OperatingSystem": "AMAZON_LINUX_2023",
     "ServerSdkVersion": "5.1.1",
     . . .
   }
   ```

## Connect a un'istanza (server SDK 5)
<a name="fleets-remote-access-connect-5"></a>

Se l'istanza a cui desideri connetterti esegue una build di gioco con server SDK versione 5.x, connettiti all'istanza utilizzando Amazon EC2 Systems Manager (SSM). Puoi accedere alle istanze remote in esecuzione su Windows o Linux. Per le flotte di container, dopo la connessione all'istanza, puoi accedere ai singoli container in esecuzione su di essa. Per ulteriori informazioni, consulta [Connect ai container](containers-remote-access.md).

**Prima di iniziare:**  
Completa i passaggi di configurazione SSM e installa il plug-in SSM sul tuo computer locale. Per ulteriori informazioni, consulta [Configurazione di SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html) e [Installazione del plug-in Session Manager per la AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) nella Guida per *l'utente di Amazon EC2* Systems Manager.

1. **Richiedere le credenziali di accesso all'istanza.** Chiama [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html)con l'ID della flotta e il nome di calcolo dell'istanza a cui desideri connetterti. Amazon GameLift Serversrestituisce un set di credenziali temporanee per accedere all'istanza. Esempio: 

   **Richiesta**

   ```
   aws gamelift get-compute-access \
   --compute-name i-11111111a222b333c \
   --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa
   --region us-west-2
   ```

   **Risposta**

   ```
   {
     "ComputeName": "i-11111111a222b333c",
     "Credentials": {
       "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
       "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
       "SessionToken": "AQoDYXdzEJr...<remainder of session token>"
     },
     "FleetArn": "arn:aws:gamelift:us-west-2::fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
     "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
   }
   ```

1. **Esporta le credenziali di accesso (opzionale).** È possibile esportare le credenziali in variabili di ambiente e utilizzarle per configurare la AWS CLI per l'utente predefinito. Per maggiori dettagli, consulta [Variabili di ambiente per configurare la AWS CLI nella Guida](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) per l' AWS Command Line Interface utente.

   ```
   export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
   export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token>
   ```

1. **Connect all'istanza fleet.** Avvia una sessione SSM con l'istanza a cui desideri connetterti. Includi la AWS regione o la posizione dell'istanza. Per ulteriori informazioni, tra cui come configurare SSM e il plug-in SSM, consulta [Avvio di una sessione (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli) nella Guida per l'utente di *Amazon EC2 Systems Manager*. 

   La richiesta di avvio della sessione utilizzerà automaticamente le credenziali acquisite nella fase 1. 

   ```
   aws ssm start-session \
   --target i-11111111a222b333c \
   --region us-west-2 \
   ```
**Nota**  
Se viene visualizzato un errore di accesso negato, è possibile che una variabile di `AWS_PROFILE` ambiente sia impostata AWS su un profilo, il che fa sì che AWS CLI utilizzi le credenziali errate per l'accesso remoto. Per risolvere, disattiva temporaneamente la variabile di ambiente`AWS_PROFILE`. In alternativa, è possibile creare un AWS profilo personalizzato per le credenziali di accesso remoto e aggiungere il parametro della riga di `--profile` comando alla richiesta`start-session`. 

## Connect a un'istanza (server SDK 4.x o precedente)
<a name="fleets-remote-access-connect"></a>

Se l'istanza a cui vuoi connetterti esegue una build di gioco con server SDK versione 4 o precedente, usa le seguenti istruzioni. Puoi connetterti a istanze che eseguono Windows o Linux. Connect a un'istanza Windows utilizzando un client RDP (Remote Desktop Protocol). Connect a un'istanza Linux utilizzando un client SSH. 

1. **Richiedere le credenziali di accesso all'istanza.** Se disponi di un ID di istanza, usa il comando [get-instance-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-instance-access.html)per richiedere le credenziali di accesso. Se la richiesta va a buon fine, Amazon GameLift Servers restituisce il sistema operativo, l'indirizzo IP e un insieme di credenziali (nome utente e chiave segreta) dell'istanza. Il formato delle credenziali dipende dal sistema operativo dell'istanza. Utilizzare le istruzioni seguenti per recuperare le credenziali per RDP o SSH. 
   + **Per le istanze Windows**: per connettersi a un'istanza Windows, RDP richiede un nome utente e una password. La richiesta `get-instance-access` restituisce tali valori come stringhe semplici, pertanto è possibile utilizzare i valori restituiti così come sono. Credenziali di esempio: 

     ```
     "Credentials": {
         "Secret": "aA1bBB2cCCd3EEE",
         "UserName": "gl-user-remote"
     }
     ```
   + **Per le istanze Linux**: per connettersi a un'istanza Linux, SSH richiede un nome utente e una chiave privata. Amazon GameLift Serversemette chiavi private RSA e le restituisce come una singola stringa, con il carattere newline (`\n`) che indica le interruzioni di riga. Per rendere utilizzabile la chiave privata, procedi nel seguente modo: (1) converti la stringa in un `.pem` file e (2) imposta le autorizzazioni per il nuovo file. Credenziali di esempio restituite: 

     ```
     "Credentials": {
         "Secret": "-----BEGIN RSA PRIVATE KEY-----nEXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/\nvBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QW\nZ/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1F\nG50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPW\noPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu\n/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1\nmb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2\nbahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD9\n81oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozR\noQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1\nYkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/x\np9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuws\nayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnU\nWA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUC\ngYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bH\noMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGs\nArq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy\nWBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1j\njjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDa\nNWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qS\nVRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=\n-----END RSA PRIVATE KEY-----",
         "UserName": "gl-user-remote"
     }
     ```

     Quando si utilizza la AWS CLI, è possibile generare automaticamente un `.pem` file includendo i parametri *--query* e *--output nella* richiesta. `get-instance-access` 

     Per impostare le autorizzazioni sul file `.pem`, eseguire il comando seguente:

     ```
     $ chmod 400 MyPrivateKey.pem
     ```

1. **Aprire una porta per la connessione remota.** È possibile accedere alle istanze delle Amazon GameLift Servers flotte tramite qualsiasi porta autorizzata nella configurazione del parco veicoli. È possibile visualizzare le impostazioni di porta del parco istanze tramite il comando [https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-port-settings.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-port-settings.html). 

   Come best practice, si consiglia di aprire le porte per l'accesso remoto solo quando necessario e di chiuderle al termine dell'operazione. Non puoi aggiornare le impostazioni delle porte dopo aver creato una flotta ma prima che sia attiva. Se rimani bloccato, ricrea la flotta con le impostazioni del porto aperte.

   Utilizzare il comando [https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-port-settings.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-port-settings.html) per aggiungere un'impostazione di porta per la connessione remota (ad esempio `22` per SSH o `3389` per RDP). Per il valore di intervallo IP, specificare gli indirizzi IP dei dispositivi che si intende utilizzare per la connessione (convertiti in formato CIDR). Esempio: 

   ```
   $ AWS gamelift update-fleet-port-settings
       --fleet-id  "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
       --inbound-permission-authorizations "FromPort=22,ToPort=22,IpRange=54.186.139.221/32,Protocol=TCP"
   ```

   L'esempio seguente apre la porta 3389 su una flotta di Windows

   ```
   $ AWS gamelift update-fleet-port-settings
   --fleet-id  "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
       --inbound-permission-authorizations "FromPort=3389,ToPort=3389,IpRange=54.186.139.221/32,Protocol=TCP"
   ```

1. **Aprire un client di connessione remota.** Utilizzare Desktop remoto per le istanze Windows o SSH per le istanze Linux. Connettersi all'istanza utilizzando l'indirizzo IP, l'impostazione di porta e le credenziali di accesso.

   Esempio SSH: 

   ```
   ssh -i MyPrivateKey.pem gl-user-remote@192.0.2.0
   ```

## Visualizza i file su istanze remote
<a name="fleets-remote-access-permissions"></a>

Una volta connesso a un'istanza del parco istanze, hai accesso utente e amministrativo completo. Ciò significa che hai anche la possibilità di causare errori o guasti con l'hosting dei giochi. Se l'istanza ospita giochi con giocatori attivi, potresti correre il rischio di interrompere le sessioni di gioco e far cadere i giocatori, oppure di interrompere i processi di chiusura del gioco, il che potrebbe causare errori nei dati e nei registri di gioco salvati.

Per le flotte di container, dopo l'accesso al container (vedi[Connect ai container](containers-remote-access.md)), le seguenti posizioni di file si applicano all'interno del filesystem del contenitore. Per le flotte EC2, queste posizioni di file si applicano direttamente all'istanza.

Cerca queste risorse su un'istanza di hosting:
+ **File della build di gioco.** Questi file sono la build del gioco su cui hai caricatoAmazon GameLift Servers. Includono uno o più file eseguibili, risorse e dipendenze del server di gioco. I file di build del gioco si trovano in una directory principale chiamata: `game` 
  + Su Windows: `c:\game`
  + In Linux: `/local/game`
+ **File di log del gioco.** Trova i file di registro generati dal tuo server di gioco nella directory `game` principale in qualsiasi percorso di directory che hai designato.
+ **Risorse di hosting di Amazon GameLift Servers.** La directory principale `Whitewater` contiene i file utilizzati dal Amazon GameLift Servers servizio per gestire l'attività di hosting dei giochi. Non modificate questi file per nessun motivo. 
+ **Configurazione di runtime.** Non accedete alla configurazione di runtime per le singole istanze. Per apportare modifiche a una proprietà di configurazione di runtime, aggiorna la configurazione di runtime della flotta (vedi il funzionamento dell' AWS SDK [UpdateRuntimeConfiguration](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateRuntimeConfiguration.html)o il AWS CLI [update-runtime-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html)).
+ **Dati sulla flotta.** Un file JSON contiene informazioni sulla flotta a cui appartiene l'istanza, utilizzabili dai processi del server in esecuzione sull'istanza. Il file JSON si trova nella seguente posizione:
  + Su Windows: `C:\GameMetadata\gamelift-metadata.json`
  + In Linux: `/local/gamemetadata/gamelift-metadata.json`
+ **Certificati TLS.** Se l'istanza fa parte di una flotta in cui è abilitata la generazione di certificati TLS, cerca i file di certificato, tra cui il certificato, la catena di certificati, la chiave privata e il certificato principale nella seguente posizione:
  + Su Windows: `c:\\GameMetadata\Certificates`
  + In Linux: `/local/gamemetadata/certificates/`

# Connect ai container
<a name="containers-remote-access"></a>

Per le flotte di Amazon GameLift Servers container, puoi accedere ai container dei server di gioco in esecuzione su un'istanza della flotta. Usa l'accesso ai container per risolvere i problemi delle sessioni di gioco, controllare i log ed eseguire il debug dei problemi di runtime.

## Connect a un container
<a name="containers-remote-access-connect"></a>

**Prima di iniziare:**  
Connect all'istanza fleet. Per istruzioni, consulta [Connect a flotte di istanze](fleets-remote-access.md).

Esegui il comando seguente per elencare i contenitori in esecuzione sull'istanza:

```
sudo docker ps
```

L'output elenca tutti i contenitori in esecuzione sull'istanza, inclusi i contenitori del server di gioco e Amazon GameLift Servers i contenitori interni. Cerca contenitori con l'immagine del tuo server di gioco per identificare i contenitori del server di gioco.

**Output di esempio:**

```
CONTAINER ID   IMAGE                  COMMAND                  CREATED      STATUS
b9676e9489f5   game-server-container  "/bin/sh -c ./$GAME_…"   2 days ago   Up 2 days
1d1c8443efe2   support-container      "/bin/sh -c ./$SUPPO…"   2 days ago   Up 2 days
```

Per connetterti a un contenitore del server di gioco, usa l'ID breve del contenitore nella `CONTAINER ID` colonna. Questo ti dà l'accesso completo in lettura e scrittura al filesystem del contenitore.

```
sudo docker exec -it container-short-id sh
```

## Connect a un container tramite la console
<a name="containers-remote-access-console"></a>

Puoi connetterti ai contenitori dei server di gioco dalla Amazon GameLift Servers console utilizzando Amazon EC2 Systems Manager (SSM). Questo metodo fornisce un accesso sicuro senza richiedere configurazioni o gestione delle credenziali aggiuntive. Puoi connetterti a un container dalla scheda **Computer** o dalla scheda **Sessioni di gioco** nella pagina dei dettagli della flotta.

1. Nella Amazon GameLift Servers console, scegli **Contenitori gestiti** dal pannello di navigazione, quindi **Fleets**.

1. Scegli l'ID della flotta che contiene il container o la sessione di gioco a cui desideri accedere.

1. Nella pagina dei dettagli della flotta, scegli una delle seguenti schede:
   + **Calcola**: elenca i container in circolazione nella flotta. Seleziona il contenitore a cui desideri connetterti.
   + **Sessioni di gioco**: elenca le sessioni di gioco per la flotta. Seleziona la sessione di gioco per connetterti al contenitore che la ospita.

1. Scegli **Connetti**. Copia il comando visualizzato per connetterti al contenitore, quindi scegli nuovamente **Connetti**.

1. Nella finestra di dialogo di connessione, scegli **Esegui** per creare una nuova sessione SSM. Il sistema autentica la sessione tramite AWS Key Management Service (AWS KMS) e apre un terminale nel browser.

1. Dopo esserti connesso all'istanza, incolla il comando docker dal passaggio 4 ed eseguilo sull'istanza per accedere al contenitore.

## Connect al container che ospita una sessione di gioco
<a name="containers-remote-access-game-session"></a>

Per connetterti al contenitore del server di gioco che ospita una sessione di gioco specifica, segui questi passaggi.

1. **Ottieni il nome del computer.** Chiama [describe-game-sessions](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-game-sessions.html)per ricevere il programma `ComputeName` per la sessione di gioco.

   **Richiesta**

   ```
   aws gamelift describe-game-sessions \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --game-session-id arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66cc
   ```

   **Risposta**

   ```
   {
     "GameSessions": [
       {
         "GameSessionId": "arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66cc",
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc",
         "Status": "ACTIVE",
         . . .
       }
     ]
   }
   ```

   Annota il `ComputeName` valore della risposta (ad esempio,`62c5ff7f7a9a445d84877074c80aeafc`).

1. **Ottieni l'accesso al calcolo e gli attributi del contenitore.** Chiama [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html)con l'ID della flotta e il nome del calcolo.

   La risposta include i seguenti campi:
   + `ContainerIdentifiers`— La `ContainerName` e `ContainerRuntimeId` per ogni contenitore.
   + `GameServerContainerGroupDefinitionArn`— L'ARN della definizione del gruppo di contenitori.
   + `Credentials`— Credenziali temporanee per la connessione all'istanza.

   **Richiesta**

   ```
   aws gamelift get-compute-access \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --compute-name 62c5ff7f7a9a445d84877074c80aeafc
   ```

   **Risposta**

   ```
   {
     "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc",
     "ContainerIdentifiers": [
       {
         "ContainerName": "game-server",
         "ContainerRuntimeId": "02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678"
       }
     ],
     "Credentials": {
       "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
       "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
       "SessionToken": "AQoDYXdzEJr...<remainder of session token>"
     },
     "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
     "GameServerContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup"
   }
   ```

1. **Collegati all'istanza.** Utilizza le credenziali del passaggio 2 per connetterti all'istanza della flotta. Per istruzioni dettagliate, vedi [Connect a flotte di istanze](fleets-remote-access.md).

1. **Trova il nome del contenitore del server di gioco.** Chiama [describe-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-container-group-definition.html)utilizzando il `GameServerContainerGroupDefinitionArn` metodo del passaggio 2 per identificare il nome del contenitore del server di gioco.

   **Richiesta**

   ```
   aws gamelift describe-container-group-definition \
       --name arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup
   ```

   **Risposta**

   ```
   {
     "ContainerGroupDefinition": {
       "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyGameServerGroup:3",
       "Name": "MyGameServerGroup",
       "ContainerGroupType": "GAME_SERVER",
       "GameServerContainerDefinition": {
         "ContainerName": "game-server",
         . . .
       },
       . . .
     }
   }
   ```

   Nota il `GameServerContainerDefinition.ContainerName` valore (ad esempio,`game-server`).

1. **Identifica l'ID di runtime del contenitore del server di gioco.** Utilizzando il nome del contenitore del server di gioco del passaggio precedente, trova la `ContainerIdentifiers` voce corrispondente nella `get-compute-access` risposta del passaggio 2. Annotare il valore `ContainerRuntimeId`.

1. **Connect al container.** Utilizzate il `ContainerRuntimeId` come ID del contenitore ed eseguite il seguente comando:

   ```
   sudo docker exec -it 02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678 sh
   ```