Plugin per Unreal: distribuisci il gioco su flotte gestite EC2 - 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à.

Plugin per Unreal: distribuisci il gioco su flotte gestite EC2

In questo flusso di lavoro, utilizzi il plug-in per modificare il gioco per l'hosting su risorse di elaborazione basate su cloud gestite da Amazon. GameLift Aggiungi il codice di gioco client e server per le GameLift funzionalità di Amazon, quindi carica la build del server sul GameLift servizio Amazon per la distribuzione nelle risorse basate sul cloud. Una volta completato questo flusso di lavoro, avrai un client di gioco funzionante in grado di connettersi ai tuoi server di gioco nel cloud.

Per avviare il EC2 flusso di lavoro Amazon GameLift gestito da Amazon:
  • Nella barra degli strumenti principale dell'editor Unreal, scegli il GameLift menu Amazon e seleziona Host with Managed. EC2 Questa azione apre la pagina del plug-in Deploy Amazon EC2 Fleet, che presenta un processo in sei fasi per integrare, creare, distribuire e avviare i componenti del gioco.

Passaggio 1: imposta il tuo profilo

Scegli il profilo che desideri utilizzare quando segui questo flusso di lavoro. Il profilo selezionato influisce su tutte le fasi del flusso di lavoro. Tutte le risorse create sono associate all' AWS account del profilo e collocate nella AWS regione predefinita del profilo. Le autorizzazioni dell'utente del profilo determinano l'accesso alle AWS risorse e alle azioni.

  1. Seleziona un profilo dall'elenco a discesa dei profili disponibili. Se non hai ancora un profilo o desideri crearne uno nuovo, vai al GameLift menu Amazon e scegli Imposta profili AWS utente.

  2. Se lo stato di bootstrap non è «Attivo», scegli il profilo Bootstrap e attendi che lo stato passi a «Attivo».

Passaggio 2: configura il codice del gioco

In questo passaggio, apporti una serie di aggiornamenti al codice del client e del server per aggiungere funzionalità di hosting. Se non hai ancora configurato una versione sorgente dell'editor Unreal, il plugin fornisce collegamenti alle istruzioni e al codice sorgente.

Se hai integrato il gioco per utilizzarlo con una flotta Anywhere, non devi apportare alcuna modifica al codice del gioco. Se utilizzi la mappa di gioco di avvio, questa funzionalità funziona anche con EC2 le distribuzioni.

Dopo aver creato il tuo server di gioco, completa le seguenti attività per prepararlo per il caricamento su Amazon GameLift.

Per impacchettare il tuo server, crea un pacchetto per la distribuzione su cloud

