
Guide on How to Use Epic Online Services (EOS) with Edgegap's Game Server Orchestration Platform
In this tutorial, we will cover every step of the easiest and fastest way of adding dedicated game server to any Unreal project. Edgegap’s Docker Extension is the sole solution that helps you skip the highly unreliable process of building Unreal from Source, which means adding game servers takes minutes instead of hours. Saving you tons of time.
Alongside this video, we recommend following our documentation.
Let’s get to it.
There are five short requirements to set up your project.
First is to create your free Edgegap account. Simply head over to app.edgegap.com, select your sign-in method such as Google or GitHub as shown here, and create your organization.
The second step is to install and run Docker Desktop. Docker is used by millions of users and organizations. Just download it and follow the installation procedure.
Third is to download Edgegap’s Docker Extension. Using the link in the documentation, or in the comments of this video, or directly within Docker’s Extension marketplace, select “install”. After a few seconds of loading, the extension is now available to use.
The fourth requirement is to access Unreal Engine’s resources on GitHub. Epic Games itself outline this process on their website, but the short version is to login, or create, a GitHub account. Then, within your Epic Game’s account, select the “Linked Account” menu and link your Epic Game’s account to GitHub like so. Scroll the license agreement and agree to the terms. Select “Authorize Epic Games” on the subsequent pop-up. Finally, you’ll receive an email from GitHub which asks you to join the “@EpicGames” organization. Click on the link and select the “Join Epic Games” button.
Finally, the last step is to generate your GitHub Personal Access Token. Using the URL provided in our docs or in the comments, input a note for future reference and select the “readpackage” checkbox. Scroll down the page and click on “Generate Token”.
Now on to Unreal.
In this example, we’ll use Unreal Engine’s multiplayer sample – Lyra.
To start, simply select the “Add to My Library” button.
The sample will appear within the Epic Games Launcher, under Unreal Engine’s tab, in the Fab Library section. Simply select “Create Project” for Lyra. Or open your own personal project here, if that is what you are using.
Here, we’ll choose the project name and location on the computer. Then select “Create” to initialize the project.
After some time, the project appears in our Unreal Library. Open it.
This is Lyra within Unreal Engine’s editor.
As to direct Unreal to which map should be used on the game server, we’ll head to “Project Settings”, then select “Maps & Modes” and finally select “ShooterGym” as the Server’s Default Map, like so. It may take a few seconds to load.
Now, let’s configure the project for Linux dedicated servers.
First, open Edgegap’s Docker Extension for game servers.
Input your project’s name and the Edgegap Token. If you don’t have one from your account, select “Get Quick Start Token” which opens your browser to Edgegap’s dashboard if you are logged in. Simply copy the token within the pop-up.
Back in the extension, paste the token. The “Validate Token” button should appear, click on it to confirm its validity.
Automatically, your platform is selected, namely Unreal Engine.
Add your project to the extension by selecting the “browse” button and selecting the location of the project amongst your folders.
Once selected, click on the “Create Project” button as to begin the building your game server phase.
Automatically, the extension pre-fills the Unreal Engine version in use by your project.
Now, input your GitHub account’s username.
Then, paste your GitHub Personal Access Token generated earlier. It will automatically validate it if it is correct.
Regardless of your machine’s operating system, you will need to build your Linux server. To do so, we must disable Unreal Engine’s version compatibility check for dedicated servers and set IpNetDriver as the default driver or the fallback driver for replication networking.
Copy the code snipet from our documentation.
Then, head over to the engine’s default configuration file. Amongst your project, it should be found under the “Config” folder and named “DefaultEngine.ini”. Open the file using your preferred IDE.
Here, simply paste the full code snippet at the end of the file.
Next, we have to create a dedicated server target script by copying the <PROJECT>Editor.Target.cs file in the project’s root folder and renaming the copy to <PROJECT>Server.Target.cs. Replace any references to word “Editor” with the word “Server” in your server target script. With Lyra we already have this target file, let's just add this code snippet to enable logs in shipping builds.
Concretely, this file should be found under your project’s “Source” folder, and here named “LyraServer.Target”. As you can see, there is no reference to the word “Editor”, only “Server”. We’re ready to paste the code snippet at the end of the file.
Get back to Edgegap’s Docker Extension as to validate the configurations were correctly inputted. Select the “Validate Configuration” button.
If you have properly completed this step, all three configurations should have a green tick mark.
This allows us to move to the game server build phase.
Here we can view or edit the “Dockerfile”, “dockerignore” and “StartServer.sh” file. While useful, we’ll keep everything to the default settings for this example.
Next is your Docker Build. This includes the image name and tag. Both of which we’ll keep to the default as well.
Let’s start building the project by selecting the “Build Project” button. As you can see, the process starts automatically.
Congrats, you’ve added dedicated game server to your game!
Once the build process is complete, we’re ready to test the server locally.
Select the latest version from the “tag” drop down menu.
Then, simply select “Start Local Server” to deploy the server as a container on your Docker to play locally.
To verify, we’ll return to our Lyra sample. Selecting the drop-down menu next to the “play” button, we’ll select “New Edit + Window” to generate a player.
Back in the main editor, type in “open” alongside your local container’s port mapping. This is hardcoded to be 127.0.0.1 : 7777.
Then, open the window created earlier, and the Lyra sample is connecting itself to the local containerized game server. Proving it works, as shown on screen.
We’ll stop playing in the editor and start the process to deploy the game server to Edgegap’s edge network.
Return to the Docker Extension and stop the local server.
The final step is to deploy the containerized game server to Edgegap’s platform.
Select the version you want to deploy and click on “Upload Image”.
After a few seconds, a new browser window opens up which prompts you to create an application.
The name is prefilled, and you can select an icon of your choosing. Click on “Create Application” to continue.
This is your game server’s deployment parameters, including resources requirements. This can be customized, but we’ll keep the default settings for now.
Scroll down and select “Submit”.
This is the “Create a Port” option, where a port and protocol can be selected. Once again, we’ll use the default of 7777 and UDP protocol for now. Select “Submit”.
Return once again in the Docker Extension, and under the “Edgegap Application Version”, open the dropdown and ensure the name matches the deployment you just created.
Click on “Deploy to Cloud” to deploy your game server. This is your deployment details’ window. Scroll down to find your host’s URL and the server’s external port.
Copy the URL.
Return in the Unreal editor. Once again, we’ll select “New Edit + Window” to generate a player.
Now, type “open” and paste the URL from the deployment detail page.
And there you have it, Lyra is functional. Congrats, you’re playing your multiplayer online!
Optionally, you can return to the Docker Extension and stop the deployment for testing.
That is all for Edgegap’s Docker Extension for Unreal Engine, which empowers game developers with a simple way of adding and managing game servers online.
The likely next step in your game development will be to automatically start and stop servers, and to connect players . For more information on Edgegap’s free, simple and fully automated matchmaker, you can check out our tutorial.
Make sure to join us on Discord.








