Management Protocol
A management protocol is a means for a game server to be queried or controlled by an external source. In this case the external source is i3D.net's ONE Game Hosting service.
Management protocols are used for different purposes. They can allow for an external program to query a game server for live game related information (status queries returning the number of players, the current map, rules, etc), or sending commands for e.g. a graceful (soft) stop. Some management protocols go further than that and allow full administrative functionality for a game server (kick players, send messages to clients, reconfigure map & rules, etc.), but that goes beyond the scope of this article.
There are different management protocols. Examples of these are A2S, RCON, U3E. Most protocols have the same kind of functionality, but their implementations can differ. So in order for our system to communicate with your game servers, you have to indicate which management protocol they support. You can indicate this in the Application element(s) you create for your game server application(s).
Application management properties
In order for your game to use a management protocol within our platform, you have to tell it on which network port your management protocol is listening, enabling our Host Agent to connect with it. You do that by adding an ApplicationProperty to your Application, with:
- a
propertyType
of 6 (private network port) - a
propertyKey
called "managementPort" - a
propertyValue
between 30000 and 49151
If your management protocol / implementation also requires a password (e.g. an admin password) then you must also add the following ApplicationProperty:
- a
propertyType
of 2, 3 or 4 (password8, password16, password24) - a
propertyKey
called "managementPassword" - a
propertyValue
empty if you want our system to generate unique passwords for each ApplicationInstance, or fill in a password for this value to pre-define one
Note
When you set a managementPassword in an Application, you can then use that password in your ApplicationBuild configurations by using `VAR_MANAGEMENTPASSWORD`. Please refer to the [Platform variables](../../Platform-Elements/Application/Platform-Variables.md) chapter for more information.
Supported management protocols
When you create an Application in our system, you must provide a value for the managementProtocol property. The following table lists the supported protocols and their IDs:
Protocol ID | Name | Description |
---|---|---|
0 | None | If you do not have a management procotol, use this value |
1 | A2S | This is the standard Steam query protocol. It's simple and only used for querying your game server for information about the game. |
2 | Arcus | Arcus is a management protocol developed by i3D.net. It allows for querying game server information, requesting allocation status, exchanging metadata, sending custom commands, etc. |
Supported features per management protocol
1: A2S
- game server information (server query)
2: Arcus
- game server information (server query)
- soft-stop method 1 (Arcus msg)
- metadata (pushing metadata to the game server, to update its configuration)
- isAllocated (ask game server for allocation status)
Requesting support for your management protocol
If you have a protocol that we currently do not support, or maybe you have one that we support but you've customized it, then please contact us to discuss how we can support your version of the management protocol and how we have to implement it.