Archived
0

fix: несколько исправлений в модуле SingleServer

This commit is contained in:
2016-08-15 14:29:52 +03:00
parent b2cb7ce6c1
commit cf35de827d
4 changed files with 24 additions and 11 deletions

View File

@@ -20,7 +20,7 @@
<groupId>asys</groupId> <groupId>asys</groupId>
<artifactId>singleserver</artifactId> <artifactId>singleserver</artifactId>
<version>0.1</version> <version>0.2</version>
<packaging>bundle</packaging> <packaging>bundle</packaging>
<dependencies> <dependencies>

View File

@@ -19,10 +19,15 @@ public class Commands {
this.serverManager = serverManager; this.serverManager = serverManager;
} }
private void log(String format, Object... objects) {
System.out.printf(format+"\n", objects);
}
@Command @Command
@Descriptor("Server start") @Descriptor("Server start")
public void start() { public void start() {
serverManager.getServer().start(); serverManager.getServer().start();
log("Server start");
} }
@Command @Command
@@ -30,13 +35,15 @@ public class Commands {
public void stop() { public void stop() {
serverManager.getServer().stop(); serverManager.getServer().stop();
serverManager.removeServer(); serverManager.removeServer();
log("Server stop");
} }
@Command @Command
@Descriptor("Server force stop") @Descriptor("Server force stop")
public void forceStop() { public void kill() {
serverManager.getServer().forceStop(); serverManager.getServer().forceStop();
serverManager.removeServer(); serverManager.removeServer();
log("Server kill");
} }
@Command @Command
@@ -45,13 +52,18 @@ public class Commands {
MinecraftServer server = serverManager.getServer(); MinecraftServer server = serverManager.getServer();
server.stop(); server.stop();
server.start(); server.start();
log("Server restart");
} }
@Command @Command
@Descriptor("Server is alive?") @Descriptor("Server is alive?")
public void isAlive() { public void alive() {
boolean alive = serverManager.getServer().isAlive(); boolean alive = false;
System.out.println(String.format("Server is alive: %s", alive));
MinecraftServer server = serverManager.getServer();
if (server != null) alive = server.isAlive();
log("Server alive: %s", alive);
} }
@Command @Command

View File

@@ -15,9 +15,7 @@ import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Properties; import java.util.Properties;
public class SingleServer public class SingleServer implements ServerManager {
implements ServerManager
{
private MinecraftServer mcServer; private MinecraftServer mcServer;
private Properties configuration; private Properties configuration;

View File

@@ -84,16 +84,19 @@ public class MinecraftScreenServer implements MinecraftServer {
} }
public boolean isAlive() { public boolean isAlive() {
if (serverPID == null) return false;
try { 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())); BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
br.readLine(); br.readLine();
String line = br.readLine(); String line = br.readLine();
br.close(); br.close();
return line != null; return line != null;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); } e.printStackTrace();
return false; return false;
} }
} }
}