Open ghost opened 4 years ago
Should be fixed in latest commits now, thank you for testing!
2020-04-14 [12:28:12] [Server thread/NOTICE]: [TicTacToe] A Game has been attempted to be constructed with an Arena which is either occupied or (more likely) its level got unloaded!
2020-04-14 [12:28:25] [Server thread/CRITICAL]: Exception: "getPlayerWithSymbol: failed" (EXCEPTION) in "plugins/TicTacToe-dev/src/robske_110/TTT/Game/Game" at line 169
2020-04-14 [12:28:25] [Server thread/DEBUG]: #0 plugins/TicTacToe-dev/src/robske_110/TTT/Game/Game(137): robske_110\TTT\Game\Game->getPlayerWithSymbol(string[0] )
2020-04-14 [12:28:25] [Server thread/DEBUG]: #1 plugins/TicTacToe-dev/src/robske_110/TTT/Game/Game(57): robske_110\TTT\Game\Game->checkForWin()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #2 plugins/TicTacToe-dev/src/robske_110/TTT/EventListener(32): robske_110\TTT\Game\Game->onGameMove(integer 481, object pocketmine\block\ItemFrame, object pocketmine\item\Item)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #3 src/pocketmine/plugin/MethodEventExecutor(38): robske_110\TTT\EventListener->onItemFrameItemSet(object pocketmine\event\player\PlayerInteractEvent)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #4 src/pocketmine/plugin/RegisteredListener(98): pocketmine\plugin\MethodEventExecutor->execute(object robske_110\TTT\EventListener, object pocketmine\event\player\PlayerInteractEvent)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #5 src/pocketmine/event/Event(95): pocketmine\plugin\RegisteredListener->callEvent(object pocketmine\event\player\PlayerInteractEvent)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #6 src/pocketmine/level/Level(1919): pocketmine\event\Event->call()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #7 src/pocketmine/Player(2454): pocketmine\level\Level->useItemOn(object pocketmine\math\Vector3, object pocketmine\item\Item, integer 2, object pocketmine\math\Vector3, object pocketmine\Player, boolean 1)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #8 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(151): pocketmine\Player->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #9 src/pocketmine/network/mcpe/protocol/InventoryTransactionPacket(178): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #10 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(111): pocketmine\network\mcpe\protocol\InventoryTransactionPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #11 src/pocketmine/network/mcpe/protocol/BatchPacket(123): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #12 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(111): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #13 src/pocketmine/Player(3161): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #14 src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #15 vendor/pocketmine/raklib/src/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[17] 2.89.255.54 38941, object raklib\protocol\EncapsulatedPacket, integer 0)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #16 src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #17 src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #18 vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe\{closure}()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #19 vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\snooze\SleeperHandler->processNotifications()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #20 src/pocketmine/Server(2349): pocketmine\snooze\SleeperHandler->sleepUntil(double 1586856505.3619)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #21 src/pocketmine/Server(2203): pocketmine\Server->tickProcessor()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #22 src/pocketmine/Server(1785): pocketmine\Server->start()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #23 src/pocketmine/PocketMine(268): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[47] /home/minecraft/multicraft/servers/server22957/, string[55] /home/minecraft/multicraft/servers/server22957/plugins/)
2020-04-14 [12:28:25] [Server thread/DEBUG]: #24 src/pocketmine/PocketMine(291): pocketmine\server()
2020-04-14 [12:28:25] [Server thread/DEBUG]: #25 (1): require(string[109] phar:///home/minecraft/multicraft/jar/versions/PocketMine/PocketMine1.14-1.phar/)
2020-04-14 [12:28:25] [Server thread/INFO]: » inxr0 Left
2020-04-14 [12:28:25] [Server thread/INFO]: inxr0[/2.89.255.54:38941] logged out due to Internal server error```
Is there a clear way to reproduce that error or does it happen at random? Is it occurring at game start or end?
no since he said he was going to win then it kicked him out of the server and i tried to win and nothing odd happened, it happens at game end
I found the error for the crash, fixed in the dev branch (hopefully the last one). The notice is a bit weird though, do you see any "An Arena got permanently disabled due to: ARENA_LEVEL_NOT_LOADED" messages before that? How many arenas do you have?
no that one never showed, im testing with just one arena, after all issues are fixed i will try with multiple ones
i will test the latest commit in a couple of minutes
no errors now and i found out the cause or way to reproduce the arena is occupied or level unloaded ..etc
step1: make 2 players join and start a game. step2: make the third player touch the join sign while they are playing.
done, after they finish the game the last piece (always is gold) they put is still in there and when the next game starts the gold is still in there but you can still select it but if you have silver it won't show as a silver in the occupied frame.
i think this is because you set plugin to clear the item frame items only when a player joins the queue and not when the game actually starts, or you set it on both but somehow it doesn't get removed
EDIT: forgot to mention that the winner doesn't get his inventory cleared.
Fixed the issue that the last item gets stuck in the item frames in the latest commit. I still cannot reproduce the "arena is occupied or level unloaded" error, can you give some more examples on how to trigger it? Will look into the inventory clearing issue.
none of the issues occur anymore, thanks for your efforts, i will keep the game open for the players for the next couple days and see if anything goes wrong.
for now, why don't you implement the game max time and per turn time features?
EDIT: ohh yeah forgot to mention that the game start teleportation isn't good since it teleports them into the itemframe position which is unconvenient, maybe back them from it by 1 block ?
the last item issue is still there,
when only 2 players join a game and finish it and it ENDS, the items in it doesn't get cleared until a player joins the queue, after that the game would run normally without issues, BUT!, when 2 players are playing and the third player joins the queue while they are playing, when the game ends the items in the item frames get cleared except for one, it stays there but you can still select it but if its gold and you are silver it will count as silver but will show as is ( gold ).
and there are no errors in the console nor the arena is occupied message , just the "ending game" and "end game done" messages
just tried the latest dev branch commit and got a draw and this error showed up
idk why it doesn't show but the first line is
2020-04-14 [10:08:06] [Server thread/CRITICAL]: Exception: "getOpponent: failed" (EXCEPTION) in "plugins/TicTacToe-Dev/src/robske_110/TTT/Game/Game" at line 180