Nella WindowsServer cartella, in cui l'editor Unreal impacchetta i file di build del server per impostazione predefinita, apporta le seguenti aggiunte

  1. Copia lo script di installazione, incluso nel download del plugin, nella radice della WindowsServer cartella. Cerca il file[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat. Amazon GameLift utilizza questo file per installare la build del server su ogni risorsa EC2 di hosting.

  2. Copia il VC_redist.x64.exe file, incluso nell'installazione di Visual Studio, nella radice della WindowsServer cartella. Questo file si trova in genere inC:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142.

  3. Copia il file Open SSL DLLs per il tuo server di gioco nella cartellaWindowsServer/MyGame/Binaries/Win64. Assicurati che DLLs corrispondano alla stessa versione utilizzata nella build del server. Copia i seguenti file:

    • libssl-3-x64.dll

    • libcrypto-3-x64.dll

Fase 3: Seleziona lo scenario di implementazione

In questo passaggio, scegli la soluzione di hosting del gioco che desideri implementare in questo momento. Puoi avere più distribuzioni del gioco, utilizzando uno qualsiasi degli scenari.

  • Flotta a regione singola: distribuisce il server di gioco su un'unica flotta di risorse di hosting nella regione predefinita del profilo attivo. AWS Questo scenario è un buon punto di partenza per testare l'integrazione del server AWS e la configurazione della build del server. Implementa le seguenti risorse:

    • AWS fleet (On-Demand) con la build del server di gioco installata e funzionante.

    • Pool di utenti e client Amazon Cognito per consentire ai giocatori di autenticarsi e iniziare una partita.

    • APIgateway authorizer che collega il pool di utenti con. APIs

    • W ebACl per limitare le chiamate eccessive dei giocatori al gateway. API

    • APIgateway + funzione Lambda per consentire ai giocatori di richiedere uno slot di gioco. Questa funzione chiama CreateGameSession() se non ce ne sono disponibili.

    • APIgateway + funzione Lambda per consentire ai giocatori di ottenere informazioni di connessione per la loro richiesta di gioco.

  • FlexMatch fleet: distribuisce il tuo server di gioco su una serie di flotte e configura un FlexMatch matchmaker con le regole per creare partite tra giocatori. Questo scenario utilizza un hosting Spot a basso costo con una struttura multi-flotta e più sedi per una disponibilità duratura. Questo approccio è utile quando sei pronto per iniziare a progettare un componente matchmaker per la tua soluzione di hosting. In questo scenario, creerai le risorse di base per questa soluzione, che potrai personalizzare in seguito, se necessario. Implementa le seguenti risorse:

    • FlexMatch configurazione del matchmaking e regole di matchmaking impostate per accettare le richieste dei giocatori e formare partite.

    • Tre AWS flotte con la configurazione del server di gioco installata e funzionante in più località. Include due flotte Spot e una flotta On-Demand come backup.

    • AWS coda per il posizionamento delle sessioni di gioco che soddisfa le richieste di partite proposte trovando la migliore risorsa di hosting possibile (in base a fattibilità, costo, latenza dei giocatori, ecc.) e avviando una sessione di gioco.

    • Pool di utenti e client Amazon Cognito per consentire ai giocatori di autenticarsi e iniziare una partita.

    • APIgateway authorizer che collega il pool di utenti con. APIs

    • W ebACl per limitare le chiamate eccessive dei giocatori al gateway. API

    • APIgateway + funzione Lambda per consentire ai giocatori di richiedere uno slot di gioco. Questa funzione chiamaStartMatchmaking().

    • APIgateway + funzione Lambda per consentire ai giocatori di ottenere informazioni di connessione per la loro richiesta di gioco.

    • Tabelle Amazon DynamoDB per archiviare i ticket di matchmaking per i giocatori e le informazioni sulle sessioni di gioco.

    • SNStopic + Funzione Lambda per gestire gli eventi. GameSessionQueue

Fase 4: Imposta i parametri di gioco

In questo passaggio, descrivi il gioco su cui caricarlo AWS;

  • Nome della build del server: fornisci un nome significativo per la build del server di gioco. AWS usa questo nome per fare riferimento alla copia della build del server che viene caricata e utilizzata per le distribuzioni.

  • Sistema operativo basato su server: inserisci il sistema operativo su cui è costruito il server. Indica il AWS tipo di risorse di calcolo da utilizzare per ospitare il gioco.

  • Cartella del server di gioco: identifica il percorso della cartella di build del server locale.

  • Build del server di gioco: identifica il percorso dell'eseguibile del server di gioco.

  • Percorso del client di gioco: identifica il percorso dell'eseguibile del client di gioco.

  • Output della configurazione del client: questo campo deve puntare a una cartella nella build del client che contiene la AWS configurazione. Cercalo nella seguente posizione:[client-build]/[project-name]/Content/CloudFormation.

Fase 5: Implementazione dello scenario

In questo passaggio, distribuisci il gioco su una soluzione di hosting cloud in base allo scenario di distribuzione scelto. Questo processo può richiedere diversi minuti per AWS la convalida della build del server, il provisioning delle risorse di hosting, l'installazione del server di gioco, l'avvio dei processi del server e la preparazione per ospitare sessioni di gioco.

Per iniziare la distribuzione, scegli Deploy. CloudFormation Puoi monitorare lo stato del tuo hosting di giochi qui. Per informazioni più dettagliate, puoi accedere alla console di AWS gestione AWS e visualizzare le notifiche degli eventi. Assicurati di accedere utilizzando lo stesso account, utente e AWS regione del profilo utente attivo nel plug-in.

Una volta completata la distribuzione, il server di gioco è installato su un' AWS EC2istanza. Almeno un processo del server è in esecuzione ed è pronto per iniziare una sessione di gioco.

Passaggio 6: Avvia il client

A questo punto, hai completato tutte le attività necessarie per avviare e giocare al gioco multiplayer ospitato su Amazon GameLift. Per giocare, avvia un'istanza del tuo client di gioco.

Se hai implementato lo scenario a flotta singola, puoi aprire una singola istanza client con un giocatore, accedere alla mappa del server e spostarti. Apri istanze aggiuntive del client di gioco per aggiungere un secondo giocatore alla stessa mappa di gioco del server.

Se hai implementato FlexMatch lo scenario, la soluzione attende che almeno due client vengano messi in coda per il posizionamento della sessione di gioco prima che i giocatori possano accedere alla mappa del server.