GitHub Icon

Edgegap Plugin - Automated Game Server Hosting - Unreal Tutorial

In this video, we will cover how to set up the Edgegap’s Unreal plugin to deploy, and host, an automated game server directly from Unreal’s editor. As to get your game online and playable, worldwide, in seconds.

Let’s get to it.

Chapter 2: Setup

Before we can use the plugin, there are small requirements to ensure everything works.

First, make sure our plugin is downloaded and installed in Unreal plugin folder.

Second, make sure you have Unreal’s Linux cross-compiling toolchain. Head over to Unreal Engine’s website, and follow the process. A direct link is available in the description below.

The third is to install and run Docker. Head over to Docker dot com and follow the installation procedure. It’s easy and takes just a few minutes. 

Finally, make sure to build Unreal Engine from source. It is an engine requirement to be able to build dedicated servers. If you haven’t, the link to Unreal documentation is this video’s description.

Chapter 3.0: Edgegap’s Unity Plugin

Now, let’s get started.

Load up your project. In our case, we are using a top-down sample project slightly modified to support multiplayer.

From the navigation toolbar, select Edgegap, then click on “Settings” to open the plugin. It will also be available in Unreal Editor’s plugin menu, available from the “edit” navigation option.

To function, the first step is to generate a token.

Click on the “Get a Token” button which opens up your browser. Either sign-in or create an Edgegap account by selecting “Get Started”. Signing up is free and takes seconds.

From Edgegap application’s dashboard, automatically a pop up with your unique OneClick Token appears. Simply copy it by clicking on the clipboard icon and paste it directly in the plugin’s text box.

Then, select “verify” which confirms the token is valid.

Next up is to open the “Application Info” tab.

Should you already have an application on our platform for your project, input its name in the text box and load it as an existing app. If not, which is the case in this tutorial, simply enter your project’s name. It must be in lowercase, with no spaces.

Additionally, you must choose an image for this application.

Then, select the “Create Application” button to create the application in our system.

Next, we have to open the “Container Registry” tab.

For advanced users, Edgegap provides the option to use a “Custom Container Registry”. For this tutorial, we will use the Edgegap’s default one.

The last step is to select “Build and Push”. This automatically compiles the project into a dedicated Linux server, then create a Docker container which is deployed to Edgegap’s registry.

When this automated process is complete, a new application version is created on Edgegap’s platform, allowing you to deploy the game server on demand.

To achieve this, the final step is create a new deployment by selecting “Create New Deployment” in the deployment tab. Under “Status”, you will see the deployment’s progress at the ideal location thanks to our orchestration.

Chapter 4: Testing

Refreshing the deployment’s status shows us the deployment is now ready to accept connections.

Congrats, your game is now online for the world to play!

Evidently, test things first. To connect a game’s client, first copy the deployment’s URL. In the editor, we set up 2 game clients to the server. In the console, type the “open” command and paste the deployment’s URL. This connects the game client to the specified URL.

As you can see, the player’s character can now move around in the server map. We will then connect a second game client to the game server using the same command. Both players are now connected to Edgegap’s game server, and play together.

Once you are done testing, return to the Edgegap plugin to automatically stop the server instance by selecting “Stop Server”. This ensures no ongoing resources are being used.

Chapter 5: Ending

And that’s it! You can now deploy game servers worldwide.