ReinfyTeam / Zuri

A powerful anticheat made to destroy hackers from your server for PocketMine-MP.
GNU Lesser General Public License v2.1
31 stars 7 forks source link

Crasher (A): TypeError: "pocketmine\world\World::getChunk(): Argument #1 ($chunkX) must be of type int, float given. #44

Closed TrinitroToluen0 closed 4 weeks ago

TrinitroToluen0 commented 4 weeks ago

I can't give details about reproducing this bug because i did 3 different things: first, i have a plugin that pushes you away if you reach the limit of the world. Then i teleported outside the limit and used and ender pearl, then the server crashed.

Zuri version: v1.3.0-BETA

2024-05-31 [00:09:35.703] [Server thread/CRITICAL]: TypeError: "pocketmine\world\World::getChunk(): Argument #1 ($chunkX) must be of type int, float given, called in phar:///home/admin/Server/plugins/Zuri.phar/src/checks/badpackets/Crasher.php on line 59" (EXCEPTION) in "pmsrc/src/world/World" at line 2444 --- Stack trace ---

0 plugins/Zuri.phar/src/checks/badpackets/Crasher(59): pocketmine\world\World->getChunk(float 261.1188659668, float 450.00030517578)

1 plugins/Zuri.phar/src/listener/PlayerListener(554): ReinfyTeam\Zuri\checks\badpackets\Crasher->check(object pocketmine\network\mcpe\protocol\PlayerAuthInputPacket#229761, object ReinfyTeam\Zuri\player\PlayerAPI#310821)

2 plugins/Zuri.phar/src/listener/PlayerListener(94): ReinfyTeam\Zuri\listener\PlayerListener->check(object pocketmine\network\mcpe\protocol\PlayerAuthInputPacket#229761, object pocketmine\player\Player#326596)

3 pmsrc/src/event/RegisteredListener(61): ReinfyTeam\Zuri\listener\PlayerListener->onDataPacketReceive(object pocketmine\event\server\DataPacketReceiveEvent#242237)

4 pmsrc/src/event/Event(63): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\server\DataPacketReceiveEvent#242237)

5 pmsrc/src/network/mcpe/NetworkSession(460): pocketmine\event\Event->call()

6 pmsrc/src/network/mcpe/NetworkSession(406): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\PlayerAuthInputPacket#229761, string[60] .....A.O.C7..C.x.C...C.........O.C.....C....C.f?............)

7 pmsrc/src/network/mcpe/raklib/RakLibInterface(214): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[48] .......l.>..g..&........:3@.H......X..|..../..d.)

8 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(40): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(int 0, string[57] ...K..0~.o...&I..T.....P.G.\.W'.....k.h.@...j.....>..J%)

9 pmsrc/src/network/mcpe/raklib/RakLibInterface(107): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#318320)

10 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}()

11 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(120): pocketmine\TimeTrackingSleeperHandler->pocketmine{closure}()

12 pmsrc/src/TimeTrackingSleeperHandler(77): pocketmine\snooze\SleeperHandler->processNotifications()

13 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(79): pocketmine\TimeTrackingSleeperHandler->processNotifications()

14 pmsrc/src/Server(1696): pocketmine\snooze\SleeperHandler->sleepUntil(float 1717114175.7032)

15 pmsrc/src/Server(1066): pocketmine\Server->tickProcessor()

16 pmsrc/src/PocketMine(355): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#6, object pocketmine\utils\MainLogger#2, string[18] /home/admin/Server/, string[26] /home/admin/Server/plugins/)

17 pmsrc/src/PocketMine(378): pocketmine\server()

18 /home/admin/Server/PocketMine-MP.phar(168): require(string[72] phar:///tmp/PocketMine-MP-phar-cache.0/PMMPi0mAQw.tar/src/PocketMine.php)

--- End of exception information ---

xwertxy commented 4 weeks ago

Hmm, it seems to be the player pos is returning float instead of int losing its precision.

xwertxy commented 4 weeks ago

Thanks for reporting! Fixed in commit https://github.com/ReinfyTeam/Zuri/commit/ef46e8698006a9b2308c92eb5106d86acbc76b34, please use latest poggit ci or github automated phar builds.