1. Set up your Docker Hub account
You need a Docker Hub account to upload new images of your game. At the moment, we use Docker Hub as the main container repository service. This lets us know about any build updates you push to your created repository.
You’ll want to get a ‘Team Docker account’ to work with us. And you’ll need to install this on either a Linux or Windows OS. Reach out to our team on Discord if you have any issues (or email [email protected]).
This is necessary as we typically work solely with Docker Hub. It lets us know when your new images are pushed to a repository, so we can then pull this onto the relevant servers.
First, you need to set up the registry that will have the relevant container images. Here’s Docker’s repository guide. Please be aware, you'll need to dockerize your game binary as part of the process. If you have any third-party tools, make sure you include their libraries and files in this repository. (That could be anything from your anti-cheat software to your Steam libraries.)
Once you’ve created your repository, it’s important that you grant the following account gameyedocker read-only access to your repository. Here's how to give Gameye read-only access.
When you have a new image ready to push to our servers, you’ll need to give us a heads-up. Here’s the URL to add to Docker Hub: https://image-updater-docker-hub.gameye.com/webhook.
Now, along with step three, every time you push a build to Docker, it’ll trigger the webhook. Which will activate the pull request and push them onto the servers. If you miss this step, your new builds won’t go to the servers. By default, Gameye will consider your newest image the live version. And that's what we'll launch on our servers.
Now we need to make sure your players can connect to the game. So we need to sort out which ports you want to use. You have two routes to go down.
Bridge Networking: This is the standard option. Just add the ports you’d like to use to your Docker file. (Where to find those ports varies – it depends on which engine you’re using.) And then you’re sorted.
Host Networking: There are a few reasons why studios use host networking. For example, you might have certain variables in your games that you’re already working with. So it could make things more consistent with your current setup. As we’re not adding the ports in your Docker file, you’ll need to add in the variables when you start your game server. Where you add your variables depends on your set-up (for example, you could use an entrypoint.sh file, but it’s up to you). And then let us know which ports you’re using, so we can add it to your image in our platform.
Here’s an example of how an environment variable would look like:
If you’re unsure what networking method to use, read the more detailed section regarding docker networking options or ping us on Discord.