workaround for unallowed characters in nicknames, player get kicked immideatly
This commit is contained in:
parent
c0d660adcd
commit
7c049d5222
@ -234,8 +234,16 @@ class CallbackManager implements UsageInformationAble {
|
|||||||
// Handle callbacks
|
// Handle callbacks
|
||||||
$timings = array();
|
$timings = array();
|
||||||
$startTime = microtime(true);
|
$startTime = microtime(true);
|
||||||
|
|
||||||
|
try {
|
||||||
$callbacks = $this->maniaControl->getClient()->executeCallbacks();
|
$callbacks = $this->maniaControl->getClient()->executeCallbacks();
|
||||||
|
} catch (ParseException $e) {
|
||||||
|
//TODO remove later, its for the wrong XML encoding of nadeo
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$timings["executeCallbacks"] = microtime(true) - $startTime;
|
$timings["executeCallbacks"] = microtime(true) - $startTime;
|
||||||
|
|
||||||
foreach ($callbacks as $key => $callback) {
|
foreach ($callbacks as $key => $callback) {
|
||||||
$time1 = microtime(true);
|
$time1 = microtime(true);
|
||||||
$this->handleCallback($callback);
|
$this->handleCallback($callback);
|
||||||
@ -299,12 +307,8 @@ class CallbackManager implements UsageInformationAble {
|
|||||||
$params = array_slice($params, 1, null, true);
|
$params = array_slice($params, 1, null, true);
|
||||||
|
|
||||||
foreach ($this->callbackListenings[$callbackName] as $listening) {
|
foreach ($this->callbackListenings[$callbackName] as $listening) {
|
||||||
try {
|
|
||||||
/** @var Listening $listening */
|
/** @var Listening $listening */
|
||||||
$listening->triggerCallbackWithParams($params);
|
$listening->triggerCallbackWithParams($params);
|
||||||
} catch (ParseException $e) {
|
|
||||||
//TODO remove later, its for the wrong XML encoding of nadeo
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ use ManiaControl\Logger;
|
|||||||
use ManiaControl\ManiaControl;
|
use ManiaControl\ManiaControl;
|
||||||
use ManiaControl\Statistics\StatisticManager;
|
use ManiaControl\Statistics\StatisticManager;
|
||||||
use ManiaControl\Utils\Formatter;
|
use ManiaControl\Utils\Formatter;
|
||||||
|
use Maniaplanet\DedicatedServer\Xmlrpc\ParseException;
|
||||||
use Maniaplanet\DedicatedServer\Xmlrpc\UnknownPlayerException;
|
use Maniaplanet\DedicatedServer\Xmlrpc\UnknownPlayerException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -220,7 +221,13 @@ class PlayerManager implements CallbackListener, TimerListener, CommunicationLis
|
|||||||
*/
|
*/
|
||||||
public function onInit() {
|
public function onInit() {
|
||||||
// Add all players
|
// Add all players
|
||||||
|
try {
|
||||||
$players = $this->maniaControl->getClient()->getPlayerList(300, 0, 2);
|
$players = $this->maniaControl->getClient()->getPlayerList(300, 0, 2);
|
||||||
|
} catch (ParseException $e) {
|
||||||
|
//TODO remove later, its for the wrong XML encoding of nadeo
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($players as $playerItem) {
|
foreach ($players as $playerItem) {
|
||||||
if ($playerItem->playerId <= 0) {
|
if ($playerItem->playerId <= 0) {
|
||||||
continue;
|
continue;
|
||||||
@ -329,6 +336,10 @@ class PlayerManager implements CallbackListener, TimerListener, CommunicationLis
|
|||||||
|
|
||||||
$this->addPlayer($player);
|
$this->addPlayer($player);
|
||||||
} catch (UnknownPlayerException $e) {
|
} catch (UnknownPlayerException $e) {
|
||||||
|
} catch (ParseException $e) {
|
||||||
|
$this->maniaControl->getClient()->kick($login, "\$f00You have an unallowed character in your nickname, please remove it!");
|
||||||
|
Logger::logError("Player With unallowed nickname joined and got kicked, login: " . $login);
|
||||||
|
//TODO remove later
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user