fix: несколько исправлений в модуле SingleServer
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user