From cf35de827dbd233424fa26033391589272c2cb95 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 15 Aug 2016 14:29:52 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BD=D0=B5=D1=81=D0=BA=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BA=D0=BE=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=B2=20=D0=BC=D0=BE=D0=B4=D1=83?= =?UTF-8?q?=D0=BB=D0=B5=20SingleServer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SingleServer/pom.xml | 2 +- .../main/java/asys/singleserver/Commands.java | 20 +++++++++++++++---- .../java/asys/singleserver/SingleServer.java | 4 +--- .../mcserver/MinecraftScreenServer.java | 9 ++++++--- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/SingleServer/pom.xml b/SingleServer/pom.xml index 8a956b8..c0936d8 100644 --- a/SingleServer/pom.xml +++ b/SingleServer/pom.xml @@ -20,7 +20,7 @@ asys singleserver - 0.1 + 0.2 bundle diff --git a/SingleServer/src/main/java/asys/singleserver/Commands.java b/SingleServer/src/main/java/asys/singleserver/Commands.java index 9593c55..022205b 100644 --- a/SingleServer/src/main/java/asys/singleserver/Commands.java +++ b/SingleServer/src/main/java/asys/singleserver/Commands.java @@ -19,10 +19,15 @@ public class Commands { this.serverManager = serverManager; } + private void log(String format, Object... objects) { + System.out.printf(format+"\n", objects); + } + @Command @Descriptor("Server start") public void start() { serverManager.getServer().start(); + log("Server start"); } @Command @@ -30,13 +35,15 @@ public class Commands { public void stop() { serverManager.getServer().stop(); serverManager.removeServer(); + log("Server stop"); } @Command @Descriptor("Server force stop") - public void forceStop() { + public void kill() { serverManager.getServer().forceStop(); serverManager.removeServer(); + log("Server kill"); } @Command @@ -45,13 +52,18 @@ public class Commands { MinecraftServer server = serverManager.getServer(); server.stop(); server.start(); + log("Server restart"); } @Command @Descriptor("Server is alive?") - public void isAlive() { - boolean alive = serverManager.getServer().isAlive(); - System.out.println(String.format("Server is alive: %s", alive)); + public void alive() { + boolean alive = false; + + MinecraftServer server = serverManager.getServer(); + if (server != null) alive = server.isAlive(); + + log("Server alive: %s", alive); } @Command diff --git a/SingleServer/src/main/java/asys/singleserver/SingleServer.java b/SingleServer/src/main/java/asys/singleserver/SingleServer.java index 4f29a5a..9fb5b90 100644 --- a/SingleServer/src/main/java/asys/singleserver/SingleServer.java +++ b/SingleServer/src/main/java/asys/singleserver/SingleServer.java @@ -15,9 +15,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Properties; -public class SingleServer - implements ServerManager -{ +public class SingleServer implements ServerManager { private MinecraftServer mcServer; private Properties configuration; diff --git a/SingleServer/src/main/java/asys/singleserver/mcserver/MinecraftScreenServer.java b/SingleServer/src/main/java/asys/singleserver/mcserver/MinecraftScreenServer.java index f190be8..c8e7d97 100644 --- a/SingleServer/src/main/java/asys/singleserver/mcserver/MinecraftScreenServer.java +++ b/SingleServer/src/main/java/asys/singleserver/mcserver/MinecraftScreenServer.java @@ -84,16 +84,19 @@ public class MinecraftScreenServer implements MinecraftServer { } public boolean isAlive() { + if (serverPID == null) return false; + try { - Process process = Runtime.getRuntime().exec("ps -p " + this.serverPID); + Process process = Runtime.getRuntime().exec("ps -p " + serverPID); BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); br.readLine(); String line = br.readLine(); br.close(); return line != null; } catch (Exception e) { - e.printStackTrace(); } - return false; + e.printStackTrace(); + return false; + } } }