CortexPE/TeaSpoon

Error PlayerKickEvent' to 'TeaSpoon v1.0.0' when a player are banned

Closed this issue · 4 comments

I reproduce issue number #59
This issue happened when a player try to connect

  • banned player or
  • player not identified on XboxLive

TeaSpoon_dev-25
PocketMine-MP_1.7dev-448

  1. When are banned player try to connect i have this issue.
    Player VerekG[/82.XXX.237.211:39533] is banned on banned-players.txt
    the 2 errors line show same IP
2017-11-26 [07:37:19] �[Server thread/CRITICAL]: TypeError: "Return value of pocketmine\entity\Entity::getId() must be of the type integer, null returned" (EXCEPTION) in "src/pocketmine/entity/Entity" at line 1840�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #0 TeaSpoon_dev-25.phar/src/CortexPE/EventListener(313): pocketmine\entity\Entity->getId()�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #1 src/pocketmine/plugin/MethodEventExecutor(38): CortexPE\EventListener->onKick(pocketmine\event\player\PlayerKickEvent object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #2 src/pocketmine/plugin/RegisteredListener(98): pocketmine\plugin\MethodEventExecutor->execute(CortexPE\EventListener object, pocketmine\event\player\PlayerKickEvent object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #3 src/pocketmine/plugin/PluginManager(721): pocketmine\plugin\RegisteredListener->callEvent(pocketmine\event\player\PlayerKickEvent object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #4 src/pocketmine/Player(3120): pocketmine\plugin\PluginManager->callEvent(pocketmine\event\player\PlayerKickEvent object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #5 src/pocketmine/Player(1838): pocketmine\Player->kick(string You are banned, boolean )�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #6 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(100): pocketmine\Player->handleLogin(pocketmine\network\mcpe\protocol\LoginPacket object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #7 src/pocketmine/network/mcpe/protocol/LoginPacket(141): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleLogin(pocketmine\network\mcpe\protocol\LoginPacket object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #8 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(92): pocketmine\network\mcpe\protocol\LoginPacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #9 src/pocketmine/network/mcpe/protocol/BatchPacket(115): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\LoginPacket object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #10 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(92): pocketmine\network\mcpe\protocol\BatchPacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #11 src/pocketmine/Player(2999): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #12 src/pocketmine/network/mcpe/RakLibInterface(143): pocketmine\Player->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #13 vendor/pmmp/raklib/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string 82.XXX.237.211:39533, raklib\protocol\EncapsulatedPacket object, integer 0)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #14 src/pocketmine/network/mcpe/RakLibInterface(82): raklib\server\ServerHandler->handlePacket()�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #15 src/pocketmine/network/Network(89): pocketmine\network\mcpe\RakLibInterface->process()�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #16 src/pocketmine/Server(2516): pocketmine\network\Network->processInterfaces()�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #17 src/pocketmine/Server(2272): pocketmine\Server->tick()�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #18 src/pocketmine/Server(2147): pocketmine\Server->tickProcessor()�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #19 src/pocketmine/Server(1735): pocketmine\Server->start()�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #20 src/pocketmine/PocketMine(552): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string phar:///home/gsp_1485/g3.hmserv.eu-19144/PocketMine-MP.phar/, string /home/gsp_1485/g3.hmserv.eu-19144/, string /home/gsp_1485/g3.hmserv.eu-19144/plugins/)�
2017-11-26 [07:37:19] �[Server thread/DEBUG]: #21 /home/gsp_1485/g3.hmserv.eu-19144/PocketMine-MP.phar(1): require(string phar:///home/gsp_1485/g3.hmserv.eu-19144/PocketMine-MP.phar/src/pocketmine/PocketMine.php)�

