pmmp / PocketMine-MP

A server software for Minecraft: Bedrock Edition in PHP
https://pmmp.io
GNU Lesser General Public License v3.0
3.26k stars 1.54k forks source link

this was working in pocketmine 4.0.0 but not in 4.1.0 #4812

Closed Raphael716 closed 2 years ago

Raphael716 commented 2 years ago

Issue description

Steps to reproduce the issue

  1. ...
  2. ...

OS and versions

Plugins

[02:29:06.700] (B[Server thread/CRITICAL]: pocketmine\utils\ConfigLoadException: "Failed to parse config /var/lib/pufferpanel/Sanctions/BanIP.json: Syntax error" (EXCEPTION) in "pmsrc/src/utils/ConfigLoadException" at line 29 --- Stack trace ---

0 pmsrc/src/utils/Config(180): pocketmine\utils\ConfigLoadException::wrap(string[41] /var/lib/pufferpanel/Sanctions/BanIP.json, object JsonException#100294)

1 pmsrc/src/utils/Config(121): pocketmine\utils\Config->load(string[41] /var/lib/pufferpanel/Sanctions/BanIP.json, integer 1, array[0])

2 plugins/ManageCommand2/src/Silex/API/SanctionAPI(57): pocketmine\utils\Config->__construct(string[41] /var/lib/pufferpanel/Sanctions/BanIP.json, integer 1)

3 plugins/ManageCommand2/src/Silex/Events/PlayerJoin(39): Silex\API\SanctionAPI->isBannedIP(string[14] 135.19.165.202)

4 pmsrc/src/event/RegisteredListener(75): Silex\Events\PlayerJoin->PlayerJoin(object pocketmine\event\player\PlayerJoinEvent#100425)

5 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\player\PlayerJoinEvent#100425)

6 pmsrc/src/player/Player(817): pocketmine\event\Event->call()

7 pmsrc/src/network/mcpe/NetworkSession(711): pocketmine\player\Player->doFirstSpawn()

8 pmsrc/src/network/mcpe/NetworkSession(704): pocketmine\network\mcpe\NetworkSession->onClientSpawnResponse()

9 pmsrc/src/network/mcpe/handler/SpawnResponsePacketHandler(44): pocketmine\network\mcpe\NetworkSession->pocketmine\network\mcpe{closure}()

10 pmsrc/vendor/pocketmine/bedrock-protocol/src/SetLocalPlayerAsInitializedPacket(42): pocketmine\network\mcpe\handler\SpawnResponsePacketHandler->handleSetLocalPlayerAsInitialized(object pocketmine\network\mcpe\protocol\SetLocalPlayerAsInitializedPacket#100482)

11 pmsrc/src/network/mcpe/NetworkSession(395): pocketmine\network\mcpe\protocol\SetLocalPlayerAsInitializedPacket->handle(object pocketmine\network\mcpe\handler\SpawnResponsePacketHandler#34482)

12 pmsrc/src/network/mcpe/NetworkSession(358): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\SetLocalPlayerAsInitializedPacket#100482, string[2] q.)

13 pmsrc/src/network/mcpe/raklib/RakLibInterface(192): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[45] c*d4.......h.f`..$.....C.......9302...z......)

14 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(42): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(integer 0, string[54] ....(.(.]O..b...Q.....B......$...g..!.|.-xu...B.[...j.)

15 pmsrc/src/network/mcpe/raklib/RakLibInterface(122): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#161)

16 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}()

17 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications()

18 pmsrc/src/Server(1660): pocketmine\snooze\SleeperHandler->sleepUntil(double 1644287346.7075)

19 pmsrc/src/Server(1046): pocketmine\Server->tickProcessor()

20 pmsrc/src/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader#3, object pocketmine\utils\MainLogger#2, string[38] /var/lib/pufferpanel/servers/d7f50297/, string[46] /var/lib/pufferpanel/servers/d7f50297/plugins/)

21 pmsrc/src/PocketMine(327): pocketmine\server()

22 pmsrc(11): require(string[82] phar:///var/lib/pufferpanel/servers/d7f50297/PocketMine-MP.phar/src/PocketMine.p)

--- Previous --- JsonException: "Syntax error" (E_PARSE) in "pmsrc/src/utils/Config" at line 178

0 pmsrc/src/utils/Config(178): json_decode(string[0] , true, integer 512, integer 4194304)

1 pmsrc/src/utils/Config(121): pocketmine\utils\Config->load(string[41] /var/lib/pufferpanel/Sanctions/BanIP.json, integer 1, array[0])

2 plugins/ManageCommand2/src/Silex/API/SanctionAPI(57): pocketmine\utils\Config->__construct(string[41] /var/lib/pufferpanel/Sanctions/BanIP.json, integer 1)

3 plugins/ManageCommand2/src/Silex/Events/PlayerJoin(39): Silex\API\SanctionAPI->isBannedIP(string[14] 135.19.165.202)

4 pmsrc/src/event/RegisteredListener(75): Silex\Events\PlayerJoin->PlayerJoin(object pocketmine\event\player\PlayerJoinEvent#100425)

5 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\player\PlayerJoinEvent#100425)

6 pmsrc/src/player/Player(817): pocketmine\event\Event->call()

7 pmsrc/src/network/mcpe/NetworkSession(711): pocketmine\player\Player->doFirstSpawn()

8 pmsrc/src/network/mcpe/NetworkSession(704): pocketmine\network\mcpe\NetworkSession->onClientSpawnResponse()

9 pmsrc/src/network/mcpe/handler/SpawnResponsePacketHandler(44): pocketmine\network\mcpe\NetworkSession->pocketmine\network\mcpe{closure}()

10 pmsrc/vendor/pocketmine/bedrock-protocol/src/SetLocalPlayerAsInitializedPacket(42): pocketmine\network\mcpe\handler\SpawnResponsePacketHandler->handleSetLocalPlayerAsInitialized(object pocketmine\network\mcpe\protocol\SetLocalPlayerAsInitializedPacket#100482)

11 pmsrc/src/network/mcpe/NetworkSession(395): pocketmine\network\mcpe\protocol\SetLocalPlayerAsInitializedPacket->handle(object pocketmine\network\mcpe\handler\SpawnResponsePacketHandler#34482)

12 pmsrc/src/network/mcpe/NetworkSession(358): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\SetLocalPlayerAsInitializedPacket#100482, string[2] q.)

13 pmsrc/src/network/mcpe/raklib/RakLibInterface(192): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[45] c*d4.......h.f`..$.....C.......9302...z......)

14 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(42): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(integer 0, string[54] ....(.(.]O..b...Q.....B......$...g..!.|.-xu...B.[...j.)

15 pmsrc/src/network/mcpe/raklib/RakLibInterface(122): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#161)

16 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}()

17 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications()

18 pmsrc/src/Server(1660): pocketmine\snooze\SleeperHandler->sleepUntil(double 1644287346.7075)

19 pmsrc/src/Server(1046): pocketmine\Server->tickProcessor()

20 pmsrc/src/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader#3, object pocketmine\utils\MainLogger#2, string[38] /var/lib/pufferpanel/servers/d7f50297/, string[46] /var/lib/pufferpanel/servers/d7f50297/plugins/)

21 pmsrc/src/PocketMine(327): pocketmine\server()

22 pmsrc(11): require(string[82] phar:///var/lib/pufferpanel/servers/d7f50297/PocketMine-MP.phar/src/PocketMine.p)

--- End of exception information ---(B(B

LINE: return $config->exists($name);

Crashdump, backtrace or other files

Error: Failed to parse config /var/lib/pufferpanel/Sanctions/BanIP.json: Syntax error File: pmsrc/src/utils/ConfigLoadException Line: 29 Type: pocketmine\utils\ConfigLoadException

A PLUGIN WAS INVOLVED IN THIS CRASH BAD PLUGIN: ManageCommand

Code: [20] */ [21] [22] declare(strict_types=1); [23] [24] namespace pocketmine\utils; [25] [26] final class ConfigLoadException extends \RuntimeException{ [27] [28] public static function wrap(string $fileName, \Exception $e) : self{ [29] return new self("Failed to parse config $fileName: " . $e->getMessage(), 0, $e); [30] } [31] }

github-actions[bot] commented 2 years ago

Thanks, but this issue tracker is not intended for support requests. Please read the guidelines on submitting an issue.

Docs | Discord | Forums

dktapps commented 2 years ago

It "worked" in 4.0 because 4.0 silently swallowed some errors relating to config parsing. 4.1 doesn't do this. Your config was broken the whole time.