LogoLogo
  • Home
  • Game Hosting
    • Get started
      • Set Up Guide
      • Game Template
      • Game Deploy
    • Overview
      • API guide for game hosting
      • Terminology
      • API v3 usage
      • API v3 authentication
      • API v3 error handling
      • API v3 error codes
    • Processes
      • Application Management
      • Application Build Provisioning
      • Application Build Management
      • Deployment Configuration
      • Deployment Process
      • Automatic Deployment
      • Automatic Scaling
      • Dependency Installation
      • Patching
        • Utility patching
        • Forced Deployment
        • Forced Deployment Manually
        • Rolling Deployment
        • Rolling Deployment Manually
        • A/B Deployment
        • A/B Deployment Manually
    • Elements
      • Application
        • Applicationproperty
        • Applicationbuild
        • Applicationbuildproperty
        • Applicationbuildconfiguration
        • Applicationinstance
        • Applicationinstanceproperty
        • Applicationinstanceip
        • Label
        • Metadata
        • Element Relations
        • Platform Variables
      • Deployment
        • Fleet
        • Deploymentprofile
        • Deploymentregion
        • Deploymentcontainer
        • Deploymentcontainerlocation
        • Deployment Templates
          • Gamedeploymenttemplate
          • Utilitydeploymenttemplate
          • Dependencydeploymenttemplate
        • Host Capacity
          • Instancetypecapacity
        • Dclocation
      • Host
        • Hostcpu
        • Hostip
        • Hostdisk
        • Hostmemory
      • Patching
        • Patchjobapplicationbuild
        • Patchjobfleet
        • Patchjoboverallprogress
        • Patchjobemail
    • Features
      • Task System
      • Platform Events
    • Cloud Usage
      • Cloud Credentials
      • Cloud Instance Types
    • Game Integration
      • Orchestrator overview
      • Matchmaker Allocation
      • Ping beacons overview
      • Upgrade GCP VMs to AMD Milan or later
      • Game server run status
      • Gameliftanywhere integration
      • Game Hosting-SDK
        • Build
        • Integration Guide
        • Sdk Unity Plugin
        • Sdk Unreal Plugin
      • Management Protocol
        • A2S
        • Arcus
          • Usage
          • Configuration
          • Packet Structure
          • Handling Server Query Response
          • Available Opcodes
        • Arcus V2
          • Request Response
    • Events
    • Examples
      • Registering Application And Builds
      • Env From Scratch
  • Anti-DDoS
    • About Anti-DDoS
    • DDoS attack types
    • Anti-DDoS onboarding guide
    • DDoS category attack types
  • Compute
    • Dedicated Bare Metal
      • Catalog
    • FlexMetal
      • Getting started with FlexMetal
      • OS Customization
      • Talos installation
      • Tag management
      • Troubleshooting
      • Check your quota usage
  • Contact
  • Api
    • General
    • Game
    • GLAD API
  • Endpoints
Powered by GitBook
On this page
  • Application
  • ApplicationProperty
  • The gameport property
  • The managementport property
  • The managementpassword property
  • ApplicationBuild
  1. Game Hosting
  2. Examples

Registering Application And Builds

Last updated 1 month ago

Probably the first thing you will want to do when starting with our platform is setup your Application (Game).

In this example we will create an Application and demonstrate how you can upload and register the builds for that Application.

The following elements will be created in this chapter:

See also:

Application

The Application element represents your application or to be more specific, your game or a utility.

In the following example we'll create a game Application:

HTTP request

Request body

{
  "type": 1,
  "managementProtocol": 2,
  "name": "Bluewolf",
  "websiteUrl": "www.bluewolf.game.com",
  "description": "Life is not the same after meeting your worst enemy",
  "developerName": "Crywolf",
  "publisherName": "ThePubs"
}

Response body

