Come Amazon GameLift Servers funziona l'hosting con - Amazon GameLift Servers

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à.

Come Amazon GameLift Servers funziona l'hosting con

Amazon GameLift Serversè un servizio che fornisce server dedicati a basso costo, fornitura dell'infrastruttura, scalabilità e gestione delle sessioni per i giochi multiplayer basati su sessioni. Il servizio offre strumenti e funzionalità flessibili che puoi personalizzare per i tuoi giochi o utilizzare in collaborazione con i tuoi sistemi. Sfrutta l'hosting Amazon GameLift Servers gestito in modo da poterti concentrare sulla creazione di esperienze di gioco anziché sulla gestione delle operazioni del server.

Questo argomento descrive i componenti principali di una soluzione di Amazon GameLift Servers hosting completa e il modo in cui interagiscono per fornire sessioni di gioco multiplayer ai giocatori.

Componenti principali di una soluzione di hosting di giochi

Una soluzione di Amazon GameLift Servers hosting completa è composta da diversi componenti essenziali che interagiscono per offrire esperienze di gioco multiplayer. Alcuni di questi componenti sono creati e gestiti dall'utente, mentre altri sono forniti Amazon GameLift Servers e gestiti in base alle scelte di configurazione dell'utente. Comprendere come interagiscono questi componenti e i rispettivi ruoli è fondamentale per lo sviluppo di una soluzione di hosting di giochi efficace. I componenti includono:

  • Il client di gioco funziona sui dispositivi dei giocatori.

  • Il servizio di backend consente ai client di gioco di comunicare con loro Amazon GameLift Servers per ottenere informazioni sulla sessione di gioco e partecipare ai giochi.

  • Il software del server di gioco funziona su risorse di hosting dei giochi e ospita sessioni di gioco per un gruppo di giocatori.

  • Il sistema di posizionamento avvia le sessioni di gioco e abbina i giocatori alle partite.

  • Le flotte di hosting di giochi forniscono server di gioco in una o più località geografiche.

  • Il sistema di gestione dell'hosting di giochi monitora lo stato di hosting dei giochi e gestisce la capacità.

Architettura di gioco con managedAmazon GameLift Servers.

Client di gioco

Il client di gioco è il software di gioco che gira sul dispositivo di un giocatore. Avvia il posizionamento del giocatore in una sessione di gioco comunicando con un servizio di backend e si connette direttamente a un server di gioco per partecipare al gioco.

Funzioni chiave per l'hosting di giochi
  • Invia richieste di iscrizione al servizio di backend. Includi i dati pertinenti del giocatore e della sessione di gioco come parte della richiesta di iscrizione.

  • Raccogli i dati di latenza per il client di gioco e includi tali informazioni nella richiesta di iscrizione.

  • Ricevi le informazioni sulla connessione della sessione di gioco dal servizio di backend e usale per connetterti a un server di gioco.

  • Gestisci scenari di connessione alla sessione come la verifica del giocatore, l'accettazione di una partita Amazon GameLift ServersFlexMatch, le interruzioni della sessione o le disconnessioni.

Chi lo costruisce

Aggiungete la funzionalità di hosting dei giochi al software del client di gioco e impostate la comunicazione con il servizio di backend.

Servizio di backend

Il servizio di backend è un livello di coordinamento tra i client di gioco e il Amazon GameLift Servers servizio. Controlla tutte le comunicazioni con il servizio per effettuare richieste di posizionamenti nelle sessioni di gioco e recuperare informazioni sulla sessione di gioco e sulla sessione dei giocatori. L'uso di un servizio di backend è una buona pratica che mantiene una comunicazione sicura con il servizio per conto dei client di gioco ed evita di dover condividere AWS credenziali e autorizzazioni sensibili con i client di gioco.

Il tuo servizio di backend implementa una strategia di raggruppamento dei giocatori per le tue sessioni di gioco. Hai molta flessibilità nel modo in cui i giocatori finiscono in una sessione di gioco. Potresti configurare un browser per le sessioni di gioco per i giocatori o supportare gruppi definiti dai giocatori. Oppure puoi raggruppare le richieste di sessioni di gioco man mano che arrivano, formare gruppi di giocatori (possibilmente con un preordinamento) e iniziare una sessione di gioco per ogni gruppo. Con il FlexMatch matchmaking, puoi creare partite tra giocatori e completare le partite esistenti.

