Developer Documentation

Creating Images

Docker images are ideal for running applications in containers. They are a lightweight, standalone, executable package that includes everything needed to run a piece of software, including the code, a runtime, libraries, environment variables, and config files.

When you want to run a server in our system, you need to provide a Docker image that contains the server software and all the necessary files. With server configs you configure the image for your server. You can also use environment variables and config files to pass configuration data to the server.

Creating an Image

4Players Fleet

When you create an image, you need to go through our image creating wizard where you need to provide the following information:

  • Name: The name of the image. This is the name that you will use to reference the image in your server configuration.
  • Version: The version of the image. This can any string and is only used to differentiate between different versions of the same image within our Dashboard.
  • OS: The operating system that the image is based on. This can be Linux or Windows.

In the next step you need to decide what image type you want to use. These options are available:

  • Image from Registry: Use an image from a public or private registry. You need to provide the image name and the registry.
  • Steamworks: Let us create an image from files stored in your Steamworks account.

Depending on the image type you choose, you need to provide different information.

Image from Registry

When you already have a docker image available in a registry, you can use this option to create an image. You need to provide the following information:

  • Image: The path and name of the image within the registry. For example on the public Docker Hub registry, the image mygame/myserver would be mygame/myserver:latest.
  • Registry: The registry where the image is located. This can be Docker Hub, GitHub Container Registry, Gitlab Container Registry, or a custom registry.

The default option for Registry is public Docker Hub. This is not always what you want, especially if your server is not public (yet). You can register your own private registry directly in this editor by clicking on the (+) icon or you can go into the Settings and add a new registry there.

Please note: If your specific registry provider is not yet available please reach out to us and we will add it for you.

Steamworks

When you have your server files stored in your Steamworks account, you can use this option to create an image. You need to provide the following information:

  • Steam App ID: The Steam App ID of your game.

If you entered a correct Steam App ID the following fields will be available:

  • Branch: The Steam branch that you want to use. This can be public or a custom branch.
  • Executable Command: We need to know the command to start your server. This can be a simple command like /gameserver/server.exe or a more complex command with parameters like /gameserver/server.exe --port 7777 --debug=false --maps=/gameserver/maps. If you have created Launchers within Steam you can choose that from a list.

You need to provide your Steamworks credentials to download the files from Steamworks. You need to provide the following information:

  • Steamworks Username: The username of your Steamworks account.
  • Steamworks Password: The password of your Steamworks account.

Please note: Steam guard needs to be disabled for this account. If you have Steam Guard enabled, you need to disable it for the time of the image creation. We are working on a solution to support Steam Guard.

Additional options can be provided:

  • Headful: If you want to run the server in headful mode, i.e. a GUI window will be opened. For production servers, this should be disabled.
  • Request License: If you want to request a license for the image.

File Paths

What we do under the hood is that we download the files from Steamworks and create a Docker image from them. All files from Steamworks are stored in the /gameserver path within the container, so you need to make sure that if you refer to any files that you prefix the /gameserver path.

More background information on how Steamworks works under the hood can be found here: Steamworks image creation explained.