[
  {
    "id": "245926280441350104",
    "type": 1,
    "managementProtocol": 2,
    "name": "Bluewolf",
    "websiteUrl": "www.bluewolf.game.com",
    "description": "Life is not the same after meeting your worst enemy",
    "developerName": "Crywolf",
    "publisherName": "ThePubs",
    "createdAt": 1568316402,
    "inUse": 0
  }
]

ApplicationProperty

In this example we will create 3 properties:

  • gameport

  • managementport

  • managementpassword

The gameport property

This property is of type "public network port" (1). Its value must be either 0 for auto-configuration (recommended) or between 10240 - 29999. The latter will serve as the default port to use upon deployment. If the port is already in use by another game server on the same host, we will keep incrementing the value until we find a free port.

HTTP request

Request body

{
  "propertyType": 1,
  "propertyKey": "gameport",
  "propertyValue": "60100"
}

Response body

[
  {
    "id": "521575199273317208",
    "propertyType": 1,
    "propertyKey": "gameport",
    "propertyValue": "60100"
  }
]

The managementport property

HTTP request

Request body

{
  "propertyType": 6,
  "propertyKey": "managementport",
  "propertyValue": "0"
}

Response body

[
  {
    "id": "68643036590177757",
    "propertyType": 6,
    "propertyKey": "managementport",
    "propertyValue": "0"
  }
]

The managementpassword property

This property tells the platform to connect to Arcus with the given password. In this example though, the property value is left blank. This means the platform will create a unique (8 character) password for each game server. If you supply a property value instead, the platform will use that password for all your game servers.

HTTP request

Request body

{
  "propertyType": 2,
  "propertyKey": "managementpassword",
  "propertyValue": ""
}

Response body

[
  {
    "id": "519833085683350374",
    "propertyType": 2,
    "propertyKey": "managementport",
    "propertyValue": ""
  }
]

ApplicationBuild

There is one thing left to do: create an ApplicationBuild that essentially tells the platform how to run your game server.

HTTP request

Request body

{
  "name": "Bluewolf-server PC",
  "executable": "bluewolf-server",
  "startupParameters": "-gameport VAR_GAMEPORT -managementport VAR_MANAGEMENTPORT -managementpassword VAR_MANAGEMENTPASSWORD",
  "installId": 627322,
  "osId": 151,
  "label": [
    {
      "key": "platform",
      "value": "pc"
    }
  ]
}

Response body

[
  {
    "id": "2324653987059528218",
    "name": "Bluewolf-server PC",
    "applicationId": "245926280441350104",
    "type": 1,
    "executable": "bluewolf-server",
    "startupParameters": "-gameport VAR_GAMEPORT -managementport VAR_MANAGEMENTPORT -managementpassword VAR_MANAGEMENTPASSWORD",
    "installId": 627322,
    "osId": 151,
    "createdAt": 1568319468,
    "label": [
      {
        "key": "platform",
        "value": "pc"
      }
    ]
  }
]

The ApplicationProperty is an element that adds meaning to the Application element. E.g. you can define that an application uses a certain network port, or requires a password or multiple ports, and a preset password, or have the system generate a unique password for each . These properties are necessary for the system to function properly.

This property is of type "private network port" and works just like the game port in the previous property example, except it will be picked from the private port range (30000 - 49151). However, the name managementport is special in that by defining this property you tell the platform that we can use this port to contact your game server's management protocol. In the Application example above, we have indicated that our Application supports the Arcus (2) .

Great! You've setup your application (game) and you have created an ApplicationBuild that you can now use in your Deployment Template. To learn how, continue with the next chapter: .

ApplicationInstance
Full API reference
management protocol
Creating a completely configured deployment environment from scratch
Application
ApplicationProperty
ApplicationBuild
Application Element Relations
Full API reference
POST /v3/application
POST /v3/application/245926280441350104/property
POST /v3/application/245926280441350104/property
POST /v3/application/245926280441350104/property
Full API reference
POST /v3/applicationBuild