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

Failed to initialize and/or connect to chess engine process #92

Closed faalzz closed 6 days ago

faalzz commented 6 days ago

[03:35:18 INFO]: Falzz issued server command: /chess cpu_match Teste [03:35:18 WARN]: java.lang.RuntimeException: Failed to initialize and/or connect to chess engine process [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.ChessGame.(ChessGame.java:113) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.ChessBoard.startGame(ChessBoard.java:279) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.ChessBoard.startCpuGame(ChessBoard.java:249) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.command.Commands.cpuMatch(Commands.java:501) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.org.incendo.cloud.execution.CommandExecutionHandler.executeFuture(CommandExecutionHandler.java:91) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.org.incendo.cloud.execution.ExecutionCoordinatorImpl.lambda$coordinateExecution$4(ExecutionCoordinatorImpl.java:121) [03:35:18 WARN]: at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) [03:35:18 WARN]: at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.org.incendo.cloud.execution.ExecutionCoordinatorImpl$NonSchedulingExecutor.execute(ExecutionCoordinatorImpl.java:53) [03:35:18 WARN]: at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1184) [03:35:18 WARN]: at java.base/java.util.concurrent.CompletableFuture.thenComposeAsync(CompletableFuture.java:2352) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.org.incendo.cloud.execution.ExecutionCoordinatorImpl.coordinateExecution(ExecutionCoordinatorImpl.java:104) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.org.incendo.cloud.StandardCommandExecutor.executeCommand(StandardCommandExecutor.java:91) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.org.incendo.cloud.StandardCommandExecutor.executeCommand(StandardCommandExecutor.java:65) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.org.incendo.cloud.brigadier.CloudBrigadierCommand.run(CloudBrigadierCommand.java:94) [03:35:18 WARN]: at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) [03:35:18 WARN]: at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:31) [03:35:18 WARN]: at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:19) [03:35:18 WARN]: at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) [03:35:18 WARN]: at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) [03:35:18 WARN]: at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:103) [03:35:18 WARN]: at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:443) [03:35:18 WARN]: at net.minecraft.commands.Commands.performCommand(Commands.java:350) [03:35:18 WARN]: at net.minecraft.commands.Commands.performCommand(Commands.java:337) [03:35:18 WARN]: at net.minecraft.commands.Commands.performCommand(Commands.java:332) [03:35:18 WARN]: at net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImpl.java:2218) [03:35:18 WARN]: at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$11(ServerGamePacketListenerImpl.java:2192) [03:35:18 WARN]: at net.minecraft.server.TickTask.run(TickTask.java:18) [03:35:18 WARN]: at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) [03:35:18 WARN]: at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) [03:35:18 WARN]: at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1537) [03:35:18 WARN]: at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) [03:35:18 WARN]: at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) [03:35:18 WARN]: at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1514) [03:35:18 WARN]: at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1507) [03:35:18 WARN]: at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) [03:35:18 WARN]: at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1466) [03:35:18 WARN]: at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1473) [03:35:18 WARN]: at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1318) [03:35:18 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:330) [03:35:18 WARN]: at java.base/java.lang.Thread.run(Thread.java:1583) [03:35:18 WARN]: Caused by: xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.exceptions.StockfishInitException: Unable to start and bind Stockfish process. [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.UCIEngine.(UCIEngine.java:51) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.Stockfish.(Stockfish.java:29) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.StockfishClient.(StockfishClient.java:60) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.StockfishClient$Builder.build(StockfishClient.java:161) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.ChessGame.createStockfishClient(ChessGame.java:654) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.ChessGame.(ChessGame.java:111) [03:35:18 WARN]: ... 40 more [03:35:18 WARN]: Caused by: xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.exceptions.StockfishEngineException: Can not find expected line: 'readyok' in output: [03:35:18 WARN]: /crafty/servers/598bd9d2-b1f5-4868-b4f8-88bb53c2e16c/plugins/ChessCraft/engines/managed/stockfish_16_linux_x64_popcnt: 1: Syntax error: "(" unexpected [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.UCIEngine.readUntil(UCIEngine.java:99) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.UCIEngine.waitForReady(UCIEngine.java:57) [03:35:18 WARN]: at chesscraft-0.5.1-SNAPSHOT+fcf9004-all.jar//xyz.jpenilla.chesscraft.dependency.xyz.niflheim.stockfish.engine.UCIEngine.(UCIEngine.java:46) [03:35:18 WARN]: ... 45 more

jpenilla commented 6 days ago

ChessCraft uses the standard Java Process API to start and connect to the chess engine process. Your system is returning /crafty/servers/598bd9d2-b1f5-4868-b4f8-88bb53c2e16c/plugins/ChessCraft/engines/managed/stockfish_16_linux_x64_popcnt: 1: Syntax error: "(" unexpected when ChessCraft attempts to run the Stockfish binary. This is not an issue with the plugin.

To troubleshoot this you should inspect the downloaded binary and attempt to run it manually.

Usually, this is caused by a corrupted download or by system configuration/native library issues. If the download is corrupt you can manually download and place the binary in ChessCraft/engines/custom and use the file name as the value for the stockfish-engine option in config.yml. If it's a native library issue you will either need to resolve it or use an older version of Stockfish that is compatible with your system.