Two response formats are supported: JSON with a top-level players_online value, or a plain response containing only the number.
01 Add the endpoint to your listing
On your listing edit page, enter a publicly reachable HTTPS URL in Live player count URL. C.O.P.S. checks it in the background approximately every two minutes and keeps the last valid result only for a short freshness window.
The endpoint must not require authentication headers or cookies. Test the URL directly in a browser or with a simple HTTP client before adding it to C.O.P.S.
02 JSON response
Use this when your server or database query produces a count:
<?php
// Replace this with the query used by your server/database.
$playersOnline = 42;
header('Content-Type: application/json');
echo json_encode([
'players_online' => (int) $playersOnline
]);
Expected response:
{"players_online":42}
Other JSON fields are allowed and ignored. The count must be the top-level players_online value.
03 Plain number response
The endpoint can return only the integer instead:
<?php
// Replace this with the query used by your server/database.
$playersOnline = 42;
header('Content-Type: text/plain');
echo (int) $playersOnline;
Expected response:
42
04 Response rules
- HTTPS is required and the endpoint must be publicly reachable by C.O.P.S.
- The accepted range is 0–9999; zero is a valid count.
- Plain-text responses must contain only the integer, apart from surrounding whitespace.
- Do not output HTML, debugging messages, warnings, labels, floats, or other text.
- Do not require authentication headers or cookies.
- Temporary failures result in an unknown live count rather than being treated as zero.
For example, 42 players, <b>42</b>, 42.0, and an HTML page are not valid responses.