Messaggi del server di registrazione (server personalizzati) - Amazon GameLift Servers

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

Messaggi del server di registrazione (server personalizzati)

È possibile acquisire messaggi server personalizzati dai server Amazon GameLift Servers personalizzati in file di registro. Per ulteriori informazioni sulla registrazione di Amazon GameLift ServersRealtime, consultaMessaggi del server di registrazione () Amazon GameLift ServersRealtime.

Importante

C'è un limite alla dimensione di un file di registro per sessione di gioco (vedi Amazon GameLift Serversendpoint e quote in). Riferimenti generali di AWS Al termine di una sessione di gioco, Amazon GameLift Servers carica i log del server su Amazon Simple Storage Service (Amazon S3). Amazon GameLift Serversnon caricherà log che superano il limite. I log possono crescere molto rapidamente e superare il limite di dimensione. È necessario monitorare i log e limitare l'output dei log ai soli messaggi necessari.

Configurazione della registrazione per server personalizzati

Con i server Amazon GameLift Servers personalizzati, è possibile scrivere il proprio codice per eseguire la registrazione, che viene configurato come parte della configurazione del processo del server. Amazon GameLift Serversutilizza la tua configurazione di registrazione per identificare i file che deve caricare su Amazon S3 al termine di ogni sessione di gioco.

Le seguenti istruzioni mostrano come configurare la registrazione utilizzando esempi di codice semplificati:

C++
Per configurare la registrazione (C++)
  1. Crea un vettore di stringhe che siano percorsi di directory verso i file di registro del server di gioco.

    std::string serverLog("serverOut.log"); // Example server log file std::vector<std::string> logPaths; logPaths.push_back(serverLog);
  2. Fornisci il tuo vettore come immagine LogParametersdel tuo oggetto. ProcessParameters

    Aws::GameLift::Server::ProcessParameters processReadyParameter = Aws::GameLift::Server::ProcessParameters( std::bind(&Server::onStartGameSession, this, std::placeholders::_1), std::bind(&Server::onProcessTerminate, this), std::bind(&Server::OnHealthCheck, this), std::bind(&Server::OnUpdateGameSession, this), listenPort, Aws::GameLift::Server::LogParameters(logPaths));
  3. Fornisci l'ProcessParametersoggetto quando chiami ProcessReady().

    Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::ProcessReady(processReadyParameter);

Per un esempio più completo, vediProcessReady().

C#
Per configurare la registrazione (C#)
  1. Crea un elenco di stringhe che sono percorsi di directory verso i file di registro del server di gioco.

    List<string> logPaths = new List<string>(); logPaths.Add("C:\\game\\serverOut.txt"); // Example of a log file that the game server writes
  2. Fornisci la tua lista come ProcessParametersoggetto. LogParameters

    var processReadyParameter = new ProcessParameters( this.OnGameSession, this.OnProcessTerminate, this.OnHealthCheck, this.OnGameSessionUpdate, port, new LogParameters(logPaths));
  3. Fornisci l'ProcessParametersoggetto quando chiami ProcessReady().

    var processReadyOutcome = GameLiftServerAPI.ProcessReady(processReadyParameter);

Per un esempio più completo, vediProcessReady().

Scrittura nei log

I file di registro esistono dopo l'avvio del processo del server. È possibile scrivere nei log utilizzando qualsiasi metodo di scrittura sui file. Per acquisire tutti gli output standard e gli output di errore del server, rimappa i flussi di output nei file di registro, come negli esempi seguenti:

C++
std::freopen("serverOut.log", "w+", stdout); std::freopen("serverErr.log", "w+", stderr);
C#
Console.SetOut(new StreamWriter("serverOut.txt")); Console.SetError(new StreamWriter("serverErr.txt"));

Accesso ai log del server

Al termine di una sessione di gioco, archivia Amazon GameLift Servers automaticamente i log in un bucket Amazon S3 e li conserva per 14 giorni. Per ottenere la posizione dei log di una sessione di gioco, puoi utilizzare l'operazione API. GetGameSessionLogUrl Per scaricare i log, utilizza l'URL restituito dall'operazione.