Integrazione di giochi con Amazon GameLift Realtime Server - 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à.

Integrazione di giochi con Amazon GameLift Realtime Server

Questo argomento fornisce una panoramica della soluzione gestita Amazon GameLift with Realtime Servers. La panoramica spiega quando questa soluzione è adatta al tuo gioco e in che modo Realtime Servers supporta i giochi multiplayer.

Suggerimento

Per provare l'hosting di server di GameLift gioco Amazon, consultaGuida introduttiva ad Amazon GameLift.

Cosa sono i server in tempo reale?

I server in tempo reale sono server di ready-to-go gioco leggeri che Amazon ti GameLift fornisce da utilizzare con i tuoi giochi multiplayer. I server in tempo reale rimuovono il processo di sviluppo, test e distribuzione di un server di gioco personalizzato. Questa soluzione può aiutare a ridurre al minimo il tempo e l'impegno necessari per completare il gioco.

Funzionalità principali
  • Stack di rete completo per l'interazione tra client e server di gioco

  • Funzionalità di base del server di gioco

  • Logica del server personalizzabile

  • Aggiornamenti in tempo reale delle configurazioni in tempo reale e della logica del server

  • FlexMatch matchmaking

  • Controllo flessibile delle risorse di hosting

Configura server in tempo reale creando una flotta e fornendo uno script di configurazione.

In che modo Realtime Servers gestisce le sessioni di gioco

Puoi aggiungere una logica personalizzata per la gestione delle sessioni di gioco inserendola nello script Realtime. Puoi scrivere codice per accedere a oggetti specifici del server, aggiungere logica basata sugli eventi utilizzando callback o aggiungere logica basata su scenari non legati a eventi.

Come interagiscono client e server in tempo reale

Durante una sessione di gioco, i client di gioco interagiscono inviando messaggi al server Realtime tramite un servizio di backend. Il servizio di backend inoltra quindi i messaggi tra i client di gioco per scambiare attività, stato del gioco e dati di gioco pertinenti.

Inoltre, puoi personalizzare il modo in cui client e server interagiscono aggiungendo la logica di gioco allo script Realtime. Con una logica di gioco personalizzata, un server Realtime potrebbe implementare callback per avviare risposte basate sugli eventi.

Protocollo di comunicazione

I server in tempo reale e i client di gioco connessi comunicano attraverso due canali: una TCP connessione per una consegna affidabile e un UDP canale per una consegna rapida. Durante la creazione di messaggi, i client di gioco scelgono quale protocollo utilizzare in base alla natura del messaggio. Per impostazione predefinita, il recapito dei messaggi è impostato UDP su. Se un UDP canale non è disponibile, Amazon GameLift invia messaggi utilizzando TCP come fallback.

Contenuto del messaggio

Il contenuto del messaggio è composto da due elementi: un codice operativo richiesto (opCode) e un payload opzionale. Un messaggio opCode identifica una particolare attività del giocatore o un evento di gioco e il payload fornisce dati aggiuntivi relativi al codice operativo. Entrambi questi elementi sono definiti dagli sviluppatori. Il client di gioco agisce opCodes in base ai messaggi che riceve.

Gruppi di giocatori

Realtime Servers offre funzionalità per gestire gruppi di giocatori. Per impostazione predefinita, Amazon GameLift colloca tutti i giocatori che si connettono a un gioco in un gruppo «tutti i giocatori». Inoltre, gli sviluppatori possono configurare altri gruppi per i propri giochi e i giocatori possono essere membri di più gruppi contemporaneamente. I membri del gruppo possono inviare messaggi e condividere dati di gioco con tutti i giocatori del gruppo. I gruppi possono essere utilizzati ad esempio per configurare team di giocatori e gestire le comunicazioni del team.

Server in tempo reale con certificati TLS

Con Realtime Servers, l'autenticazione del server e la crittografia dei pacchetti di dati sono integrate nel servizio. Queste funzionalità di sicurezza sono abilitate quando si attiva la generazione di TLS certificati. Quando un client di gioco tenta di connettersi a un server Realtime, il server risponde automaticamente con il TLS certificato, che viene convalidato dal client. Amazon GameLift gestisce la crittografia utilizzando TLS for TCP (WebSockets) communication e DTLS for UDP traffic.

Personalizzazione di un server in tempo reale

Un server in tempo reale funziona come un server di inoltro stateless. Il server Realtime inoltra pacchetti di messaggi e dati di gioco tra i client di gioco collegati al gioco. Tuttavia, il server Realtime non valuta i messaggi, elabora i dati né esegue alcuna logica di gioco. Utilizzato in questo modo, ogni client di gioco mantiene la propria visione dello stato del gioco e fornisce aggiornamenti agli altri giocatori tramite il server di inoltro. Ogni client di gioco è responsabile dell'integrazione di questi aggiornamenti e della riconciliazione delle proprie statistiche di gioco.

Puoi personalizzare i tuoi server aggiungendo funzionalità di script in tempo reale. Con la logica di gioco, ad esempio, puoi creare un gioco stateful con una visualizzazione autorevole dello stato del gioco da parte del server.

Amazon GameLift definisce una serie di callback lato server per gli script in tempo reale. Implementa queste chiamate per aggiungere funzionalità basate su eventi al server. Ad esempio, puoi:

  • Autenticare un giocatore quando un client di gioco cerca di connettersi al server.

  • Verifica se un giocatore può unirsi a un gruppo su richiesta.

  • Stabilisci quando recapitare i messaggi da un determinato giocatore o a un giocatore bersaglio, oppure esegui un'ulteriore elaborazione in risposta.

  • Avvisa tutti i giocatori quando un giocatore lascia un gruppo o si disconnette dal server.

  • Visualizza il contenuto degli oggetti della sessione di gioco o degli oggetti dei messaggi e usa i dati.

Distribuzione e aggiornamento di server in tempo reale

Un vantaggio chiave dei server in tempo reale è la possibilità di aggiornare gli script in qualsiasi momento. Quando aggiorni uno script, Amazon GameLift distribuisce la nuova versione a tutte le risorse di hosting in pochi minuti. Dopo che Amazon avrà GameLift distribuito il nuovo script, tutte le nuove sessioni di gioco create dopo quel momento utilizzeranno la nuova versione dello script. (Le sessioni di gioco esistenti continueranno a utilizzare la versione originale).