From e626a80fe3e650b6ae15e423f3999cb6916ab8c5 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Tue, 13 Feb 2024 20:51:22 +0100 Subject: [PATCH] Fixed a bug in the ServerManager.java --- src/main/java/de/gnmyt/mcdash/api/ServerManager.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/gnmyt/mcdash/api/ServerManager.java b/src/main/java/de/gnmyt/mcdash/api/ServerManager.java index 22a2daf..fec3633 100644 --- a/src/main/java/de/gnmyt/mcdash/api/ServerManager.java +++ b/src/main/java/de/gnmyt/mcdash/api/ServerManager.java @@ -106,7 +106,7 @@ public class ServerManager { processBuilder.directory(new File(serverFolder, server.getName())); Process process = processBuilder.start(); - server.keepAlive(); + server.checkHealth(); server.setStatus(ServerStatus.ONLINE); server.setProcess(process); @@ -128,16 +128,20 @@ public class ServerManager { try { server.getProcess().getOutputStream().write("stop\n".getBytes()); + server.getProcess().getOutputStream().flush(); - for (int i = 0; i < 10; i++) { - if (server.getProcess().isAlive()) { + for (int i = 0; i < 20; i++) { + if (server.getProcess() != null && server.getProcess().isAlive()) { Thread.sleep(1000); } else { break; } } - server.getProcess().destroy(); + if (server.getProcess() != null && server.getProcess().isAlive()) { + server.getProcess().destroy(); + } + server.setStatus(ServerStatus.OFFLINE); server.setProcess(null); } catch (Exception e) {