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

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 (Realtime Servers)

Puoi acquisire messaggi server personalizzati dai tuoi server Realtime in file di registro. Per ulteriori informazioni sulla registrazione per server personalizzati, consulta. Messaggi del server di registrazione (server personalizzati)

Esistono diversi tipi di messaggi che puoi inviare ai tuoi file di registro (vedi). Registrazione dei messaggi nello script del server Oltre ai messaggi personalizzati, i server Realtime emettono messaggi di sistema utilizzando gli stessi tipi di messaggi e scrivono negli stessi file di registro. Puoi regolare il livello di registrazione del tuo parco veicoli per ridurre la quantità di messaggi di registrazione generati dai server (vedi). Regolazione del livello di registrazione

Importante

Esiste un limite alla dimensione di un file di registro per sessione di gioco (vedi GameLift Endpoints e quote Amazon nella Riferimenti generali di AWS). Al termine di una sessione di gioco, Amazon GameLift carica i log del server su Amazon Simple Storage Service (Amazon S3). Amazon non GameLift 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.

Registrazione dei messaggi nello script del server

Puoi inviare messaggi personalizzati nello script per i tuoi server in tempo reale. Utilizza i seguenti passaggi per inviare messaggi del server a un file di registro:

  1. Create una variabile per contenere il riferimento all'oggetto logger.

    var logger;
  2. Nella init() funzione, recupera il logger dall'oggetto di sessione e assegnalo alla variabile logger.

    function init(rtSession) { session = rtSession; logger = session.getLogger(); }
  3. Chiama la funzione appropriata sul logger per emettere un messaggio.

    Messaggi di debug

    logger.debug("This is my debug message...");

    Messaggi informativi

    logger.info("This is my info message...");

    Messaggi di avviso

    logger.warn("This is my warn message...");

    Messaggi di errore

    logger.error("This is my error message...");

    Messaggi di errore irreversibili

    logger.fatal("This is my fatal error message...");

    Il cliente riceve messaggi di errore irreversibili

    logger.cxfatal("This is my customer experience fatal error message...");

Per un esempio delle istruzioni di registrazione in uno script, vedere. Esempio di script Realtime Servers

L'output nei file di registro indica il tipo di messaggio (DEBUG,,INFO,WARN,ERROR,CXFATAL)FATAL, come illustrato nelle righe seguenti di un registro di esempio:

09 Sep 2021 11:46:32,970 [INFO] (gamelift.js) 215: Calling GameLiftServerAPI.InitSDK...
09 Sep 2021 11:46:32,993 [INFO] (gamelift.js) 220: GameLiftServerAPI.InitSDK succeeded
09 Sep 2021 11:46:32,993 [INFO] (gamelift.js) 223: Waiting for Realtime server to start...
09 Sep 2021 11:46:33,15 [WARN] (index.js) 204: Connection is INSECURE. Messages will be sent/received as plaintext.

Accesso ai log del server

Al termine di una sessione di gioco, Amazon archivia GameLift automaticamente i log in Amazon S3 e li conserva per 14 giorni. Puoi utilizzare la chiamata GetGameSessionLogUrl API per ottenere la posizione dei log di una sessione di gioco. Utilizza l'URL restituito dalla chiamata API per scaricare i log.

Regolazione del livello di registrazione

I registri possono crescere molto rapidamente e superare il limite di dimensione. È necessario monitorare i log e limitare l'output dei log ai soli messaggi necessari. Per i server in tempo reale, puoi regolare il livello di registrazione fornendo un parametro nella configurazione di runtime del tuo parco macchine nel modulologgingLevel:LOGGING_LEVEL, dove LOGGING_LEVEL è presente uno dei seguenti valori:

  1. debug

  2. info(impostazione predefinita)

  3. warn

  4. error

  5. fatal

  6. cxfatal

Questo elenco è ordinato dal meno grave (debug) al più grave (cxfatal). Se ne loggingLevel imposti uno, il server registrerà solo i messaggi con quel livello di gravità o un livello di gravità superiore. Ad esempio, l'impostazione loggingLevel:error farà in modo che tutti i server del parco utenti error scrivano e cxfatal inviino solo messaggi nel registro. fatal

Puoi impostare il livello di registrazione per la tua flotta al momento della creazione o dopo l'esecuzione. La modifica del livello di registrazione della flotta dopo l'avvio avrà effetto solo sui registri delle sessioni di gioco create dopo l'aggiornamento. I registri di tutte le sessioni di gioco esistenti non verranno modificati. Se non imposti un livello di registrazione quando crei la tua flotta, i server imposteranno il livello di registrazione come predefinito. info Consulta le seguenti sezioni per istruzioni su come impostare il livello di registrazione.

Impostazione del livello di registrazione durante la creazione di una flotta di server in tempo reale (console)

Segui le istruzioni riportate Crea una flotta GameLift gestita da Amazon per creare la tua flotta, con la seguente aggiunta:

  • Nella sottofase di allocazione del processo Server della fase Gestione del processo, fornisci la coppia chiave-valore del livello di registrazione (ad esempiologgingLevel:error) come valore per i parametri di Launch. Utilizzate un carattere non alfanumerico (eccetto la virgola) per separare il livello di registrazione da eventuali parametri aggiuntivi (ad esempio,). loggingLevel:error +map Winter444

Impostazione del livello di registrazione durante la creazione di una flotta di server in tempo reale () AWS CLI

Segui le istruzioni riportate Crea una flotta GameLift gestita da Amazon per creare la tua flotta, con la seguente aggiunta:

  • Nell'argomento relativo al --runtime-configuration parametro forcreate-fleet, fornite la coppia chiave-valore del livello di registrazione (ad esempiologgingLevel:error) come valore per. Parameters Utilizzate un carattere non alfanumerico (eccetto la virgola) per separare il livello di registrazione da eventuali parametri aggiuntivi. Fai riferimento al file di esempio seguente:

--runtime-configuration "GameSessionActivationTimeoutSeconds=60, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=/local/game/myRealtimeLaunchScript.js, Parameters=loggingLevel:error +map Winter444, ConcurrentExecutions=10}]"
Impostazione del livello di registrazione per una flotta di server Realtime in esecuzione (console)

Segui le istruzioni riportate Aggiornare la configurazione di una flotta per aggiornare la tua flotta utilizzando la GameLift console Amazon, con la seguente aggiunta:

  • Nella pagina Modifica flotta, in Allocazione dei processi del server, fornisci la coppia chiave-valore del livello di registrazione (ad esempiologgingLevel:error) come valore per i parametri di Launch. Utilizza un carattere non alfanumerico (eccetto la virgola) per separare il livello di registrazione da eventuali parametri aggiuntivi (ad esempio,). loggingLevel:error +map Winter444

Impostazione del livello di registrazione per una flotta di server Realtime in esecuzione () AWS CLI

Segui le istruzioni riportate Aggiornare la configurazione di una flotta per aggiornare la tua flotta utilizzandoAWS CLI, con la seguente aggiunta:

  • Nell'argomento relativo al --runtime-configuration parametro forupdate-runtime-configuration, fornite la coppia chiave-valore del livello di registrazione (ad esempiologgingLevel:error) come valore per. Parameters Utilizzate un carattere non alfanumerico (eccetto la virgola) per separare il livello di registrazione da eventuali parametri aggiuntivi. Fai riferimento al file di esempio seguente:

--runtime-configuration "GameSessionActivationTimeoutSeconds=60, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=/local/game/myRealtimeLaunchScript.js, Parameters=loggingLevel:error +map Winter444, ConcurrentExecutions=10}]"