improved shutdown/quit code
This commit is contained in:
parent
4f8542b854
commit
897630a95c
@ -6,7 +6,6 @@ use ManiaControl\Callbacks\Callbacks;
|
||||
use ManiaControl\Files\FileUtil;
|
||||
use ManiaControl\Plugins\PluginManager;
|
||||
use ManiaControl\Update\UpdateManager;
|
||||
use Maniaplanet\DedicatedServer\Connection;
|
||||
|
||||
/**
|
||||
* Error and Exception Manager Class
|
||||
@ -301,10 +300,7 @@ class ErrorHandler {
|
||||
|
||||
if ($this->maniaControl->client) {
|
||||
try {
|
||||
// Hide manialinks
|
||||
$this->maniaControl->client->sendHideManialinkPage();
|
||||
// Close the client connection
|
||||
Connection::delete($this->maniaControl->client);
|
||||
} catch (TransportException $e) {
|
||||
$this->handleException($e, false);
|
||||
}
|
||||
|
@ -177,9 +177,18 @@ class ManiaControl implements CommandListener, TimerListener {
|
||||
}
|
||||
$this->log($message);
|
||||
}
|
||||
$this->disconnect();
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the Client Connection
|
||||
*/
|
||||
public function disconnect() {
|
||||
Connection::delete($this->client);
|
||||
$this->client = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check Connection
|
||||
*/
|
||||
@ -294,7 +303,7 @@ class ManiaControl implements CommandListener, TimerListener {
|
||||
// Check if the version of the server is high enough
|
||||
$version = $this->client->getVersion();
|
||||
if ($version->build < self::MIN_DEDIVERSION) {
|
||||
trigger_error("The Server has Version '{$version->build}', while at least '" . self::MIN_DEDIVERSION . "' is required!", E_USER_ERROR);
|
||||
$this->quit("The Server has Version '{$version->build}', while at least '" . self::MIN_DEDIVERSION . "' is required!", true);
|
||||
}
|
||||
|
||||
// OnInit callback
|
||||
@ -307,12 +316,10 @@ class ManiaControl implements CommandListener, TimerListener {
|
||||
// AfterInit callback
|
||||
$this->callbackManager->triggerCallback(Callbacks::AFTERINIT);
|
||||
|
||||
// Announce ManiaControl
|
||||
$this->chat->sendInformation('ManiaControl v' . self::VERSION . ' successfully started!');
|
||||
|
||||
// Loading finished
|
||||
$this->log('Loading completed!');
|
||||
$this->log('Link: maniaplanet://#join=' . $this->server->login . '@' . $this->server->titleId);
|
||||
$this->chat->sendInformation('ManiaControl v' . self::VERSION . ' successfully started!');
|
||||
|
||||
// Main loop
|
||||
while (!$this->shutdownRequested) {
|
||||
@ -330,7 +337,7 @@ class ManiaControl implements CommandListener, TimerListener {
|
||||
// Load remote client
|
||||
$this->server->loadConfig();
|
||||
|
||||
$this->log("Connecting to server at {$this->server->config->host}:{$this->server->config->port}...");
|
||||
$this->log("Connecting to Server at {$this->server->config->host}:{$this->server->config->port}...");
|
||||
|
||||
try {
|
||||
$this->client = Connection::factory($this->server->config->host, $this->server->config->port, self::SCRIPT_TIMEOUT, $this->server->config->login, $this->server->config->pass);
|
||||
|
Loading…
Reference in New Issue
Block a user