Appearance
Appearance
For projects started with Metaplay SDK before Release 27, some configuration files need to be manually added in order to configure the game server deployments into the cloud environments. If you started your project on Metaplay Release 27 or later, you should already have these files and you can ignore this guide.
The files added in this migration guide include:
Backend/Deployments/
.staging
and production
environments, to be added in Backend/Server/Config/
.You should add these files into your source control as well, as they'll be needed when deploying the game servers, either manually or from a CI job.
This guide only applies to customers using the managed environments. If you are using self-managed environments or you already have the Helm values elsewhere, you can ignore this guide.
Add the following Helm values files into your project's Backend/Deployments/
directory. For each of your cloud environments, you need the matching Helm values file <env>-server.yaml
. It's safe to add four files even if you are not yet using the environments.
Configuration for the develop
environment:
# Define the name of the environment. This is rendered in the game server's UI and helps you determine which environment you are connected to.
environment: develop
# Define the environment family.
environmentFamily: Development
# Configure which runtime options files to use (located in Backend/Server/Config/)
config:
files:
- "./Config/Options.base.yaml"
- "./Config/Options.dev.yaml"
# Tell Helm to discover all other values from the infrastructure.
tenant:
discoveryEnabled: true
Configuration for the stable
environment:
# Define the name of the environment. This is rendered in the game server's UI and helps you determine which environment you are connected to.
environment: stable
# Define the environment family.
environmentFamily: Development
# Configure which runtime options files to use (located in Backend/Server/Config/)
config:
files:
- "./Config/Options.base.yaml"
- "./Config/Options.dev.yaml"
# Tell Helm to discover all other values from the infrastructure.
tenant:
discoveryEnabled: true
Configuration for the staging
environment:
# Define the name of the environment. This is rendered in the game server's UI and helps you determine which environment you are connected to.
environment: staging
# Define the environment family.
environmentFamily: Staging
# Configure which runtime options files to use (located in Backend/Server/Config/)
config:
files:
- "./Config/Options.base.yaml"
- "./Config/Options.staging.yaml"
# Tell Helm to discover all other values from the infrastructure.
tenant:
discoveryEnabled: true
# Temporary configuration for a single-node deployment. This configuration will be moved elsewhere later.
shards:
- name: all
singleton: true
requests:
cpu: 1500m
memory: 3000M
Configuration for the production
environment:
# Define the name of the environment. This is rendered in the game server's UI and helps you determine which environment you are connected to.
environment: production
# Define the environment family.
environmentFamily: Production
# Configure which runtime options files to use (located in Backend/Server/Config/)
config:
files:
- "./Config/Options.base.yaml"
- "./Config/Options.production.yaml"
# Tell Helm to discover all other values from the infrastructure.
tenant:
discoveryEnabled: true
# Temporary configuration for a single-node deployment. This configuration will be moved elsewhere later.
shards:
- name: all
singleton: true
requests:
cpu: 1500m
memory: 3000M
Next, add placeholder runtime options files in your Backend/Server/Config/
directory. These are referred to by the Helm values files and need to exist for the game server to start.
Configuration file dedicated for the production
environment:
# Options overrides for the production environment.
Configuration file dedicated for the staging
environment:
# Options overrides for the staging environment.