Skip to main content

i3D Integration Setup Guide for brainCloud

Step-by-step instructions for adding i3D bare-metal game-server hosting to a brainCloud application — from uploading your build to the i3D CDN through to creating a Server Type in brainCloud.

Written by Jason Liang

i3D Integration Setup Guide for brainCloud

This article describes the steps required to add i3D support to a brainCloud application. brainCloud currently supports the bare-metal brand of i3D hosting, where i3D provides physical servers in pre-defined locations around the globe. The flex-metal on-demand cloud variant is not yet supported.

Note about i3D accounts. At the time of writing, i3D does not support sharing of settings or configuration across multiple accounts in an organization. All the configuration described here is only visible to the account that creates it — if multiple teammates need access to the data, they will need to sign in with the same credentials.

Overview of the 16 steps

  1. Account Credentials

  2. Upload Application to i3D CDN

  3. Create Application Installer

  4. Create Application

  5. Create Application Uninstaller

  6. Create Application Installer Build

  7. Create Application Build

  8. Create Application Uninstaller Build

  9. Create Dependency Template

  10. Create Game Template

  11. Create Deployment Environment

  12. Create Deployment Profile

  13. Create Deployment Fleet

  14. Create API Key

  15. Enable i3D Integration in brainCloud

  16. Create Server Type in brainCloud


Step 1. Account Credentials

Get account credentials from i3D. Credentials are necessary to access the i3D portal, upload application builds to the i3D CDN (Content Delivery Network), log in to provisioned hosts for debugging and log retrieval, and so on.

With your new credentials, log into the i3D portal and confirm the OS that your target hosts are running.

Step 2. Upload Application to i3D CDN

With the target OS in mind from Step 1, build your application with that OS as the target platform.

i3D provides a relatively bare-metal hosting experience. For your application to receive runtime values, you will likely want to implement one of the management protocols i3D supports. For brainCloud, you must support the Arcus protocol.

  • i3D documentation — SDK overview and supported protocols

  • An example of an Arcus-enabled game is provided in the i3D SDK

Once your application is built for the target platform (e.g. Ubuntu 22.04 LTS), upload it to the i3D CDN. The build-file format must conform to i3D's specifications.

Using your CDN credentials, upload your build via SFTP. Example log:

+ ls -lR artifacts
artifacts/finalbuild:
-rwxr-xr-x  RelayServer
-rwxr-xr-x  install.sh
-rwxr-xr-x  uninstall.sh+ zip -j relayserver_D5.9.0-186_exe.zip       artifacts/finalbuild/RelayServer
+ zip -j relayserver_D5.9.0-186_install.zip   artifacts/finalbuild/install.sh
+ zip -j relayserver_D5.9.0-186_uninstall.zip artifacts/finalbuild/uninstall.sh+ REMOTE_HOST=usqas1-origin1.cdn.i3d.net
+ sshpass -p **** sftp -o StrictHostKeyChecking=accept-new xxxxxxx@usqas1-origin1.cdn.i3d.net
sftp> put "./relayserver_D5.9.0-186_exe.zip"       "/home/k809993/relayserver_D5.9.0-186_exe.zip"
sftp> put "./relayserver_D5.9.0-186_install.zip"   "/home/k809993/relayserver_D5.9.0-186_install.zip"
sftp> put "./relayserver_D5.9.0-186_uninstall.zip" "/home/k809993/relayserver_D5.9.0-186_uninstall.zip"
sftp> quit

Step 3. Create Application Installer

An Application Installer lets you install utilities or library dependencies that your app executable needs. For example, i3D does not perform log maintenance or cleanup, so you might want a cron-managed log rotator.

If you don't need an installer, skip to Step 4.

To create an Application Installer:

  1. Click Game Hosting > Orchestrator > Applications > Applications > Create application.

  2. Enter the Application Installer Details and click Next.

  3. On Settings, set Application Type to Dependency Installer (Management Protocol is not applicable for a dependency installer). Click Next.

  4. Add any required Properties and click Create.

Step 4. Create Application

To create the main Application:

  1. Click Game Hosting > Orchestrator > Applications > Applications > Create application.

  2. Enter your application Details and click Next.

  3. On Settings, set Application Type to Game and select the appropriate Management Protocol (Arcus, for brainCloud). Click Next.

  4. Add any application Properties. i3D will automatically assign a public port and a management port. Click Create.

Step 5. Create Application Uninstaller

If you created an Application Installer in Step 3, or have other cleanup to perform on uninstall, create an Application Uninstaller.

If you don't need an uninstaller, skip to Step 6.

  1. Click Game Hosting > Orchestrator > Applications > Applications > Create application.

  2. Enter the uninstaller Details and click Next.

  3. Enter the uninstaller Settings and click Next.

  4. Add any uninstaller Properties and click Create.

Step 6. Create Application Installer Build

If you created an Application Installer in Step 3, create a build for it.

If you didn't create an installer, skip to Step 7.

  1. Click Game Hosting > Orchestrator > Applications > Builds > Create build.

  2. Enter the installer-build Details and click Next.

  3. Enter the installer-build Settings and click Next.

  4. Add any Labels and click Create.

