Skip to content

Application Management

Application Management is the process of defining and maintaining the applications you want to deploy with the ONE Game Hosting service.

Application elements

An Application is defined by the following two elements:

Application definition elements:

For information on maintaining builds for your Application, please see the Application Build Management chapter.

Application & ApplicationProperty example

To be able to deploy an imaginary game called "Bluewolf", you first have to create an Application element, defining your application within the platform. It would be specified as follows:

Application

POST /v3/application

JSON request data Application:

{
  "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"
}
The value 2 for managementProtocol stands for the Arcus management protocol.

Next, ApplicationProperty elements are added to the Application. This is necessary for Application configuration and to ensure the platform knows how to deploy related instances:

ApplicationProperty 1

POST /v3/application/{applicationId}/property

JSON request data ApplicationProperty:

{
  "propertyType": 1,
  "propertyKey": "game_port",
  "propertyValue": "0"
}
The value 1 for propertyType stands for "public network port". In this case we give it the name game_port and the default value of 0. Passing 0 instructs the platform to find a random free port each time an application instance is started.

More information on the network port property type

ApplicationProperty 2

POST /v3/application/{applicationId}/property

JSON request data ApplicationProperty:

{
  "propertyType": 6,
  "propertyKey": "managementport",
  "propertyValue": "0"
}
The value 6 for propertyType stands for "private network port". Giving your Application a managementport property tells the platform that your game servers can be queried for information, or that commands can be issued. The latter depends on the value of the Application.management_protocol property you provided while creating the Application. Just like with the previous game_port property, the value 0 tells the platform to pick a random port on each application instance start.

More information on the network port property type

ApplicationProperty 3

POST /v3/application/{applicationId}/property

JSON request data ApplicationProperty:

{
  "propertyType": 0,
  "propertyKey": "revision",
  "propertyValue": "1.2.13"
}
This is a raw property. The platform does not use these internally for any kind of functionality and these properties are here only for your own reference, or to use as a static configuration parameter in your game server startup configurations.

More information on platform variables

We now have a complete Application element with definitions for:

  • application type, Application.type = 1 (game)
  • a managementProtocol, Application.managementProtocol = 2 (Arcus)
  • a management private network port, ApplicationProperty "managementport" with default value 0 (random port)
  • a game server public network port, ApplicationProperty "game_port" with default value 0 (random port)
  • a default revision value, ApplicationProperty "revision" with value 1.2.13