diff --git a/application/core/Server/ServerCommands.php b/application/core/Server/ServerCommands.php index d57822b4..f725e30a 100644 --- a/application/core/Server/ServerCommands.php +++ b/application/core/Server/ServerCommands.php @@ -3,12 +3,11 @@ namespace ManiaControl\Server; use FML\Controls\Quads\Quad_Icons128x32_1; -use FML\Controls\Quads\Quad_Icons64x64_1; -use ManiaControl\ManiaControl; use ManiaControl\Admin\AuthenticationManager; use ManiaControl\Callbacks\CallbackListener; use ManiaControl\Callbacks\CallbackManager; use ManiaControl\Commands\CommandListener; +use ManiaControl\ManiaControl; use ManiaControl\Manialinks\ManialinkPageAnswerListener; use ManiaControl\Players\Player; @@ -21,7 +20,7 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Constants */ - const ACTION_SET_PAUSE = 'ServerCommands.SetPause'; + const ACTION_SET_PAUSE = 'ServerCommands.SetPause'; /** * Private properties @@ -37,10 +36,10 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage */ public function __construct(ManiaControl $maniaControl) { $this->maniaControl = $maniaControl; - + // Register for callbacks $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MC_5_SECOND, $this, 'each5Seconds'); - + // Register for commands $this->maniaControl->commandManager->registerCommandListener('setpwd', $this, 'command_SetPwd', true); $this->maniaControl->commandManager->registerCommandListener('setservername', $this, 'command_SetServerName', true); @@ -64,19 +63,21 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage $itemQuad = new Quad_Icons128x32_1(); //TODO check if mode supports it $itemQuad->setSubStyle($itemQuad::SUBSTYLE_ManiaLinkSwitch); $itemQuad->setAction(self::ACTION_SET_PAUSE); - $this->maniaControl->actionsMenu->addAdminMenuItem($itemQuad, 1, 'Pauses the current map.'); + $this->maniaControl->actionsMenu->addAdminMenuItem($itemQuad, 1, 'Pauses the current game.'); } /** * Breaks the current game + * * @param array $callback */ - public function setPause(array $callback){ + public function setPause(array $callback) { $this->maniaControl->client->query('SendModeScriptCommands', array('Command_ForceWarmUp' => True)); $success = $this->maniaControl->client->getResponse(); - if(!$success) - $this->maniaControl->chat->sendError("Error while setting the break"); + if(!$success) { + $this->maniaControl->chat->sendError("Error while setting the pause"); + } } /** @@ -87,16 +88,16 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage */ public function each5Seconds(array $callback) { // Empty shutdown - if ($this->serverShutdownEmpty) { + if($this->serverShutdownEmpty) { $players = $this->maniaControl->playerManager->getPlayers(); - if (count($players) <= 0) { + if(count($players) <= 0) { $this->shutdownServer('empty'); } } - + // Delayed shutdown - if ($this->serverShutdownTime > 0) { - if (time() >= $this->serverShutdownTime) { + if($this->serverShutdownTime > 0) { + if(time() >= $this->serverShutdownTime) { $this->shutdownServer('delayed'); } } @@ -105,46 +106,45 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //systeminfo command * - * @param array $chat + * @param array $chat * @param Player $player */ public function command_SystemInfo(array $chat, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_SUPERADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_SUPERADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $systemInfo = $this->maniaControl->server->getSystemInfo(); - $message = 'SystemInfo: ip=' . $systemInfo['PublishedIp'] . ', port=' . $systemInfo['Port'] . ', p2pPort=' . - $systemInfo['P2PPort'] . ', title=' . $systemInfo['TitleId'] . ', login=' . $systemInfo['ServerLogin'] . '.'; + $message = 'SystemInfo: ip=' . $systemInfo['PublishedIp'] . ', port=' . $systemInfo['Port'] . ', p2pPort=' . $systemInfo['P2PPort'] . ', title=' . $systemInfo['TitleId'] . ', login=' . $systemInfo['ServerLogin'] . '.'; $this->maniaControl->chat->sendInformation($message, $player->login); } /** * Handle //shutdownserver command * - * @param array $chat + * @param array $chat * @param Player $player */ public function command_ShutdownServer(array $chat, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_SUPERADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_SUPERADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } // Check for delayed shutdown $params = explode(' ', $chat[1][2]); - if (count($params) >= 2) { + if(count($params) >= 2) { $param = $params[1]; - if ($param == 'empty') { + if($param == 'empty') { $this->serverShutdownEmpty = !$this->serverShutdownEmpty; - if ($this->serverShutdownEmpty) { + if($this->serverShutdownEmpty) { $this->maniaControl->chat->sendInformation("The server will shutdown as soon as it's empty!", $player->login); return; } $this->maniaControl->chat->sendInformation("Empty-shutdown cancelled!", $player->login); return; } - $delay = (int) $param; - if ($delay <= 0) { + $delay = (int)$param; + if($delay <= 0) { // Cancel shutdown $this->serverShutdownTime = -1; $this->maniaControl->chat->sendInformation("Delayed shutdown cancelled!", $player->login); @@ -161,21 +161,21 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //setservername command * - * @param array $chat + * @param array $chat * @param Player $player */ public function command_SetServerName(array $chat, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $params = explode(' ', $chat[1][2], 2); - if (count($params) < 2) { + if(count($params) < 2) { $this->maniaControl->chat->sendUsageInfo('Usage example: //setservername ManiaPlanet Server', $player->login); return; } $serverName = $params[1]; - if (!$this->maniaControl->client->query('SetServerName', $serverName)) { + if(!$this->maniaControl->client->query('SetServerName', $serverName)) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -185,23 +185,23 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //setpwd command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_SetPwd(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } - $messageParts = explode(' ', $chatCallback[1][2], 2); - $password = ''; + $messageParts = explode(' ', $chatCallback[1][2], 2); + $password = ''; $successMessage = 'Password removed!'; - if (isset($messageParts[1])) { - $password = $messageParts[1]; + if(isset($messageParts[1])) { + $password = $messageParts[1]; $successMessage = "Password changed to: '{$password}'!"; } $success = $this->maniaControl->client->query('SetServerPassword', $password); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -211,23 +211,23 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //setspecpwd command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_SetSpecPwd(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } - $messageParts = explode(' ', $chatCallback[1][2], 2); - $password = ''; + $messageParts = explode(' ', $chatCallback[1][2], 2); + $password = ''; $successMessage = 'Spectator password removed!'; - if (isset($messageParts[1])) { - $password = $messageParts[1]; + if(isset($messageParts[1])) { + $password = $messageParts[1]; $successMessage = "Spectator password changed to: '{$password}'!"; } $success = $this->maniaControl->client->query('SetServerPasswordForSpectator', $password); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -237,30 +237,30 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //setmaxplayers command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_SetMaxPlayers(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $messageParts = explode(' ', $chatCallback[1][2], 2); - if (!isset($messageParts[1])) { + if(!isset($messageParts[1])) { $this->maniaControl->chat->sendUsageInfo('Usage example: //setmaxplayers 16', $player->login); return; } $amount = $messageParts[1]; - if (!is_numeric($amount)) { + if(!is_numeric($amount)) { $this->maniaControl->chat->sendUsageInfo('Usage example: //setmaxplayers 16', $player->login); return; } - $amount = (int) $amount; - if ($amount < 0) { + $amount = (int)$amount; + if($amount < 0) { $amount = 0; } $success = $this->maniaControl->client->query('SetMaxPlayers', $amount); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -270,30 +270,30 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //setmaxspectators command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_SetMaxSpectators(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $messageParts = explode(' ', $chatCallback[1][2], 2); - if (!isset($messageParts[1])) { + if(!isset($messageParts[1])) { $this->maniaControl->chat->sendUsageInfo('Usage example: //setmaxspectators 16', $player->login); return; } $amount = $messageParts[1]; - if (!is_numeric($amount)) { + if(!is_numeric($amount)) { $this->maniaControl->chat->sendUsageInfo('Usage example: //setmaxspectators 16', $player->login); return; } - $amount = (int) $amount; - if ($amount < 0) { + $amount = (int)$amount; + if($amount < 0) { $amount = 0; } $success = $this->maniaControl->client->query('SetMaxSpectators', $amount); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -303,16 +303,16 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //hideserver command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_HideServer(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $success = $this->maniaControl->client->query('SetHideServer', 1); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -322,16 +322,16 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //showserver command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_ShowServer(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $success = $this->maniaControl->client->query('SetHideServer', 0); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -341,16 +341,16 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //enablemapdownload command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_EnableMapDownload(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $success = $this->maniaControl->client->query('AllowMapDownload', true); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -360,16 +360,16 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //disablemapdownload command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_DisableMapDownload(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_ADMIN)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $success = $this->maniaControl->client->query('AllowMapDownload', false); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -379,16 +379,16 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //enablehorns command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_EnableHorns(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_MODERATOR)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_MODERATOR)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $success = $this->maniaControl->client->query('DisableHorns', false); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -398,16 +398,16 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage /** * Handle //disablehorns command * - * @param array $chatCallback + * @param array $chatCallback * @param Player $player */ public function command_DisableHorns(array $chatCallback, Player $player) { - if (!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_MODERATOR)) { + if(!$this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_MODERATOR)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; } $success = $this->maniaControl->client->query('DisableHorns', true); - if (!$success) { + if(!$success) { $this->maniaControl->chat->sendError('Error occurred: ' . $this->maniaControl->getClientErrorText(), $player->login); return; } @@ -421,7 +421,7 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage * @return bool */ private function shutdownServer($login = '#') { - if (!$this->maniaControl->client->query('StopServer')) { + if(!$this->maniaControl->client->query('StopServer')) { trigger_error("Server shutdown command from '{login}' failed. " . $this->maniaControl->getClientErrorText()); return false; }