Step 7. Create Application Build

This is the construct that defines how your application will be deployed on the i3D servers.

  1. Click Game Hosting > Orchestrator > Applications > Builds > Create build.

  2. Enter your application-build Details and click Next.

  3. Enter the build Settings. For an explanation of the platform / environment variables available to your application, refer to the i3D documentation. Click Next.

  4. Add any Labels and click Create.

Step 8. Create Application Uninstaller Build

If you created an Application Uninstaller in Step 5, create a build for it.

If you didn't create an uninstaller, skip to Step 9.

  1. Click Game Hosting > Orchestrator > Applications > Builds > Create build.

  2. Enter the uninstaller-build Details and click Next.

  3. Enter the uninstaller-build Settings and click Next.

  4. Add any Labels and click Create.

Step 9. Create Dependency Template

If you created an Application Installer Build (Step 6) and/or an Application Uninstaller Build (Step 8), create a Dependency Template that references them. Your Deployment Environment uses this template to know what dependencies to install/uninstall when deploying to a host.

If you didn't create either, skip to Step 10.

  1. Click Game Hosting > Orchestrator > Applications > Builds > Create template on either the installer or uninstaller build.

  2. In the Dependency Template popup, enter a name and select the Installer Build and/or Uninstaller Build from Steps 6 and 8. Click Create.

Step 10. Create Game Template

The Game Template will be referenced by your Deployment Environment to know what to deploy to a host.

  1. Targeting the Application Build from Step 7, click Game Hosting > Orchestrator > Applications > Builds > Create template.

  2. Enter a template name and select the Application Build from Step 7. Click Create.

Step 11. Create Deployment Environment

  1. Click Game Hosting > Orchestrator > Deployments > Environments > Create environment.

  2. Give your new environment a name and click Create.

Step 12. Create Deployment Profile

  1. Click Game Hosting > Orchestrator > Deployments > Profiles > Create Profile.

  2. Give your profile a name and save it.

  3. A deployment profile applies to a set of regions. Click the gear icon on the new profile to access its settings, then click Game Hosting > Orchestrator > Deployments > Profiles > Create region.

  4. Select the locations where you have servers provisioned (from Step 1) and click Next.

  5. Give your region a name and click Create.

Note on Global Strategy, Global Capacity, and Global Buffer settings. There are many considerations for the values to use for these settings — refer to the official i3D documentation for guidance.

Step 13. Create Deployment Fleet

A Fleet ties deployment environments to builds.

  1. Click Game Hosting > Orchestrator > Deployments > Fleets > Create Fleet.

  2. Enter fleet settings to reference the target deployment environment, profile, and all templates created so far. Click Next.

  3. On the next screen, enter any region overrides for application-build labels and click Create.

On the Deployment Management screen, choose one of three Fleet Modes for the new fleet. The mode determines how aggressively i3D provisions and maintains instances — pick the option most appropriate for your application, consulting the in-portal mode descriptions and i3D documentation.

Step 14. Create API Key

Now that you have an application capable of being deployed and run, create an API Key so that brainCloud can call into i3D to launch instances.

  1. In the i3D portal, click your account profile picture in the upper-right corner.

  2. Click API Management.

  3. Click Create.

  4. Enter the API-key details:

    • (Optional) specify an expiration date. Heads-up: brainCloud will not notify you when an API key expires — server launches will simply start failing.

    • Select an API-key category with Full access.

    • Add the note: "brainCloud provisioning key".

    • Do not check "This key will be used for Game Hosting".

    • To enable IP whitelisting so only brainCloud can call i3D on your behalf, contact brainCloud support for the IP addresses to allow.

  5. Click Create and make a note of the API key — you'll need it in Step 15.

Step 15. Enable i3D Integration in brainCloud

  1. In the brainCloud portal, open App > Design > Integrations > Manage Integrations.

  2. Toggle Enable for i3D.

  3. Enter the API Key from Step 14.

  4. Click SAVE CHANGES.

Step 16. Create Server Type in brainCloud

Link your brainCloud server definition to your application in i3D. Before you can complete this step, you need to gather your i3D application ID.

  1. In the i3D portal, go to Game Hosting > Orchestrator > Applications > Applications and click the Info icon for your target application.

  2. In your browser address bar, note the URL of the form:

    https://one.i3d.net/Game-Hosting/Application-Management/Application/{applicationId}/Details

    Make a note of the applicationId value.

  3. In the brainCloud portal, click App > Design > Servers > MyServers > ADD NEW SERVER.

  4. Set Server Type to i3D.net Orchestrator.

  5. Enter the Application Id you just retrieved.

  6. Click Save or Save & Close.

Now that you have a Server Type configured with i3D support, all that remains is to create a Lobby Type that uses this Server Type. brainCloud will then allocate i3D server instances as part of regular lobby matchmaking.

Please contact brainCloud support if you encounter any issues.


Related resources

Did this answer your question?