Fixed a bug in the ServerManager.java

This commit is contained in:
Mathias Wagner 2024-02-13 20:51:22 +01:00
parent 3dd23351d0
commit e626a80fe3
Signed by: Mathias
GPG Key ID: B8DC354B0A1F5B44

View File

@ -106,7 +106,7 @@ public class ServerManager {
processBuilder.directory(new File(serverFolder, server.getName())); processBuilder.directory(new File(serverFolder, server.getName()));
Process process = processBuilder.start(); Process process = processBuilder.start();
server.keepAlive(); server.checkHealth();
server.setStatus(ServerStatus.ONLINE); server.setStatus(ServerStatus.ONLINE);
server.setProcess(process); server.setProcess(process);
@ -128,16 +128,20 @@ public class ServerManager {
try { try {
server.getProcess().getOutputStream().write("stop\n".getBytes()); server.getProcess().getOutputStream().write("stop\n".getBytes());
server.getProcess().getOutputStream().flush();
for (int i = 0; i < 10; i++) { for (int i = 0; i < 20; i++) {
if (server.getProcess().isAlive()) { if (server.getProcess() != null && server.getProcess().isAlive()) {
Thread.sleep(1000); Thread.sleep(1000);
} else { } else {
break; break;
} }
} }
if (server.getProcess() != null && server.getProcess().isAlive()) {
server.getProcess().destroy(); server.getProcess().destroy();
}
server.setStatus(ServerStatus.OFFLINE); server.setStatus(ServerStatus.OFFLINE);
server.setProcess(null); server.setProcess(null);
} catch (Exception e) { } catch (Exception e) {