Skip to main content

Publishing your game server

Publish a game server from files in a directory

The Image Manager takes a build of your game server and produces a Docker Image which you can run on the IMS zeuz service or on a machine of your choice.

To upload your game server build and trigger the Image Manager to build a Docker Image of the uploaded assets you can use the image publish CLI command.

ims image publish --project-id <PROJECT_ID> \
--name <NAME> \
--description <DESCRIPTION> \
--version <VERSION> \
--directory ./path/to/game-server/assets/

By default, the command will upload the files and then wait for the image to be built by the Image Manager. You can use the --async flag to exit as soon as the files have been uploaded and build trigger, this is useful in a CI pipeline where you may be billed per minute by your CI provider.

info

A Project can have up to 10 unique image names.

The combination of name + version must be unique. name is an optional flag, we recommend using the name to group similar images together e.g. main-server, and simplayer-server. If you only have one type of game server image then you don't need to provide a name.

Publish a game server from files in a docker image

For more advanced use cases you may want to build a docker image yourself. If you have already built a docker image, you can upload that image to our registry, for example:

ims image publish --project-id <PROJECT_ID> \
--description <DESCRIPTION> \
--version <VERSION> \
--image=eu.gcr.io/my_game_server:Big_Apple_CL123_main_DEV

Note: the Docker engine must be running. If you get dial unix /var/run/docker.sock: connect: permission denied, then you must run the above command with sudo. Please see docker documentation for using docker as a non-root user.

Publishing from a CI

Please see Using the CLI in a CI/CD pipeline.