diff --git a/api/index.php b/api/index.php index 448233d..293ffec 100644 --- a/api/index.php +++ b/api/index.php @@ -34,14 +34,18 @@ $response['data']['time_formatted'] = getClock(time(), true, true); // Account count $accounts = mysql_select_single("SELECT COUNT('id') AS `count` FROM `accounts`;"); -$response['data']['accounts'] = ($accounts !== false) ? $accounts['count'] : 0; +$response['data']['accounts'] = ($accounts !== false) ? (int)$accounts['count'] : 0; // Player count $players = mysql_select_single("SELECT COUNT('id') AS `count` FROM `players`;"); -$response['data']['players'] = ($players !== false) ? $players['count'] : 0; +$response['data']['players'] = ($players !== false) ? (int)$players['count'] : 0; // online player count -if ($config['TFSVersion'] != 'TFS_10') $online = mysql_select_single("SELECT COUNT('id') AS `count` FROM `players` WHERE `status`='1';"); -else $online = mysql_select_single("SELECT COUNT('player_id') AS `count` FROM `players_online`;"); -$response['data']['online'] = ($online !== false) ? $online['count'] : 0; +if ($config['TFSVersion'] != 'TFS_10') { + $online = mysql_select_single("SELECT COUNT('id') AS `count`, COUNT(DISTINCT `lastip`) AS `unique` FROM `players` WHERE `status`='1';"); +} else { + $online = mysql_select_single("SELECT COUNT(`o`.`player_id`) AS `count`, COUNT(DISTINCT `p`.`lastip`) AS `unique` FROM `players_online` AS `o` INNER JOIN `players` AS `p` ON `o`.`player_id` = `p`.`id`;"); +} +$response['data']['online'] = ($online !== false) ? (int)$online['count'] : 0; +$response['data']['online_unique_ip'] = ($online !== false) ? (int)$online['unique'] : 0; $response['data']['client'] = $config['client']; $response['data']['port'] = $config['port']; $response['data']['guildwar'] = $config['guildwar_enabled'];