Funzioni chiave per l'hosting di giochi
  • Autentica le comunicazioni dai client di gioco.

  • Effettua richieste Amazon GameLift Servers per iniziare nuove sessioni di gioco, ottenere informazioni sulla sessione di gioco o partecipare a sessioni di gioco esistenti. Se necessario, includi i dati pertinenti della sessione di gioco e dei giocatori nelle richieste.

  • Facoltativamente, crea richieste per le sessioni dei giocatori per monitorare più da vicino la disponibilità delle sessioni di gioco. Usa le sessioni dei giocatori per prenotare gli slot delle sessioni di gioco, convalidare i giocatori quando si connettono e tenere traccia delle disconnessioni dei giocatori.

  • Rispondi ai client di gioco con i dettagli della connessione alla sessione di gioco e altre informazioni come richiesto.

Chi lo costruisce

Crei il servizio di backend in un ambiente gestito da te per supportare i tuoi requisiti di gioco e implementare il modo in cui i giocatori entrano nei giochi. Integra l' AWS SDK per effettuare chiamate all'API del Amazon GameLift Servers servizio. Opzionalmente, crea il tuo servizio di backend AWS utilizzando servizi come AWS Lambda Amazon Simple Storage Service (Amazon S3) e Amazon Cognito.

Server di gioco

Il server di gioco è un software server personalizzato che gestisce lo stato del gioco, elabora le azioni dei giocatori e sincronizza il gameplay tra più giocatori connessi. Il server di gioco mantiene la comunicazione con il Amazon GameLift Servers servizio per gestire l'hosting delle sessioni di gioco.

Funzioni chiave per l'hosting di giochi
  • Comunica con Amazon GameLift Servers a:

    • segnala lo stato (pronto per ospitare sessioni, pronto ad accettare giocatori, stato di salute).

    • rispondere alle chiamate di servizio (inizio o fine delle sessioni di gioco).

  • Gestisci il ciclo di vita della sessione di gioco per ospitare una sessione di gioco alla volta per processo.

  • Coordinati con altri AWS servizi per funzionalità aggiuntive.

  • Facoltativamente, convalida le connessioni di nuovi giocatori.

Chi lo costruisce

Crei il software del tuo server di gioco. Integri l'SDK del server Amazon GameLift Servers e aggiungi funzionalità per stabilire una connessione con il servizio e supportare la gestione delle sessioni di gioco.

Flotta di hosting di giochi

La flotta di hosting è una raccolta di risorse informatiche che gestiscono i tuoi server di gioco. Le risorse della flotta possono essere distribuite su più aree geografiche per offrire ai giocatori un gameplay a bassa latenza ovunque si trovino. Ogni risorsa della flotta esegue uno o più processi del server di gioco, che comunicano direttamente con. Amazon GameLift Servers Ogni processo del server di gioco può ospitare una sessione di gioco alla volta.

Le caratteristiche e le funzionalità della flotta variano in base al tipo di hosting della flotta. Le flotte gestite distribuiscono risorse Cloud AWS e sono gestite da. Amazon GameLift Servers Le flotte Anywhere sono risorse di elaborazione fornite dal cliente e gestite all'esterno. Amazon GameLift Servers

Funzioni chiave per l'hosting di giochi
  • Fornisci risorse di hosting per server di gioco.

    • Le flotte gestite distribuiscono istanze EC2 Amazon basate sul cloud con un'ampia gamma di impostazioni di configurazione. Una configurazione del parco istanze determina la potenza di calcolo di ciascuna istanza del parco istanze, la posizione fisica delle istanze e altri dettagli. Le flotte gestite aggiungono o rimuovono EC2 istanze in risposta alla scalabilità della capacità

    • Ovunque le implementazioni del parco veicoli sono gestite automaticamente. La flotta può essere composta da hardware fisico o altre risorse cloud ed essere configurata in base alle esigenze.

  • Installa l'ambiente di runtime e il software del server di gioco.

    • Le istanze gestite EC2 della flotta Amazon vengono distribuite con la build del server di gioco e un'Amazon Machine Image (AMI) con un ambiente di runtime compatibile.

    • Le istanze gestite di flotte di container vengono distribuite con la build del server di gioco e un'AMI ottimizzata per container con strumenti Docker e altri componenti per funzionare con Amazon ECS.

    • Ovunque le flotte vengano distribuite con il software e il sistema operativo del server di gioco prescelti.

  • Gestisci il ciclo di vita dei processi del server di gioco. Applica istruzioni di runtime preconfigurate per avviare e interrompere i processi su ogni risorsa del parco macchine.

