Puoi controllare i cluster dei server di gioco utilizzando le configurazioni dei server di gioco globali, definendo le regole relative alla posizione e al numero di server da avviare, nonché il programma binario del server di gioco di cui eseguire il deployment. Game Servers crea automaticamente i parchi risorse Agones in base a implementazioni gestite centralmente, garantendo che vengano implementati in modo automatico e sicuro in tutti i cluster gestiti. In particolare, le sessioni di gioco in corso non vengono mai interrotte perché un server di gioco in uso non viene interrotta improvvisamente.
Risorse Game Servers
In questa sezione vengono descritte le risorse principali con cui interagisci per la gestione dei Game Servers. La figura seguente mostra come queste risorse vengono utilizzate per il deployment di un progetto di gioco.
Figura 1. Esempio di deployment di un progetto di gioco sui server di gioco
Progetto Game Servers
Un singolo ambiente, come production o testing, è un progetto Google Cloud con Game Servers abilitati. Per migliorare l'isolamento e la sicurezza, in genere gestisci un singolo titolo di gioco utilizzando più progetti Google Cloud, come My Game Production e My Game Testing.
Posizione
La località definisce l'ambito di una risorsa ed è impostata per impostazione predefinita su global
, che fornisce la disponibilità più elevata e dove i dati sono ridondanti in più regioni di Google Cloud. Puoi impostare manualmente la località di una risorsa su una regione Google Cloud specifica (non tutte le regioni sono supportate). Se vuoi controllare la posizione di archiviazione dei dati o i domini di failover, sostituisci l'impostazione global
predefinita con una delle seguenti località supportate:
Località supportate
asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-southeast1
asia-southeast2
australia-southeast1
europe-central2
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west6
global
northamerica-northeast1
southamerica-east1
us-central1
us-east1
us-east4
us-west1
us-west2
Regno
Game Servers è progettato per supportare i cluster Kubernetes in esecuzione su Google Kubernetes Engine. Per sviluppare i concetti di regioni e zone di Google Cloud, Game Servers introduce il concetto di meta-regione dei regni. Un regno è un raggruppamento definito dall'utente di cluster di server di gioco basati sui requisiti di latenza del gioco per gli utenti. Ai aree di autenticazione è assegnato un fuso orario che consente l'utilizzo di configurazioni di scalabilità basate sul tempo nei cluster all'interno dell'area di autenticazione. I reami esistono all'interno di una località.
Cluster di server di gioco
Un cluster di server di gioco è una risorsa secondaria di una risorsa realm. Ogni cluster di server di gioco corrisponde a uno spazio dei nomi su un cluster Kubernetes che esegue Agones registrato in un regno. I cluster di server di gioco all'interno di un'area di autenticazione devono essere considerati equivalenti dal punto di vista dell'esperienza utente per quanto riguarda le misurazioni, come la latenza o le prestazioni di calcolo. Per utilizzare uno spazio dei nomi diverso da default
, lo spazio dei nomi deve essere creato su Kubernetes e Agones configurato per utilizzarlo.
Dopo aver creato un cluster di server di gioco, Game Servers crea i flori di Agones e i scaler automatici in base alle necessità. Game Servers non modifica manualmente i parchi risorse Agones.
Dopo aver eliminato un cluster di server di gioco, Game Servers non elimina le risorse nel cluster, inclusi i parchi risorse Agones e i gestori della scalabilità automatica creati da Game Servers.
Deployment del server di gioco
Il deployment di un server di gioco è un record globale di una versione software del server di gioco che può essere implementato in uno o tutti i cluster di server di gioco in tutto il mondo. Il deployment di un server di gioco è la risorsa principale di entrambe le risorse di configurazione del server di gioco e di implementazione.
Figura 2. La configurazione 1.0 è stata implementata per il regno degli Stati Uniti e la versione 1.1 per i regni in Europa e Giappone.
Configurazione server di gioco
Una configurazione del server di gioco è una risorsa secondaria di una risorsa di deployment del server di gioco che specifica il conteggio, il buffer e la versione del server di gioco del server di gioco. Puoi definire i criteri di scalabilità in una configurazione del server di gioco. I criteri di scalabilità possono essere statici o basati sul tempo, come illustrato nei seguenti esempi:
- Nelle ore di punta dovrebbe essere disponibile un numero di server sufficiente per supportare N allocazioni al minuto, durante le ore di picco al minuto.
- Per gli eventi dei giochi pianificati, aumenta la capacità riservata di N% per un intervallo di date e ore.
Implementazione
Un'implementazione è una risorsa secondaria di una risorsa di deployment del server di gioco che mappa le configurazioni del server di gioco per scegliere come target i reami. Per impostazione predefinita, un'implementazione assegna una configurazione del server di gioco a tutti i domini. Per i test A/B e i test canary, puoi sostituire aree di autenticazione specifiche per ricevere una configurazione alternativa del server di gioco.
Architettura
Game Servers espone un'API del piano di controllo disponibile a livello globale, tramite la quale puoi controllare le risorse che descrivono il deployment utilizzando le chiamate API, Google Cloud Console o Google Cloud CLI, tra cui:
- Creazione e modifica delle aree di autenticazione.
- Creazione, registrazione e modifica dei cluster di server di gioco nei domini.
- Creazione, deployment e aggiornamento di deployment, server e configurazioni di server di gioco.
Affinché Agones possa gestire i server di gioco nello spazio dei nomi trasmesso ai server di gioco durante la creazione di un cluster di server di gioco, deve essere presente un account di servizio Kubernetes. Se utilizzi uno spazio dei nomi diverso dallo spazio dei nomi predefinito, in genere viene creato questo account di servizio come parte dell'installazione helm.
Affinché i server di gioco possano connettersi ai cluster Agones, è necessario che sia disponibile un account di servizio di progetto Google Cloud. Questo account di servizio viene creato automaticamente quando crei una risorsa, ad esempio un'area di autenticazione o un deployment.
Ogni deployment dei server di gioco descrive i parametri dei server di gioco, equivalenti a un
Agones GameServerSpec
, e specifica un criterio per scegliere come target i cluster dei server di gioco
in cui dovrebbero essere create flotte di server di gioco che eseguono una determinata build. Puoi anche impostare preferenze di scalabilità individuali per il cluster utilizzando i criteri.
Passaggi successivi
- Prova la guida rapida.
- Scopri come completare attività di Game Servers specifiche.