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 tuo gioco su una flotta EC2 gestita
In questo flusso di lavoro, distribuisci il tuo gioco per l'hosting su risorse di calcolo basate su cloud gestite da. Amazon GameLift Servers Carica la build del server di gioco integrato nel servizio per la Amazon GameLift Servers distribuzione. Se non hai ancora integrato il codice di gioco, consultaPlugin per Unreal: integra il tuo codice di gioco. 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 iniziare GameLift Server Amazon flusso di lavoro Amazon EC2 gestito:
Nella barra degli strumenti principale dell'editor Unreal, scegli il Amazon GameLift Servers menu e seleziona Host with Managed EC2. Questa azione apre la pagina del plugin Deploy Amazon EC2 Fleet, che presenta un processo in sei fasi per integrare, creare, distribuire e lanciare i componenti del gioco.
Fase 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 sono collocate nella AWS regione predefinita del profilo. Le autorizzazioni dell'utente del profilo determinano l'accesso alle AWS risorse e alle azioni.
Per impostare un profilo utente
-
Seleziona un profilo dall'elenco a discesa dei profili disponibili. Se non hai ancora un profilo o vuoi crearne uno nuovo, vai al GameLift menu Amazon e scegli Imposta profili AWS utente.
-
Se lo stato di bootstrap non è «Attivo», scegli il profilo Bootstrap e attendi che lo stato cambi in «Attivo».
Passo 2: Imposta il codice del gioco
In questo passaggio, prepara le build del server di gioco e del client di gioco per funzionare con l'SDK del server Amazon GameLift Servers C++ per Unreal. Se non hai ancora integrato il codice di gioco e creato gli eseguibili per client e server di gioco, consulta. Plugin per Unreal: integra il tuo codice di gioco Inserisci i percorsi degli eseguibili di gioco sulla tua workstation locale.
In questa fase del flusso di lavoro, il plug-in fornisce collegamenti alle istruzioni e al codice sorgente per configurare una versione compilata come sorgente di Unreal Editor. È necessario utilizzare la versione originale quando si creano i componenti del client e del server.
Dopo aver creato un server di gioco integrato con l'SDK del server, completa le seguenti attività per prepararlo al caricamento per l'hosting. Amazon GameLift Servers
Nella WindowsServer cartella, in cui l'editor Unreal memorizza i file di build del server per impostazione predefinita, apporta le seguenti aggiunte:
Copia lo script di installazione della build del server nella radice della
WindowsServercartella. Lo script di installazione è incluso nel download del plugin. Cerca il file[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat. Amazon GameLift Serversutilizza questo file per installare il server integrato sui tuoi computer di hosting.Copia il
VC_redist.x64.exefile nella radice dellaWindowsServercartella. Puoi saltare questo passaggio se utilizzi Unreal Engine versione 5.6 o successiva. Questo file è incluso nell'installazione di Visual Studio. Di solito si trova inC:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142.Aggiungi i file della libreria OpenSSL alla build del tuo server di gioco. . Puoi saltare questo passaggio se il tuo server di gioco è integrato con il server SDK 5.3 o successivo. Questa versione è inclusa nel Amazon GameLift Servers plugin per Unreal, versione 3.0 o successiva.
Individua e copia manualmente le librerie OpenSSL nella cartella del pacchetto di build del gioco all'indirizzo.
<YourGame>/Binaries/Win64È necessario utilizzare la stessa versione di OpenSSL utilizzata nella versione di Unreal Engine 5. Le build di gioco distribuite con le librerie OpenSSL sbagliate non saranno in grado di comunicare con il servizio. Amazon GameLift ServersCerca le librerie OpenSSL nel codice sorgente del tuo motore di gioco. La posizione varia a seconda dell'ambiente di sviluppo:
In Windows:
-
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll -
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll
In Linux:
-
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1 -
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1
-
Per istruzioni più dettagliate sulla preparazione di un server di gioco creato per Linux, consulta Creazione dell'SDK del server Amazon GameLift Servers per Unreal Engine 5 su Amazon Linux.
-
Designate una directory di lavoro per organizzare i file di compilazione. La struttura della directory di lavoro viene distribuita così com'è su ogni computer di hosting. Aggiungi il tuo server di Linux-built gioco e tutti i file dipendenti.
-
Crea uno script di installazione per la compilazione del server nella radice della tua directory di lavoro. Se necessario, crea un
install.shfile e aggiungi i comandi necessari per installare correttamente la build del tuo server di gioco. Amazon GameLift Serversutilizza questo file per installare la build del server su ogni risorsa di hosting EC2. -
Aggiungi i file della libreria OpenSSL alla build del tuo server di gioco. Puoi saltare questo passaggio se il tuo server di gioco è integrato con il server SDK 5.3 o successivo.
Individua e copia manualmente le librerie. È necessario utilizzare la stessa versione di OpenSSL utilizzata nella versione di Unreal Engine 5. Le build di gioco distribuite con le librerie OpenSSL sbagliate non saranno in grado di comunicare con il servizio. Amazon GameLift Servers
-
Cerca le librerie OpenSSL nel codice sorgente del tuo motore di gioco. La posizione varia a seconda dell'ambiente di sviluppo:
In Windows:
-
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll -
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll
In Linux:
-
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1 -
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1
-
-
Quando trovi le librerie OpenSSL, copiale nella cartella del pacchetto di build del gioco all'indirizzo.
<YourGame>/Binaries/Linux
-
Fase 3: Seleziona lo scenario di distribuzione
In questo passaggio, scegli la soluzione di hosting del gioco che desideri implementare in questo momento. Puoi avere più distribuzioni del tuo gioco, utilizzando uno qualsiasi degli scenari.
Single-region flotta: distribuisce il tuo server di gioco su un'unica flotta di risorse di hosting nella regione predefinita AWS del profilo attivo. 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.
Autorizzatore di gateway API che collega il pool di utenti alle API.
WebACL per limitare le chiamate eccessive dei giocatori al gateway API.
API gateway + funzione Lambda per consentire ai giocatori di richiedere uno slot di gioco. Questa funzione chiama
CreateGameSession()se non è disponibile.Gateway API + funzione Lambda per consentire ai giocatori di ottenere informazioni di connessione per la loro richiesta di gioco.
FlexMatch flotta: distribuisce il server di gioco su una serie di flotte e configura un FlexMatch matchmaker con regole per creare partite tra giocatori. Questo scenario utilizza un hosting Spot a basso costo con una struttura con più flotte 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 le partite.
-
Tre AWS flotte con la build del tuo server di gioco installata e funzionante in più località. Include due flotte Spot e una On-Demand flotta come riserva.
-
AWS coda di piazzamento delle sessioni di gioco che soddisfa le richieste di proposte di abbinamento trovando la migliore risorsa di hosting possibile (in base alla fattibilità, al costo, alla latenza del giocatore, ecc.) e avviando una sessione di gioco.
-
pool di utenti e client Amazon Cognito per consentire ai giocatori di autenticarsi e iniziare una partita.
-
Autorizzatore di gateway API che collega il pool di utenti alle API.
-
WebACL per limitare le chiamate eccessive dei giocatori al gateway API.
-
API gateway + funzione Lambda per consentire ai giocatori di richiedere uno slot di gioco. Questa funzione chiama
StartMatchmaking(). -
Gateway API + 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.
-
Argomento SNS + funzione Lambda per gestire gli eventi. GameSessionQueue
Passaggio 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 utilizza questo nome per fare riferimento alla copia della build del server caricata e utilizzata per le distribuzioni.
Sistema operativo configurato per il server: inserisci il sistema operativo su cui è stato creato 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 compilazione del server locale.
Compilazione 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: Scenario di implementazione
In questo passaggio, distribuisci il gioco su una soluzione di hosting cloud in base allo scenario di distribuzione che hai scelto. Questo processo può richiedere diversi minuti per AWS convalidare la build del server, fornire le risorse di hosting, installare il server di gioco, avviare i processi del server e prepararli per ospitare sessioni di gioco.
Per iniziare la distribuzione, scegli Implementa. CloudFormation Puoi monitorare lo stato del tuo hosting di gioco 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'istanza AWS EC2. Almeno un processo del server è in esecuzione e pronto per iniziare una sessione di gioco.
Fase 6: Avvia il client
A questo punto, hai completato tutte le attività necessarie per avviare e giocare alla tua partita multiplayer ospitata suAmazon GameLift Servers. 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 muoverti. 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 siano in coda per il posizionamento della sessione di gioco prima che i giocatori possano accedere alla mappa del server.