diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index c15d80a4b..0e829841f 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -2529,9 +2529,7 @@ class Server{ $this->logger->debug("Unhandled raw packet from $address $port: " . bin2hex($payload)); } }catch(\Throwable $e){ - if(\pocketmine\DEBUG > 1){ - $this->logger->logException($e); - } + $this->logger->logException($e); $this->getNetwork()->blockAddress($address, 600); } diff --git a/src/pocketmine/event/server/NetworkInterfaceCrashEvent.php b/src/pocketmine/event/server/NetworkInterfaceCrashEvent.php index f0d109427..ecbd9400e 100644 --- a/src/pocketmine/event/server/NetworkInterfaceCrashEvent.php +++ b/src/pocketmine/event/server/NetworkInterfaceCrashEvent.php @@ -26,7 +26,8 @@ namespace pocketmine\event\server; use pocketmine\network\NetworkInterface; /** - * Called when a network interface crashes, with relevant crash information. + * Never called. Should never have come into this world. Nothing to see here. + * @deprecated */ class NetworkInterfaceCrashEvent extends NetworkInterfaceEvent{ /** diff --git a/src/pocketmine/network/Network.php b/src/pocketmine/network/Network.php index 8a78a07f7..6deb9c698 100644 --- a/src/pocketmine/network/Network.php +++ b/src/pocketmine/network/Network.php @@ -26,7 +26,6 @@ declare(strict_types=1); */ namespace pocketmine\network; -use pocketmine\event\server\NetworkInterfaceCrashEvent; use pocketmine\event\server\NetworkInterfaceRegisterEvent; use pocketmine\event\server\NetworkInterfaceUnregisterEvent; use pocketmine\network\mcpe\NetworkSession; @@ -86,20 +85,7 @@ class Network{ public function tick() : void{ foreach($this->interfaces as $interface){ - try{ - $interface->tick(); - }catch(\Exception $e){ - $logger = $this->server->getLogger(); - if(\pocketmine\DEBUG > 1){ - $logger->logException($e); - } - - (new NetworkInterfaceCrashEvent($interface, $e))->call(); - - $interface->emergencyShutdown(); - $this->unregisterInterface($interface); - $logger->critical($this->server->getLanguage()->translateString("pocketmine.server.networkError", [get_class($interface), $e->getMessage()])); - } + $interface->tick(); } foreach($this->updateSessions as $k => $session){ diff --git a/src/pocketmine/network/NetworkInterface.php b/src/pocketmine/network/NetworkInterface.php index 8bf17e422..c13b86636 100644 --- a/src/pocketmine/network/NetworkInterface.php +++ b/src/pocketmine/network/NetworkInterface.php @@ -71,6 +71,7 @@ interface NetworkInterface{ public function shutdown() : void; /** + * @deprecated * Shuts down the network interface in an emergency situation, such as due to a crash. */ public function emergencyShutdown() : void; diff --git a/src/pocketmine/network/mcpe/RakLibInterface.php b/src/pocketmine/network/mcpe/RakLibInterface.php index 30d1d2fdf..b1ff36636 100644 --- a/src/pocketmine/network/mcpe/RakLibInterface.php +++ b/src/pocketmine/network/mcpe/RakLibInterface.php @@ -84,7 +84,6 @@ class RakLibInterface implements ServerInstance, AdvancedNetworkInterface{ public function start() : void{ $this->server->getTickSleeper()->addNotifier($this->sleeper, function() : void{ - //this should not throw any exception. If it does, this should crash the server since it's a fault condition. while($this->interface->handlePacket()); }); $this->rakLib->start(PTHREADS_INHERIT_CONSTANTS); //HACK: MainLogger needs constants for exception logging