diff --git a/src/network/mcpe/NetworkSession.php b/src/network/mcpe/NetworkSession.php index 906dbef54..5da1cf2cf 100644 --- a/src/network/mcpe/NetworkSession.php +++ b/src/network/mcpe/NetworkSession.php @@ -35,6 +35,7 @@ use pocketmine\form\Form; use pocketmine\math\Vector3; use pocketmine\network\BadPacketException; use pocketmine\network\mcpe\compression\CompressBatchPromise; +use pocketmine\network\mcpe\compression\DecompressionException; use pocketmine\network\mcpe\compression\Zlib; use pocketmine\network\mcpe\encryption\DecryptionException; use pocketmine\network\mcpe\encryption\NetworkCipher; @@ -280,7 +281,7 @@ class NetworkSession{ Timings::$playerNetworkReceiveDecompressTimer->startTiming(); try{ $stream = new PacketBatch(Zlib::decompress($payload)); - }catch(\ErrorException $e){ + }catch(DecompressionException $e){ $this->logger->debug("Failed to decompress packet: " . base64_encode($payload)); //TODO: this isn't incompatible game version if we already established protocol version throw BadPacketException::wrap($e, "Compressed packet batch decode error"); diff --git a/src/network/mcpe/compression/DecompressionException.php b/src/network/mcpe/compression/DecompressionException.php new file mode 100644 index 000000000..dfaf7e50e --- /dev/null +++ b/src/network/mcpe/compression/DecompressionException.php @@ -0,0 +1,28 @@ +