Questa pagina spiega come registrare, modificare, elencare e visualizzare i dettagli di una configurazione di Game Servers in un deployment. Questa configurazione definisce la specifica del parco risorse Agones, che include informazioni sul numero di server di gioco, sul buffer e sulla versione del server di gioco. Questa configurazione definisce anche la configurazione di scalabilità, che specifica come viene eseguito lo scale up e lo scale down automatico del parco risorse per soddisfare la domanda.
Prima di iniziare
Prima di iniziare, ti consigliamo di acquisire familiarità con i concetti principali nella panoramica dei server di gioco. Assicurati di aver eseguito anche le seguenti attività:
- Assicurati di aver attivato l'API Game Services. Abilita l'API Game Services
- Scegli una shell con gcloud CLI installata o utilizza un client API:
Vai alla console Google Cloud.
Nell'angolo in alto a destra della console, fai clic sul pulsante Attiva Cloud Shell:
- Crea un account di servizio.
- Scarica una chiave privata come file JSON.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.
Cloud Shell
Per avviare Cloud Shell, esegui questi passaggi:
Una sessione di Cloud Shell si apre all'interno di un frame più in basso nella console.
Utilizza questa shell per eseguire i comandi gcloud
.
Shell locale
Installare l'interfaccia a riga di comando gcloud.
Verifica di aver impostato il progetto predefinito desiderato per Google Cloud CLI (in caso contrario dovrai specificare il flag --project
in modo esplicito per ogni comando in un secondo momento):
gcloud config list project
In caso contrario, puoi eseguire il seguente comando per impostare un progetto predefinito, sostituendo PROJECT_ID
con l'ID progetto desiderato :
gcloud config set project PROJECT_ID
Esegui il comando seguente per verificare la tua versione di Google Cloud CLI.
Game Servers richiede la versione 306.0.0
o successiva dellgcloud CLI.
gcloud version
Per aggiornare l'installazione, esegui il comando seguente:
gcloud components update
curl / PowerShell
Per utilizzare l'API REST con curl
o Windows PowerShell, segui questi passaggi:
Libreria client
I server di gioco Google Cloud possono essere controllati in modo programmatico utilizzando una libreria client. Per istruzioni sull'utilizzo della libreria e l'autenticazione, consulta la panoramica sulle librerie client.
Creazione di una configurazione
Assicurati di aver creato un deployment di Game Servers.
Console
Nella console Google Cloud, vai alla pagina Deployment di server di giochi.
Individua un deployment nella tabella. Nell'ultima colonna della tabella, fai clic sui puntini di sospensione more_vert e seleziona Elenca configurazioni. In questa pagina puoi visualizzare le configurazioni attive e inattive per il deployment.
Per creare una nuova configurazione per il deployment, fai clic su Create Config (Crea configurazione).
Nella casella Nome configurazione, inserisci un identificatore univoco per questa configurazione.
(Facoltativo) Nella casella Descrizione, inserisci una descrizione per questa configurazione.
Nella casella Nome configurazione parco risorse, inserisci un identificatore univoco per questa configurazione del parco risorse.
Nella casella Specifiche del parco risorse, inserisci la specifica del parco risorse.
(Facoltativo) In Configurazione di scalabilità, puoi specificare una o più configurazioni che consentono di fare lo scale up o lo scale down automatico del parco risorse. Fai clic su Aggiungi per aggiungere una configurazione di scalabilità.
- Nella casella Nome configurazione di scalabilità, inserisci un identificatore univoco per questa configurazione di scalabilità.
- (Facoltativo) Nelle caselle Ora di inizio e Ora di fine, pianifica il periodo di tempo in cui la configurazione di scalabilità verrà attivata. Per ulteriori informazioni, consulta Creazione di pianificazioni di scalabilità.
- Nella casella Specifiche autoscaper, inserisci la specifica di scalabilità.
gcloud
Puoi creare una configurazione di Game Servers in un deployment utilizzando Google Cloud CLI.
Per creare una configurazione del server di gioco:
Copia la specifica del parco risorse in un file.
- name: fleet-spec-1 fleetSpec: replicas: 10 scheduling: Packed strategy: type: RollingUpdate rollingUpdate: maxSurge: 25% maxUnavailable: 25% template: metadata: labels: gameName: udp-server spec: ports: - name: default portPolicy: Dynamic containerPort: 7654 protocol: UDP health: initialDelaySeconds: 30 periodSeconds: 60 sdkServer: logLevel: Info grpcPort: 9357 httpPort: 9358 template: spec: containers: - name: dedicated image: gcr.io/agones-images/udp-server:0.21 imagePullPolicy: Always resources: requests: memory: 200Mi cpu: 500m limits: memory: 200Mi cpu: 500m
Esegui questo comando e sostituisci i valori segnaposto, ad esempio deploymentID e configID, con i valori appropriati:
gcloud game servers configs create configID --deployment deploymentID --fleet-configs-file fleetSpecFile
I segnaposto delle variabili corrispondono alle seguenti descrizioni:
- configID è un identificatore univoco che puoi specificare per questa configurazione.
- deploymentID è l'identificatore univoco del deployment.
- fleetSpecFile è il percorso del file con la specifica del parco risorse Agones.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
- DEPLOYMENT_ID: l'identificatore definito dall'utente per il deployment
- CONFIG_ID: un identificatore definito dall'utente per la configurazione
Corpo JSON richiesta:
{ "fleetConfigs": [ { "name": "fleet-spec-1", "fleetSpec": "{ \"replicas\": 10, \"scheduling\": \"Packed\", \"template\": { \"metadata\": { \"labels\": { \"gameName\": \"udp-server\" } }, \"spec\": { \"ports\": [ { \"name\": \"default\", \"portPolicy\": \"Dynamic\", \"containerPort\": 7654, \"protocol\": \"UDP\" } ], \"health\": { \"periodSeconds\": 60, \"initialDelaySeconds\": 30 }, \"sdkServer\": { \"logLevel\": \"Info\", \"grpcPort\": 9357, \"httpPort\": 9358 }, \"template\": { \"spec\": { \"containers\": [ { \"name\": \"dedicated\", \"image\": \"gcr.io/agones-images/udp-server:0.21\", \"imagePullPolicy\": \"Always\", \"resources\": { \"requests\": { \"memory\": \"200Mi\", \"cpu\": \"500m\" }, \"limits\": { \"memory\": \"200Mi\", \"cpu\": \"500m\" } } } ] } } } } }" } ] }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/CONFIG_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Modifica delle configurazioni
Non è possibile modificare una configurazione di Game Servers in quanto le configurazioni sono immutabili. Se vuoi modificare una configurazione, copiala (visualizza i dettagli della configurazione), modificala localmente e utilizza la versione aggiornata per creare una nuova configurazione.
Configurazioni elenco
Console
Nella console Google Cloud, vai alla pagina Deployment di server di giochi.
Individua un deployment nella tabella. Nell'ultima colonna della tabella, fai clic sui puntini di sospensione more_vert e seleziona Elenca configurazioni. In questa pagina puoi visualizzare le configurazioni attive e inattive per il deployment.
gcloud
Puoi elencare le configurazioni utilizzando Google Cloud CLI.
Per elencare tutte le configurazioni, esegui il comando seguente:
gcloud game servers configs list
Per elencare tutte le configurazioni di un deployment, esegui il comando seguente e sostituisci deploymentID con il deployment principale in cui vuoi elencare le configurazioni:
gcloud game servers configs list --deployment=deploymentID
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
- DEPLOYMENT_ID: l'identificatore definito dall'utente per il deployment
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "gameServerConfigs": [ { "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/MY-CONFIG-1", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "fleetConfigs": [ { "fleetSpec": ... "name": "MY-CONFIG-1" } ], "description": "Config 1" }, { "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/MY-CONFIG-2", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "fleetConfigs": [ { "fleetSpec": ... "name": "MY-CONFIG-2" } ], "description": "Config 2" }, ] }
Visualizzazione dei dettagli di una configurazione
Console
Nella console Google Cloud, vai alla pagina Deployment di server di giochi.
Individua un deployment nella tabella. Nell'ultima colonna della tabella, fai clic sui puntini di sospensione more_vert e seleziona Elenca configurazioni. In questa pagina puoi visualizzare le configurazioni attive e inattive per il deployment.
Trova una configurazione nella tabella. Nell'ultima colonna della tabella, fai clic sui puntini di sospensione more_vert e seleziona Visualizza configurazione.
gcloud
Puoi trovare dettagli su una configurazione, ad esempio l'ora di creazione, utilizzando Google Cloud CLI:
Per visualizzare i dettagli di una configurazione, esegui il comando seguente e sostituisci i valori segnaposto, ad esempio deploymentID e configID, con i valori appropriati:
gcloud game servers configs describe configID --deployment deploymentID
L'output fornisce i dettagli della configurazione.
I segnaposto delle variabili corrispondono alle seguenti descrizioni:
- configID è l'identificatore univoco specificato per questa configurazione del server di gioco.
- deploymentID è un identificatore univoco per il deployment padre.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud elencato nelle impostazioni IAM
- DEPLOYMENT_ID: l'identificatore definito dall'utente per il deployment
- CONFIG_ID: l'identificatore definito dall'utente per la configurazione
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/CONFIG_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "fleetConfigs": [ { "fleetSpec": ... "name": "CONFIG_ID" } ], "description": "My config" }
Passaggi successivi
Scopri come configurare il comportamento di scalabilità del cluster.
Scopri come implementare una configurazione.
Scopri come eliminare una configurazione.