diff --git a/application/core/Players/PlayerManager.php b/application/core/Players/PlayerManager.php index f236a5be..833847e2 100644 --- a/application/core/Players/PlayerManager.php +++ b/application/core/Players/PlayerManager.php @@ -238,6 +238,36 @@ class PlayerManager implements CallbackListener { return $this->players; } + /** + * Gets the Count of all Player + * @return int + */ + public function getPlayerCount(){ + $count = 0; + foreach($this->players as $player){ + /** @var Player $player */ + if(!$player->isSpectator){ + $count++; + } + } + return $count; + } + + /** + * Gets the Count of all Spectators + * @return int + */ + public function getSpectatorCount(){ + $count = 0; + foreach($this->players as $player){ + /** @var Player $player */ + if($player->isSpectator){ + $count++; + } + } + return $count; + } + /** * Gets a Player by his index * @@ -248,7 +278,6 @@ class PlayerManager implements CallbackListener { foreach($this->players as $player) { /** @var Player $player */ if ($player->index == $index) { - return $player; } } diff --git a/application/core/Server/UsageReporter.php b/application/core/Server/UsageReporter.php index 3b2fa635..2a3c167b 100644 --- a/application/core/Server/UsageReporter.php +++ b/application/core/Server/UsageReporter.php @@ -53,7 +53,7 @@ class UsageReporter implements TimerListener { $properties['ServerLogin'] = $this->maniaControl->server->login; $properties['TitleId'] = $this->maniaControl->server->titleId; $properties['ServerName'] = $this->maniaControl->server->getName(); - $properties['PlayerCount'] = count($this->maniaControl->playerManager->getPlayers()); + $properties['PlayerCount'] = $this->maniaControl->playerManager->getPlayerCount(); try { $maxPlayers = $this->maniaControl->client->getMaxPlayers(); $properties['MaxPlayers'] = $maxPlayers["CurrentValue"];