Integra il tuo gioco con Amazon GameLift - 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à.

Integra il tuo gioco con Amazon GameLift

Questa documentazione riguarda una funzionalità disponibile in anteprima pubblica. ed è soggetta a modifiche.

Prima di poter creare un'immagine contenitore con il software del server di gioco e distribuirla su Amazon GameLift per l'hosting nel cloud, integra il tuo progetto di gioco con il GameLift server Amazon SDK e crea un server di gioco da eseguire su Linux. Questo argomento presenta i vari strumenti di integrazione GameLift forniti da Amazon.

I server di gioco ospitati devono essere in grado di comunicare con il GameLift servizio Amazon. Imposta la comunicazione aggiungendo il GameLift server Amazon SDK (versione 5+) al tuo progetto di gioco e modificando il codice del server del gioco. Amazon GameLift fornisce SDK risorse server e documentazione per supportare diverse lingue e motori di gioco.

Il processo di integrazione per i server di gioco containerizzati è praticamente identico all'integrazione dei server di gioco per l'hosting su flotte gestite o EC2 Amazon. GameLift Anywhere

Strumenti di integrazione

Amazon GameLift fornisce i seguenti strumenti e supporto linguistico per l'integrazione:

Per gli sviluppatori di Unreal Engine

Usa il plugin leggero per Unreal. Questo plugin include le SDK librerie server C++ con le GameLift funzionalità Amazon richieste. Usa la documentazione per configurare il tuo progetto di gioco Unreal per il plug-in e aggiorna il codice di gioco con i blocchi di codice forniti per aggiungere le funzionalità richieste per le build di server e client.

Nota: il plug-in GameLift standalone Amazon per Unreal Engine non supporta l'uso di flotte di container.

Per gli sviluppatori di Unity

Usa il plugin leggero per Unity. Questo plugin include le SDK librerie server C# con le GameLift funzionalità Amazon richieste. Usa la documentazione per configurare il tuo progetto di gioco Unreal per il plug-in e aggiorna il codice di gioco con i blocchi di codice forniti per aggiungere le funzionalità richieste per le build di server e client.

Nota: il plug-in GameLift standalone Amazon per Unity non supporta l'uso di flotte di container.

Per sviluppatori che utilizzano altri motori di gioco

Segui questa guida generale all'integrazione di server e client:

Amazon GameLift offre librerie server SDK 5 per le seguenti lingue:

Crea il tuo server di gioco per Linux

Le flotte di GameLift container Amazon supportano server di gioco eseguiti su una piattaforma Linux. Ecco alcuni suggerimenti per creare un server di gioco per un target Linux:

  • Se stai sviluppando il tuo gioco con il motore di gioco Unity, l'editor di gioco fornisce supporto integrato senza requisiti speciali per la creazione per Linux.

  • Se stai sviluppando il tuo gioco in C++, devi includere le SSL librerie Open per Linux quando crei il GameLift server Amazon SDK per C++ e quando crei il tuo server di gioco. Includi anche le stesse librerie nell'immagine del contenitore del server di gioco.

  • Se stai sviluppando il tuo gioco con Unreal Engine su Windows, prendi in considerazione queste opzioni:

    • Collabora con Unreal Engine per configurare una catena di strumenti di compilazione incrociata.

    • Configura uno spazio di lavoro Linux separato o usa uno strumento come il sottosistema Windows per Linux (). WSL Puoi usare questo ambiente per eseguire l'Unreal Editor su Linux per creare il tuo server di gioco.

Testa la tua integrazione localmente

Puoi testare l'integrazione del gioco a livello locale utilizzando una GameLift Anywhere flotta Amazon. Questo approccio è una best practice per aiutare a isolare i problemi direttamente correlati all'integrazione. Una Anywhere flotta è uno strumento utile per eseguire app di test e scenari di gioco, ad esempio avviare/interrompere sessioni di gioco e tracciare le connessioni dei giocatori. Puoi creare e testare in modo iterativo molto più velocemente con una Anywhere flotta, che offre una maggiore visibilità sulle attività di hosting.

Consulta Configura test locali con Amazon GameLift Anywhere la pagina per ricevere assistenza sull'utilizzo di una GameLift Anywhere flotta Amazon per i test di integrazione. Il flusso di lavoro per la configurazione di un ambiente di test è simile al seguente:

  1. Configura un dispositivo locale su cui è in esecuzione Linux.

  2. Configura una Anywhere flotta. Crea una posizione personalizzata per il tuo dispositivo locale, crea una Anywhere flotta e quindi registra il tuo dispositivo locale come computer nel parco macchine.

  3. Ottieni un token di autenticazione per il tuo server di gioco. Il processo server integrato richiede un token per l'autenticazione con il GameLift servizio Amazon. Puoi riutilizzare lo stesso token per più processi server eseguiti contemporaneamente. Questo passaggio è necessario solo quando si utilizza una Anywhere flotta per i test di integrazione.

    Nota

    I token di autenticazione sono temporanei e devono essere aggiornati regolarmente. Prendi in considerazione l'aggiunta di uno script al pacchetto di build del server per richiedere un nuovo token.

  4. Aggiorna il codice del server di gioco perAnywhere. Quando è in esecuzione su una flotta Anywhere, il server di gioco deve richiamare l'SDKazione del server InitSdk() (C++) (C#) (Unreal) con i seguenti parametri del server. Questo passaggio è necessario solo quando si utilizza una Anywhere flotta per i test di integrazione. Dopo aver aggiunto Amazon GameLift Agent all'immagine del contenitore, questi parametri vengono gestiti automaticamente.

    Come best practice, configura il codice del server in modo che estragga questi valori dalle variabili di ambiente o dagli argomenti della console specificati all'avvio.

    • webSocketUrl— Utilizza il valore diGameLiftServiceSdkEndpoint, che viene restituito dalla chiamata aregister-compute.

    • processId— Assegna un identificatore univoco per il processo del server.

    • fleetId— L'identificatore della flotta Anywhere, che viene restituito dalla chiamata a. create-fleet

    • authToken— Un token di autenticazione valido, che viene restituito dalla chiamata aget-compute-auth-token.

  5. Sul computer locale, configura il server di gioco, crea il software e avvia un processo server.

    Se l'integrazione del server ha esito positivo, il processo server richiama l'SDKazione del server InitSDK() per stabilire la connessione con il GameLift servizio Amazon, seguita da una chiamata ProcessReady() per notificare al servizio che è pronto per ospitare una sessione di gioco.

  6. Inizia una sessione di gioco. Se hai integrato il client di gioco per richiedere una sessione di gioco, puoi utilizzarlo per richiedere una nuova sessione di gioco. In caso contrario, usa il AWS CLI comando create-game-session. Amazon GameLift crea un GameSession oggetto e avvia il processo per avviare una nuova sessione di gioco.

    Se la tua integrazione funziona, Amazon GameLift chiama un processo server sulla tua workstation locale per avviare una nuova sessione di gioco (usando il onStartGameSession() callback). Quando una sessione di gioco è pronta per i giocatori, il processo del server chiama. ActivateGameSession() In risposta, Amazon GameLift aggiorna le informazioni GameSession sullo stato e sulla connessione in modo che un client di gioco possa connettersi alla sessione di gioco e giocare.