Chi lo costruisce

Dipende dal tipo di hosting della flotta:

  • EC2 Flotte Amazon gestite: carichi la build del tuo server di gioco suAmazon GameLift Servers, che la memorizza per la distribuzione su flotte di istanze. Amazon GameLift Serversfornisce l'infrastruttura della flotta. Cloud AWS Tu configuri la flotta e le spieghi come far funzionare i server di gioco su ogni istanza della flotta.

  • Flotte di container gestite: raccogli le istruzioni di build e runtime del server di gioco in un'immagine del contenitore da archiviare in Amazon ECR per la distribuzione. Amazon GameLift Serversfornisce l'infrastruttura della flotta. Cloud AWS Fornisci un'architettura di container e configuri la flotta per ospitare i tuoi container.

  • Flotte ovunque: esegui il provisioning di tutta l'infrastruttura e gestisci l'implementazione del software server. Crei flotte Anywhere a cui connettere le tue risorse di hosting di giochi attive. Amazon GameLift Servers

Sistema di posizionamento delle sessioni di gioco

Il sistema di posizionamento delle sessioni di gioco individua i server di gioco disponibili per ospitare nuove sessioni di gioco. Il sistema utilizza informazioni in tempo reale sulla disponibilità dei server di gioco per prendere decisioni di posizionamento ottimali.

NelAmazon GameLift Servers, il meccanismo principale di posizionamento delle sessioni di gioco è la coda. Una coda di sessioni di gioco utilizza algoritmi, che puoi configurare, per posizionare le sessioni di gioco e ottenere il miglior risultato possibile. Puoi dare priorità ai posizionamenti in base a fattori quali il costo di hosting più basso e la latenza dei giocatori più bassa, e puoi configurare una coda per la ricerca in più località geografiche. In alternativa alle code, puoi designare una flotta specifica per ospitare le tue sessioni di gioco.

Funzioni chiave per l'hosting dei giochi
  • Elabora le richieste di posizionamento delle sessioni di gioco ricevute dal servizio di backend.

  • Effettua posizionamenti sulla base di informazioni in tempo reale sulla disponibilità delle risorse di hosting.

  • Usa i dati sulla latenza dei giocatori e altri dati per dare priorità alle opzioni di posizionamento (solo code)

  • Richiedi ai processi del server di gioco di iniziare nuove sessioni di gioco.

  • Aggiorna le informazioni di connessione alla sessione di gioco dopo che la sessione di gioco è pronta per accettare giocatori.

  • Opzionalmente, configura il FlexMatch matchmaking per creare partite tra giocatori e richiedere il posizionamento delle sessioni di gioco per le partite.

Chi lo costruisce

Amazon GameLift Serversfornisce il sistema di collocamento. Puoi configurare il comportamento di posizionamento attraverso il modo in cui il tuo servizio di backend effettua le richieste di posizionamento e, facoltativamente, impostando le code delle sessioni di gioco e i matchmaker. FlexMatch Usa la Amazon GameLift Servers console, l' AWS SDK o il AWS CLI per creare e configurare code e matchmaker per il tuo gioco.

Sistema di gestione dell'hosting dei giochi

Il sistema di gestione dell'hosting di giochi è la spina dorsale operativa che coordina e monitora tutti gli aspetti della vostra soluzione di hosting di giochi. Questo sistema fornisce l'intelligenza e l'automazione che rendono Amazon GameLift Servers possibili le funzionalità di posizionamento e scalabilità.

Funzioni chiave per l'hosting di giochi
  • Tieni traccia dello stato e della disponibilità in tempo reale dei processi dei server di gioco, delle sessioni di gioco e delle sessioni dei giocatori in tutte le flotte per supportare il posizionamento delle sessioni di gioco e il ridimensionamento automatico della capacità.

  • Monitora lo stato e le prestazioni della flotta.

  • Raccogli e analizza le metriche delle attività di hosting di giochi.

  • Fornisci strumenti di scalabilità della capacità, tra cui il ridimensionamento automatico in base alla domanda dei giocatori e all'utilizzo della flotta.

  • Gestisci gli aggiornamenti del software del server di gioco e le istruzioni di runtime.

