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 for Unity: configura i test locali con GameLift Server Amazon Ovunque
In questo flusso di lavoro, aggiungete il codice di gioco del client e del server per Amazon GameLift Servers aumentarne la funzionalità e utilizzate il plug-in per designare la workstation locale come host del server di gioco di prova. Una volta completate le attività di integrazione, utilizza il plug-in per creare i componenti del client di gioco e del server.
Per avviare il GameLift Server Amazon Flusso di lavoro ovunque:
Nel menu principale dell'editor di Unity, scegli Amazon GameLift Servers e seleziona Host with Anywhere. Questa azione apre la pagina del plugin per configurare il gioco con una flotta @Anywhere. La pagina presenta una procedura in cinque fasi per integrare, creare e avviare i componenti del gioco.
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.
-
Seleziona un profilo dall'elenco a discesa dei profili disponibili. Se non hai ancora un profilo o vuoi crearne uno nuovo, vai al Amazon GameLift Servers menu e scegli Imposta i profili AWS dell'account.
-
Se lo stato di bootstrap non è «Attivo», scegli il profilo Bootstrap e attendi che lo stato cambi in «Attivo».
Integra il codice del tuo gioco con l'SDK del server C#
Nota
Se hai importato il gioco di esempio, puoi saltare questo passaggio. Le risorse di gioco di esempio dispongono già del codice server e client necessario.
Per questa fase del flusso di lavoro, aggiorni il codice client e server del tuo progetto di gioco.
I server di gioco devono essere in grado di comunicare con il Amazon GameLift Servers servizio per ricevere richieste di avvio di una sessione di gioco, fornire informazioni sulla connessione della sessione di gioco e segnalare lo stato.
I client di gioco devono essere in grado di ottenere informazioni sulle sessioni di gioco, partecipare o avviare sessioni di gioco e ottenere informazioni sulla connessione per partecipare a una partita.
Integra il codice del tuo server
Se stai usando un tuo progetto di gioco con scene personalizzate, usa il codice di esempio fornito per aggiungere il codice server richiesto al tuo progetto di gioco:
-
Nei file del tuo progetto di gioco, apri la
Assets/Scripts/Servercartella. Se non esiste, creala. -
Vai al GitHub repository aws/amazon
-gamelift-plugin-unity e apri il percorso. Samples~/SampleGame/Assets/Scripts/Server Individua il file
GameLiftServer.cse copialo nella cartella del tuo progetto di gioco.ServerQuando crei un file eseguibile sul server, usa questo file come destinazione di compilazione.
Il codice di esempio include questi elementi minimi richiesti, che utilizzano Amazon GameLift Servers C# server SDK (versione 5):
Inizializza un client API. Amazon GameLift Servers La
InitSDK()chiamata con i parametri del server è necessaria per una flotta Amazon GameLift Servers Anywhere. Queste impostazioni vengono impostate automaticamente per l'uso nel plug-in.Implementa le funzioni di callback necessarie per rispondere alle richieste del Amazon GameLift Servers servizio, tra cui
OnStartGameSessionOnProcessTerminate, e.onHealthCheckChiama
ProcessReady()con una porta designata per notificare al Amazon GameLift Servers servizio quando il processo del server è pronto per ospitare sessioni di gioco.
Se desideri personalizzare il codice server di esempio, consulta queste risorse:
Integra il tuo codice cliente
Se utilizzi un tuo progetto di gioco con scene personalizzate, devi integrare le funzionalità di base nel tuo client di gioco. Devi anche aggiungere elementi dell'interfaccia utente in modo che i giocatori possano accedere e partecipare a una sessione di gioco. Usa l'API del servizio per Amazon GameLift Servers (nell' AWS SDK) per ottenere informazioni sulle sessioni di gioco, creare nuove sessioni di gioco o partecipare a sessioni di gioco esistenti,
Quando crei un client per i test locali con una flotta Anywhere, puoi aggiungere chiamate dirette al Amazon GameLift Servers servizio. Quando sviluppi un gioco per il cloud hosting, o se prevedi di utilizzare le flotte Anywhere per l'hosting di produzione, dovrai creare un servizio di backend lato client per gestire tutte le comunicazioni tra i client di gioco e il servizio. Amazon GameLift Servers
Per integrarlo Amazon GameLift Servers nel codice del tuo cliente, usa le seguenti risorse come guida.
-
Integra il client con la GameLiftCoreApi classe nel GitHub repository aws/amazon -gamelift-plugin-unity. Questa classe fornisce i controlli per l'autenticazione del giocatore e per il recupero delle informazioni sulla sessione di gioco.
-
Visualizza esempi di integrazioni di giochi, disponibili nel repository GitHub -gamelift-plugin-unity,. aws/amazon
Samples~/SampleGame/Assets/Scripts/Client/GameLiftClient.cs -
Segui le istruzioni in Aggiungi al tuo client di gioco Unity. Amazon GameLift Servers
Per i client di gioco che si connettono a una flotta Anywhere, il tuo client di gioco ha bisogno delle seguenti informazioni. Il plug-in aggiorna automaticamente il progetto di gioco per utilizzare le risorse create nel plug-in.
FleetId - L'identificatore univoco della tua flotta Anywhere.
FleetLocation - La posizione personalizzata della tua flotta Anywhere.
AwsRegion - La AWS regione in cui è ospitata la tua flotta Anywhere. Questa è la regione che hai impostato nel tuo profilo utente.
ProfileName - Un profilo di AWS credenziali sul computer locale che consente l'accesso all' AWS SDK per. Amazon GameLift Servers Il client di gioco utilizza queste credenziali per autenticare le richieste al servizio. Amazon GameLift Servers
Nota
Il profilo delle credenziali viene generato dal plugin e archiviato sul computer locale. Di conseguenza, è necessario eseguire il client sul computer locale (o su un computer con lo stesso profilo).
Connettiti a una flotta Anywhere
In questa fase, si designa una flotta Anywhere da utilizzare. Una flotta Anywhere definisce una raccolta di risorse di calcolo, che possono essere collocate ovunque, per l'hosting di server di gioco.
Se l' AWS account che stai utilizzando attualmente ha flotte Anywhere esistenti, apri il campo a discesa Nome flotta e scegli una flotta. Questo menu a discesa mostra solo le flotte Anywhere nella AWS regione per il profilo utente attualmente attivo.
Se non ci sono flotte esistenti o desideri crearne una nuova, scegli Crea nuova flotta Anywhere e fornisci un nome per la flotta.
Dopo aver scelto una flotta Anywhere per il tuo progetto, Amazon GameLift Servers verifica che lo stato della flotta sia attivo e visualizza l'ID della flotta. Puoi tenere traccia dello stato di avanzamento di questa richiesta nel registro di output dell'editor di Unity.
Registra un computer
In questa fase, registri la tua workstation locale come risorsa di elaborazione nella nuova flotta Anywhere.
Inserisci un nome di calcolo per il tuo computer locale. Se aggiungi più di un computer nel parco computer, i nomi devono essere univoci.
Scegli Registra calcolo. Puoi tenere traccia dello stato di avanzamento di questa richiesta nel registro di output dell'editor di Unity.
Il plugin registra la workstation locale con l'indirizzo IP impostato su localhost (127.0.0.1). Questa impostazione presuppone che il client di gioco e il server vengano eseguiti sulla stessa macchina.
In risposta a questa azione, Amazon GameLift Servers verifica che sia in grado di connettersi al computer e restituisce informazioni sul computer appena registrato.
Avvia il gioco
In questo passaggio crei i componenti del gioco e li avvii per giocare. Completa le seguenti operazioni:
-
Configura il tuo client di gioco. In questo passaggio, richiedi al plug-in di aggiornare una
GameLiftClientSettingsrisorsa per il tuo progetto di gioco. Il plugin utilizza questa risorsa per memorizzare alcune informazioni di cui il client di gioco ha bisogno per connettersi al Amazon GameLift Servers servizio.-
Se non hai importato e inizializzato il gioco di esempio, crea una nuova
GameLiftClientSettingsrisorsa. Nel menu principale dell'editor di Unity, scegli Assets, Create, Amazon GameLift, Client Settings. Se crei più copie delGameLiftClientSettingstuo progetto, il plug-in lo rileva automaticamente e ti avvisa quale risorsa aggiornerà il plug-in. -
In Launch Game, scegli Configura client: Applica impostazioni ovunque. Questa azione aggiorna le impostazioni del client di gioco per utilizzare la flotta Anywhere che hai appena configurato.
-
Crea ed esegui il tuo client di gioco.
Crea un client eseguibile utilizzando il processo di compilazione standard di Unity. In File, Build Settings, passa la piattaforma a Windows, Mac, Linux. Se hai importato il gioco di esempio e hai inizializzato le impostazioni, l'elenco delle build e il target di build vengono aggiornati automaticamente.
Avvia una o più istanze del file eseguibile del client di gioco appena creato.
Avvia un server di gioco nella tua flotta Anywhere. Scegli Server: Avvia il server nell'editor. Questa attività avvia un server live a cui il client può connettersi finché l'editor di Unity rimane aperto.
Inizia o partecipa a una sessione di gioco. Nelle istanze del tuo client di gioco, usa l'interfaccia utente per unire ogni client a una sessione di gioco. Il modo in cui esegui questa operazione dipende da come hai aggiunto funzionalità al client.
Se stai usando il client di gioco di esempio, ha le seguenti caratteristiche:
Un componente per il login del giocatore. Quando ci si connette a un server di gioco su una flotta Anywhere, non viene effettuata alcuna convalida del giocatore. Puoi inserire qualsiasi valore per partecipare alla sessione di gioco.
Una semplice interfaccia utente per partecipare al gioco. Quando un cliente tenta di partecipare a una partita, cerca automaticamente una sessione di gioco attiva con uno slot disponibile per i giocatori. Se non è disponibile alcuna sessione di gioco, il cliente richiede una nuova sessione di gioco. Se è disponibile una sessione di gioco, il cliente richiede di partecipare alla sessione di gioco disponibile. Quando provi il gioco con più client simultanei, il primo client avvia la sessione di gioco e i client rimanenti si uniscono automaticamente alla sessione di gioco esistente.
Sessioni di gioco con slot per quattro giocatori. Puoi avviare fino a quattro istanze del client di gioco contemporaneamente e tutte si uniranno alla stessa sessione di gioco.
Avvio da un server eseguibile (opzionale)
Puoi creare e avviare il file eseguibile del tuo server di gioco per testarlo su una flotta Anywhere.
Crea un eseguibile del server utilizzando il processo di compilazione standard di Unity. In File, Build Settings, passa la piattaforma al server dedicato e crea.
-
Ottieni un token di autenticazione a breve termine chiamando il comando AWS CLI get-compute-auth-token con l'ID e la regione della tua flotta Anywhere. AWS L'ID della flotta viene visualizzato in Connect to an Anywhere Fleet quando crei la flotta. La AWS regione viene visualizzata in Imposta il tuo profilo quando selezioni il tuo profilo attivo.
aws gamelift get-compute-auth-token --fleet-id [your anywhere fleet ID] --region [your AWS region] -
Avvia il nuovo eseguibile del server di gioco da una riga di comando e inserisci un token di autenticazione valido.
my_project.exe --authToken [token]