View a markdown version of this page

Integra GameLift Server Amazon con un progetto di server di gioco Unity - GameLift Server Amazon

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

Integra GameLift Server Amazon con un progetto di server di gioco Unity

Nota

Questo argomento fornisce informazioni per una versione precedente del Amazon GameLift Servers plug-in per Unity. La versione 1.x utilizza l'SDK del server per Amazon GameLift Servers 4.x o versioni precedenti. Per la documentazione sull'ultima versione del plug-in, che utilizza l'SDK 5.x del server e supporta funzionalità più recenti come Amazon GameLift Servers Anywhere e l'hosting di container gestito, consulta. GameLift Server Amazon plugin per Unity (server SDK 5.x)

Questo argomento ti aiuta a preparare il tuo server di gioco personalizzato per l'hosting su. Amazon GameLift Servers Il server di gioco deve essere in grado Amazon GameLift Servers di notificare il proprio stato, di avviare e interrompere le sessioni di gioco quando richiesto e di eseguire altre attività. Per ulteriori informazioni, consulta Add (Aggiungi) GameLift Server Amazon al tuo server di gioco con il server SDK.

Prerequisiti

Prima di integrare il tuo server di gioco, completa le seguenti attività:

Imposta un nuovo processo server

Nota

Questo argomento si riferisce al Amazon GameLift Servers plug-in per Unity versione 1.0.0, che utilizza server SDK 4.x o versioni precedenti.

Imposta la comunicazione con Amazon GameLift Servers e segnala che il processo del server è pronto per ospitare una sessione di gioco.

  1. Inizializza l'SDK del server chiamando. InitSDK()

  2. Per preparare il server ad accettare una sessione di gioco, chiama ProcessReady() con i dettagli della porta di connessione e del luogo della sessione di gioco. Includi i nomi delle funzioni di callback richiamate dal Amazon GameLift Servers servizio, ad esempioOnGameSession(),,OnGameSessionUpdate(),OnProcessTerminate(). OnHealthCheck() Amazon GameLift Serverspotrebbero essere necessari alcuni minuti per fornire una richiamata.

  3. Amazon GameLift Serversaggiorna lo stato del processo del server inACTIVE.

  4. Amazon GameLift Serverschiama onHealthCheck periodicamente.

Il seguente esempio di codice mostra come configurare un semplice processo server conAmazon GameLift Servers.

//initSDK var initSDKOutcome = GameLiftServerAPI.InitSDK(); //processReady // Set parameters and call ProcessReady var processParams = new ProcessParameters( this.OnGameSession, this.OnProcessTerminate, this.OnHealthCheck, this.OnGameSessionUpdate, port, // Examples of log and error files written by the game server new LogParameters(new List<string>() { "C:\\game\\logs", "C:\\game\\error" }) ); var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams); // Implement callback functions void OnGameSession(GameSession gameSession) { // game-specific tasks when starting a new game session, such as loading map // When ready to receive players var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession(); } void OnProcessTerminate() { // game-specific tasks required to gracefully shut down a game session, // such as notifying players, preserving game state data, and other cleanup var ProcessEndingOutcome = GameLiftServerAPI.ProcessEnding(); } bool OnHealthCheck() { bool isHealthy; // complete health evaluation within 60 seconds and set health return isHealthy; }

Inizia una sessione di gioco

Nota

Questo argomento si riferisce al Amazon GameLift Servers plug-in per Unity versione 1.0.0, che utilizza server SDK 4.x o versioni precedenti.

Una volta completata l'inizializzazione del gioco, puoi iniziare una sessione di gioco.

  1. Implementa la funzione di callback. onStartGameSession Amazon GameLift Serversrichiama questo metodo per iniziare una nuova sessione di gioco sul processo del server e ricevere le connessioni dei giocatori.

  2. Per attivare una sessione di gioco, chiamaActivateGameSession(). Per ulteriori informazioni sull'SDK, consultaSDK per server C# per Server Amazon GameLift 4.x -- Azioni.

Il seguente esempio di codice illustra come iniziare una sessione di gioco con. Amazon GameLift Servers

void OnStartGameSession(GameSession gameSession) { // game-specific tasks when starting a new game session, such as loading map ... // When ready to receive players var activateGameSessionOutcome = GameLiftServerAPI.ActivateGameSession(); }

Termina una sessione di gioco

Nota

Questo argomento si riferisce al Amazon GameLift Servers plug-in per Unity versione 1.0.0, che utilizza server SDK 4.x o versioni precedenti.

Notifica Amazon GameLift Servers quando una sessione di gioco sta per terminare. Come procedura consigliata, interrompi i processi del server al termine delle sessioni di gioco per riciclare e aggiornare le risorse di hosting.

  1. Imposta una funzione denominata onProcessTerminate per ricevere richieste Amazon GameLift Servers e chiamate. ProcessEnding()

  2. Lo stato del processo cambia inTERMINATED.

L'esempio seguente descrive come terminare un processo per una sessione di gioco.

var processEndingOutcome = GameLiftServerAPI.ProcessEnding(); if (processReadyOutcome.Success) Environment.Exit(0); // otherwise, exit with error code Environment.Exit(errorCode);

Crea un server, crea e carica su GameLift Server Amazon

Nota

Questo argomento si riferisce al Amazon GameLift Servers plug-in per Unity versione 1.0.0, che utilizza server SDK 4.x o versioni precedenti.

Dopo aver integrato il server di gioco conAmazon GameLift Servers, carica i file di build su un parco giochi in modo che Amazon GameLift Servers possa utilizzarli per l'hosting dei giochi. Per ulteriori informazioni su come caricare il server suAmazon GameLift Servers, consultaCrea un server di gioco costruito per GameLift Server Amazon.