Game server query protocols

A game server query protocol is a protocol that facilitates querying information from a game server instance. Game Server Hosting (Multiplay) uses the information supplied by the game server query protocol to detect unresponsive game servers and to create live dashboards of analytic data.

Game Server Hosting (Multiplay) requires all game titles to implement a game server query protocol. The information from the game server query protocol enables Game Server Hosting (Multiplay) to capture advanced analytic data on your game and feed it into Grafana dashboards to allow your team to monitor the game metrics and statistics. Depending on the query protocol, the statistics might include concurrently connected players (CCU), players by platform, total available server slots, and current map.

The game server query protocol also allows Game Server Hosting (Multiplay) to determine whether an instance of your game server is running properly. If Game Server Hosting (Multiplay) detects that a game server instance isn’t responding to queries, Game Server Hosting (Multiplay) restarts the game server to correct any issues.

Each game server must respond to queries regardless of the allocation status. If the game server doesn’t have any players on it or is otherwise unallocated, it should respond with “players=0” to ensure Game Server Hosting (Multiplay) doesn’t incorrectly detect that the game server is offline or unresponsive.

Types of game server query protocols

There are a variety of game server query protocols available. The two most common are:

  • SQP (Unity's Server Query Protocol)
  • A2S (Valve's Server Query Protocol)

The recommended protocol is SQP, which integrates well with Game Server Hosting. It is supported by both the Unity and Unreal Engine SDKs.

Game Server Hosting supports A2S. This may be useful if you are already using a library providing A2S, such as the Steam SDK. In future, this may not have feature parity with SQP.