CCU tracking

You can use the CCU tracking feature to view how many concurrent players are connected to your zeuz game servers.

Once enabled, you can view CCU data on the KPIs page in the zeuz control panel.

Before you begin

Before you enable CCU tracking, ensure that you have:

Integrate your game with the A2S protocol

To use CCU tracking, you must expose your CCU with A2S, the standard Steam query protocol, in your game server process. There are two ways to do this:

  • If you use the Steam SDK or the Online Subsystem Steam for Unreal Engine, your CCU is already exposed with A2S.
  • If you do not use the Steam SDK or the Unreal Subsystem Steam, you must expose your CCU with A2S directly. Contact your zeuz account manager for more information.

If you’re not sure if you have A2S, use the check below.

TIP: Check if you can use CCU tracking

To check if you have the A2S protocol, which is a requirement for the CCU tracking feature, follow these steps:

  1. Download and install the qstat command line utility.

    Linux: Ubuntu qstat (download is at the top of the page).

    Windows: qstat downloads

  2. In the zeuz control panel, go to Payloads and view Reserved payloads. Make a note of any reserved payload IP address and its port mapping details.

  3. At the command line, run the following qstat command. It uses the A2S protocol to try to connect to the IP address and port, and returns the results in XML format.

    ./qstat -xml -a2s <ipaddress:port>

    For example: ./qstat -xml -a2s 200.100.180.50:32082

    A successful A2S connection returns a result similar to the following, showing details including the game type, number of players and max players:

<qstat>
  <server type="A2S" address="200.100.180.50:32082" status="UP">
      <hostname>200.100.180.50</hostname>
      <name>My_zeuz_game</name>
      <gametype>My_game_type</gametype>
      <map>Precinct</map>
      <numplayers>7</numplayers>
      <maxplayers>32</maxplayers>
      <numspectators>0</numspectators>
      <maxspectators>0</maxspectators>
      <ping>127</ping>
      <retries>0</retries>
  </server>
</qstat>

An unsuccessful A2S connection attempt returns a short result with status="TIMEOUT".

  1. If the connection is unsuccessful and there are other mapped ports, retry the command with another mapped port.

If you try the command with all port mappings on a reserved payload IP address and none of them make a successful A2S connection, then you can’t use the CCU tracking feature.

Include statsPort in your allocation’s Command

To use CCU tracking, you must include the statsPort variable in the Command section of your allocation configuration.

The statsPort variable passes the port configuration to your game and allows it to transmit information about concurrent players.

For more information, see the Command configuration instructions.

Enable CCU tracking

You enable CCU tracking as part of creating an allocation. In the zeuz control panel go to Orchestration > Allocations and click +ADD ALLOCATION. See Create an allocation for more information.

In the Payload definition section, locate the CCU tracking drop-down.

CCU tracking is disabled by default. To enable it, select one of the following options:

  • Private: Only zeuz can access your tracking data.

  • Public: No restriction on who can access your tracking data. Use this option if you need to allow access to both zeuz and Steam.

    Note: The A2S protocol does not allow for authentication.

View CCU tracking data

Once you enable CCU tracking, newly started payloads report tracking information, but existing payloads do not.

Go to the KPIs page in the zeuz control panel to view the data on your game’s concurrent players. See KPIs : CCU for more information.


2020-mar-04 Page updated with editorial review.

2020-dec-14 Page created with editorial review.


Last edited on: October 14, 2021 (87e3c797)