Amazon GameLift Anywhere Integration
Introduction
This document describes the automation and integration between Amazon GameLift Anywhere and the i3D.net ONE Deployment Platform (ODP).
In our article Hybrid game server hosting for multiplayer games with Amazon GameLift Anywhere, you can find more background information on the integration between Amazon GameLift Anywhere and i3D.net.
To get started with the integration, you can request a free test server.
Note
This integration is currently in Beta phase and will be subject to changes and quality of life improvements in the upcoming months.
Setup part 1 - Connect your Amazon GameLift account to i3D.net One Deployment Platform (ODP)
To get started with the Amazon GameLift Anywhere integration, the following setup needs to be available for a customer. There are several prerequisites to run the i3D.net One Deployment Platform (ODP) together with Amazon GameLift Anywhere.
Step 1 - Prerequisites
1.1 i3D.net Prerequisites
- i3D.net account with ODP enabled
- i3D.net account with CDN enabled (for the upload game servers)
1.2 Amazon GameLift Anywhere Prerequisites
To use the integration, you need to have an Amazon account with GameLift Anywhere enabled. This account needs to have the permission to:
- Create locations
- Create fleets
- Register servers
- Generate tokens for the game server
- Tag resource ( GameLift:TagResource )
To use the system the client needs to register in the i3D.net system the following:
- AccessKeyId
- SecretAccessKey
- defaultRegion for deployment (all fleets created by ODP will be created in this region)
Step 2 – Create your Amazon GameLift Anywhere cloud account within the i3D.net ODP
Go to one.i3d.net to create your GameLift Anywhere cloud account within the i3D.net One Deployment Platform (ODP). Navigate to the Game hosting page. On the Game Hosting page, you will find the Cloud Accounts page.
URL: https://one.i3d.net/Game-Hosting/Cloud-Accounts
In the overview below click on the “Add account” button at the top right. See figure 2-1.
Figure 2-1: Cloud Account page
In the overview below select in the drop-down menu "select a cloud provider" and choose: Amazon Web Services.
Figure 2-2: Add Cloud Account
In the overview below you need to fill out the requested information. The default region is where your new GameLift Anywhere i3D.net bare metal fleets will live. Click the checkbox “Activate Game Lift Anywhere” and activate the account.
Figure 2-3: Select a cloud provider: Amazon Web Services and add details
Warning
Be aware that that you can only create 10 fleets by default in Game Lift Anywhere and 20 custom regions.
Note
You can only have one GameLift Anywhere account in the system at this moment.
Step 3 - Create an application
For the integration with Amazon GameLift Anywhere you need to setup everything within the i3D.net One Deployment Platform (ODP). To make it easier to follow we will use the frontend for the setup in this part of the documentation.
Note
Before you start, make sure you have uploaded your game server to the i3D.net CDN.
3.1 Create an Amazon GameLift Anywhere application
Navigate to Application Management within the i3D.net ODP.
URL: https://one.i3d.net/Game-Hosting/Application-Management/Applications
In step 1 in the overview below you will fill out the form with the name of your application and all additional information that you want to add. In step 2 (see figure 3-1) you need to set the Application Type to Game and select the checkbox “Game Lift Anywhere”. When you clicked the checkbox, it will automatically generate and add specific GameLift Anywhere properties in step 3 (figure 3-2).
Figure 3-1: Create GameLift Anywhere application
Warning
Do not remove or change these specific GameLift Anywhere properties as they are important properties within the integration between i3D.net ODP and Amazon GameLift Anywhere. You need to fill these specific GameLift Anywhere properties in the start parameters in the application build. See in the next step (step 4) more details on the Application Build. See figure 3-2 for a view of the specific GameLift Anywhere properties. You are allowed to add your own properties if needed.
Note
Choose "Linux" as the "Operating System Group"
Figure 3-2: GameLift Anywhere application properties
Step 4 - Application build
The application build is the actual game server that will be deployed on the server. In the start parameters of the application build, you need to add the values which are specified inside of the application setup. The properties will automatically be copied over when you create the build.
4.1 Start parameters
Based on our test application, you can set the properties in the start parameters as follows:
-port VAR_PORT -endpoint VAR_AWSGL_ENDPOINT -fleet-id VAR_AWSGL_FLEETID -host-id VAR_AWSGL_HOSTNAME -region VAR_AWSGL_REGION -auth_token VAR_AWSGL_TOKEN
Figure 4-1: start parameters
Figure 4-2: application build setup
4.2 Update or upload a new application build
In the current beta implementation, if you want to use a different build or a new version of your build, you must follow these steps:
- Scale down your fleet.
- Manually upload the new build.
- Link it to the correct application and application template.
- Scale up your fleet.
Note
The patching method is not supported in the current implementation. For more information about when this feature is available, please contact us.
Step 5 – Create Game template
After creating your application build, you need to create a game template following our regular process. See more details here:
URL: https://one.i3d.net/Game-Hosting/Template-Management/Game/
Create a game template in the below overview:
Figure 5-1: Game template overview
In the view below you create the game template and you need to select your game build in the drop-down menu:
Figure Figure 5-2: Create game template
Setup part 2 – Your Deployment
In this section we explain how you can deploy your game servers on i3D.net Bare Metal servers.
Step 1 - Deployment environment
You need to create a deployment environment according to the standard process.
URL: https://one.i3d.net/Game-Hosting/Deployment-Management/Environments/
Create a deployment environment in the below overview.
Figure 1-1: Deployment environment overview
Click on the create environment button and create your deployment environment.
Figure 1-2: Create deployment environment
Step 2 - Deployment Profile
Once the deployment environment is ready, create a deployment profile.
URL: https://one.i3d.net/Game-Hosting/Deployment-Management/Profiles/
Figure 2-1: deployment profile
When you created the deployment profile, click on the gear button next to the just created deployment profile, to create your region. Click on the Create region button in the overview below.
Warning
It is very important to use a region name that does not already exist in Amazon GameLift Anywhere. The region name will automatically be transformed in an Amazon GameLift Anywhere region by the system.
Figure 2-2: Create region within the deployment profile
In the overview below please choose the Region in which you received the i3D.net Bare Metal servers and click next.
Note
When selecting a location, ensure it is the location where you have your test Bare Metal Servers you received from i3D.net. All regions need to be setup before you add the fleet.
Figure 2-3: Select region
Note
You cannot add any cloud providers to the regions.
Step 3 - Fleet
In this last step you need to create a fleet to finalize your deployment. The fleet name must be unique and cannot exist inside of your Amazon GameLift account. The fleet will automatically be generated inside of Amazon GameLift Anywhere.
To make a fleet a specific GameLift Anywhere fleet you need to check the checkbox Game Lift Anywhere on the fleet create page. When you have created a GameLift Anywhere fleet you cannot change it back to a normal fleet after saving. See figure 3-1.
Figure 3-1 Create fleet
Now click on the orange tool-icon and choose Fully Automatic deployment on the right side and proceed.
Figure 3-2 Deployment Mode
Summary
- Select deployment environment that you have created
- Create a new fleet
- Region name cannot exist inside of GameLift Anywhere and must be unique
- Region name will be automatically created in GameLift Anywhere as custom region
- Add to the fleet the game deployment template
- Add the deployment profile to the fleet
- Check the checkbox for Game Lift Anywhere
- Save the fleet
- Make sure that your credentials are setup on the API, so that i3D.net can connect with GameLift Anywhere
- After you are satisfied with your setup you need to activate the automatic process that will create the fleet in GameLift Anywhere
- Change the deployment Mode from manual to automatic deployment
- After you made this change automatically the fleet will be created in GameLift Anywhere
Remarks
In this Beta we did not provide the following:
- After the fleet is created it is as it is:
- Update or delete the fleet
- Add new regions to the fleet
Start the Deployment
The process of deploying a game server on the Bare Metal Servers is very straightforward. You need to change the minimum amount of game servers on the deployment profile to the amount of game servers that you want to deploy.
When everything is configured correctly the game servers will be deployed through the Host Agent. The game servers will be started and enriched with the Amazon GameLift Anywhere properties that you have set on the application build.
Note
Please note that we do not install the GameLift Agent but the i3D.net host agent on the game server. This means the GameLift SDK must be installed in the regular way.