jpenilla / chesscraft

Paper plugin adding in-world chess matches against players and chess engines (CPUs) to Minecraft
https://modrinth.com/plugin/chesscraft
Apache License 2.0
19 stars 2 forks source link

Stack track on challenge when standing within board space #9

Closed SlimeDog closed 1 year ago

SlimeDog commented 1 year ago

Paper 1.19.3-403 ChessCraft 0.1.0

Error in-game, no pieces are displayed, and a stack trace is logged. If one moves outside the board space, there is no error, the challenge succeeds, and the pieces are displayed.

jpenilla commented 1 year ago

Please share the stacktrace, I can't reproduce this (although I'm testing the latest master not 0.1.0)

SlimeDog commented 1 year ago
[17:24:12] [Server thread/INFO]: SlimeDog issued server command: /chess challenge cpu one white
[17:24:12] [Server thread/WARN]: xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.exceptions.StockfishEngineException: java.io.IOException: Broken pipe
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.UCIEngine.sendCommand(UCIEngine.java:67)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.UCIEngine.passOption(UCIEngine.java:104)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.UCIEngine.<init>(UCIEngine.java:41)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.Stockfish.<init>(Stockfish.java:28)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.StockfishClient.<init>(StockfishClient.java:61)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.StockfishClient$Builder.build(StockfishClient.java:155)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.ChessGame.createStockfishClient(ChessGame.java:379)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.ChessGame.<init>(ChessGame.java:77)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.ChessBoard.startGame(ChessBoard.java:170)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.command.Commands.challengeCpu(Commands.java:221)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.cloud.commandframework.execution.CommandExecutionHandler.executeFuture(CommandExecutionHandler.java:95)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.cloud.commandframework.execution.CommandExecutionCoordinator$SimpleCoordinator.coordinateExecution(CommandExecutionCoordinator.java:123)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.cloud.commandframework.CommandManager.executeCommand(CommandManager.java:189)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.cloud.commandframework.bukkit.BukkitCommand.execute(BukkitCommand.java:116)
[17:24:12] [Server thread/WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155)
[17:24:12] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_19_R2.CraftServer.dispatchCommand(CraftServer.java:930)
[17:24:12] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_19_R2.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64)
[17:24:12] [Server thread/WARN]:        at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264)
[17:24:12] [Server thread/WARN]:        at net.minecraft.commands.CommandDispatcher.performCommand(CommandDispatcher.java:313)
[17:24:12] [Server thread/WARN]:        at net.minecraft.commands.CommandDispatcher.a(CommandDispatcher.java:297)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2288)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.network.PlayerConnection.lambda$handleChatCommand$20(PlayerConnection.java:2248)
[17:24:12] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.b(IAsyncTaskHandler.java:59)
[17:24:12] [Server thread/WARN]:        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.TickTask.run(TickTask.java:18)
[17:24:12] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
[17:24:12] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1341)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197)
[17:24:12] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:126)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.bh(MinecraftServer.java:1318)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1311)
[17:24:12] [Server thread/WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:136)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.i_(MinecraftServer.java:1289)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1177)
[17:24:12] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316)
[17:24:12] [Server thread/WARN]:        at java.base/java.lang.Thread.run(Thread.java:1589)
[17:24:12] [Server thread/WARN]: Caused by: java.io.IOException: Broken pipe
[17:24:12] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.writeBytes(Native Method)
[17:24:12] [Server thread/WARN]:        at java.base/java.io.FileOutputStream.write(FileOutputStream.java:372)
[17:24:12] [Server thread/WARN]:        at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:125)
[17:24:12] [Server thread/WARN]:        at java.base/java.io.BufferedOutputStream.implFlush(BufferedOutputStream.java:251)
[17:24:12] [Server thread/WARN]:        at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:245)
[17:24:12] [Server thread/WARN]:        at java.base/sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:416)
[17:24:12] [Server thread/WARN]:        at java.base/sun.nio.cs.StreamEncoder.lockedFlush(StreamEncoder.java:218)
[17:24:12] [Server thread/WARN]:        at java.base/sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:205)
[17:24:12] [Server thread/WARN]:        at java.base/java.io.OutputStreamWriter.flush(OutputStreamWriter.java:263)
[17:24:12] [Server thread/WARN]:        at java.base/java.io.BufferedWriter.implFlush(BufferedWriter.java:372)
[17:24:12] [Server thread/WARN]:        at java.base/java.io.BufferedWriter.flush(BufferedWriter.java:359)
[17:24:12] [Server thread/WARN]:        at ChessCraft-0.1.0.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.UCIEngine.sendCommand(UCIEngine.java:65)
jpenilla commented 1 year ago

This is the same issue you were having with connecting to the chess engine earlier in #8. I don't see how where you are standing in-game could change anything here.

SlimeDog commented 1 year ago

OK, but when I moved outside the board, I was able to start a game.

jpenilla commented 1 year ago

Regardless, this is essentially a duplicate of #8, please post the additional context there instead.