Chi lo costruisce
  • Flotte gestite: Amazon GameLift Servers fornisce il monitoraggio della disponibilità, metriche sull'attività di hosting dei giochi e sulle prestazioni dell'hardware e strumenti di scalabilità della capacità. Utilizzi AWS gli strumenti disponibili per gestire gli aggiornamenti software dei server di gioco, modificare le istruzioni di runtime e personalizzare l'uso delle metriche (come la configurazione CloudWatch per il monitoraggio). Puoi configurare una politica di ridimensionamento personalizzata e modificarla secondo necessità.

  • Anywhere fleets: Amazon GameLift Servers fornisce il monitoraggio della disponibilità e le metriche delle attività di hosting dei giochi. Gestisci le modifiche alla configurazione della flotta, inclusi gli aggiornamenti del software del server di gioco e le istruzioni di runtime. Crei sistemi per monitorare le prestazioni della flotta e gestire la scalabilità della capacità della flotta.

Come collaborano i componenti

Quando viene distribuito un computer per l'hosting di giochi
  • Software del server di gioco installato: il computer viene installato con un ambiente di runtime e la build del server di gioco

  • Avvio del server di gioco: sul computer viene avviata almeno un'istanza dell'eseguibile del server di gioco, con parametri di avvio opzionali.

  • Il server di gioco si connette a Amazon GameLift Servers: come parte delle sue azioni di avvio, il processo del server di gioco chiama l'SDK del server per inizializzare una connessione al servizio.

  • I report del server di gioco sono pronti per ospitare una sessione di gioco: il processo del server di gioco completa le azioni di avvio, quindi chiama l'SDK del server per segnalare la disponibilità. Inizia a segnalare lo stato di salute in base alla sua configurazione.

  • Amazon GameLift Serversmonitora la disponibilità: il servizio registra la disponibilità del processo del server di gioco al posizionamento della sessione di gioco. Inoltre, aggiorna le metriche relative a flotte, istanze e sessioni di gioco per tenere traccia dell'utilizzo e della capacità.

  • Il server di gioco attende l'assegnazione della sessione di gioco: il processo del server di gioco mantiene lo stato di inattività mentre attende la richiesta di avvio di una sessione di gioco.

Quando un giocatore desidera partecipare a una partita
  • Il giocatore inizia una partita: un giocatore avvia il client di gioco, si autentica con il servizio di backend e chiede di partecipare a una partita.

  • Il servizio di backend richiede una sessione di gioco: il servizio di backend chiama Amazon GameLift Servers per trovare o creare una sessione di gioco adatta, in base alla sua strategia di raggruppamento dei giocatori. La richiesta potrebbe includere dati del giocatore o del gioco da utilizzare nella sessione di gioco.

  • Amazon GameLift Serverscolloca la sessione di gioco: quando si avvia una nuova sessione di gioco, il sistema di posizionamento identifica una posizione ottimale per ospitare la sessione e seleziona un processo del server di gioco disponibile. Il servizio richiede al processo selezionato di iniziare una nuova sessione di gioco e trasmette tutti i dati del giocatore o del gioco. Se il FlexMatch matchmaking è in uso, il matchmaker crea prima una partita, poi richiede il posizionamento per la partita.

  • Il server di gioco avvia la sessione di gioco: Il server di gioco avvia i passaggi per avviare una sessione di gioco. Al termine, segnala Amazon GameLift Servers che è pronto ad accettare le connessioni dei giocatori.

  • Informazioni sulla connessione fornite al client di gioco: dopo che il server di gioco ha aggiornato il suo stato, Amazon GameLift Servers fornisce le informazioni sulla connessione alla sessione di gioco. Il servizio di backend riceve queste informazioni e le invia al client di gioco.

  • Il giocatore si connette alla sessione di gioco: il client di gioco utilizza le informazioni di connessione per connettersi direttamente al server di gioco e iniziare il gioco.

  • Amazon GameLift Serversmonitora lo stato della sessione di gioco: il processo del server di gioco segnala lo stato di salute, lo stato della connessione del giocatore opzionale e lo stato della sessione di gioco per tenere traccia della disponibilità delle sessioni di gioco in corso.

  • Il processo del server di gioco si spegne: il processo del server di gioco termina la sessione di gioco, segnala lo stato e quindi si spegne automaticamente.