2017-11-26 [07:37:19] �[Server thread/INFO]: VerekG[/82.XXX.237.211:39533] logged out due to You are banned�```


2) The player nkoz[/151.XXX.93.200:3968] try to connect to the server without XboxLive identification needed on the server.

```2017-11-26 [04:29:12] �[Server thread/CRITICAL]: Could not pass event 'pocketmine\event\player\PlayerKickEvent' to 'TeaSpoon v1.0.0': Return value of pocketmine\entity\Entity::getId() must be of the type integer, null returned on CortexPE\EventListener�
2017-11-26 [04:29:12] �[Server thread/CRITICAL]: TypeError: "Return value of pocketmine\entity\Entity::getId() must be of the type integer, null returned" (EXCEPTION) in "src/pocketmine/entity/Entity" at line 1840�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #0 TeaSpoon_dev-25.phar/src/CortexPE/EventListener(313): pocketmine\entity\Entity->getId()�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #1 src/pocketmine/plugin/MethodEventExecutor(38): CortexPE\EventListener->onKick(pocketmine\event\player\PlayerKickEvent object)�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #2 src/pocketmine/plugin/RegisteredListener(98): pocketmine\plugin\MethodEventExecutor->execute(CortexPE\EventListener object, pocketmine\event\player\PlayerKickEvent object)�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #3 src/pocketmine/plugin/PluginManager(721): pocketmine\plugin\RegisteredListener->callEvent(pocketmine\event\player\PlayerKickEvent object)�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #4 src/pocketmine/Player(3120): pocketmine\plugin\PluginManager->callEvent(pocketmine\event\player\PlayerKickEvent object)�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #5 src/pocketmine/Player(1879): pocketmine\Player->kick(string disconnectionScreen.notAuthenticated, boolean )�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #6 src/pocketmine/network/mcpe/VerifyLoginTask(146): pocketmine\Player->onVerifyCompleted(pocketmine\network\mcpe\protocol\LoginPacket object, boolean 1, boolean )�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #7 src/pocketmine/scheduler/AsyncPool(164): pocketmine\network\mcpe\VerifyLoginTask->onCompletion(pocketmine\Server object)�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #8 src/pocketmine/scheduler/ServerScheduler(342): pocketmine\scheduler\AsyncPool->collectTasks()�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #9 src/pocketmine/Server(2525): pocketmine\scheduler\ServerScheduler->mainThreadHeartbeat(integer 503474)�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #10 src/pocketmine/Server(2272): pocketmine\Server->tick()�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #11 src/pocketmine/Server(2147): pocketmine\Server->tickProcessor()�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #12 src/pocketmine/Server(1735): pocketmine\Server->start()�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #13 src/pocketmine/PocketMine(552): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string phar:///home/gsp_1485/g3.hmserv.eu-19144/PocketMine-MP.phar/, string /home/gsp_1485/g3.hmserv.eu-19144/, string /home/gsp_1485/g3.hmserv.eu-19144/plugins/)�
2017-11-26 [04:29:12] �[Server thread/DEBUG]: #14 /home/gsp_1485/g3.hmserv.eu-19144/PocketMine-MP.phar(1): require(string phar:///home/gsp_1485/g3.hmserv.eu-19144/PocketMine-MP.phar/src/pocketmine/PocketMine.php)�
2017-11-26 [04:29:12] �[Server thread/INFO]: rnkoz[/151.XXX.93.200:3968] logged out due to You need to authenticate to Xbox Live.�```


Sadly, there isn't much that we can do regarding that issue...

2017-11-26 [04:29:12] [Server thread/CRITICAL]: TypeError: "Return value of pocketmine\entity\Entity::getId() must be of the type integer, null returned" (EXCEPTION) in "src/pocketmine/entity/Entity" at line 1840

as this line defines the error as a "TypeError" from pocketmine/entity/Entity,it occurs BEFORE the return value of Entity::getId() (which is STRICTLY set to be int) is passed to TeaSpoon's EventListener...

You can ask for PMMP to fix this bug since this is being handled by PMMP's Entity class.

thanks
on test

@teracube is it fixed on latest build?

@CortexPE
fixed :-)