Archived
0
This commit is contained in:
2016-08-15 09:15:47 +03:00
parent f845d82a79
commit 92d8cc76c1
21 changed files with 743 additions and 71 deletions

View File

@@ -7,7 +7,7 @@
<name>Core</name>
<artifactId>core</artifactId>
<version>0.18</version>
<version>0.21</version>
<packaging>bundle</packaging>
<parent>

View File

@@ -0,0 +1,18 @@
/*
* DmitriyMX <mail@dmitriymx.ru>
* 2016-08-14
*/
package asys.core.api;
public enum AccessPolicy {
EVERYONE(3), PERMISSIONED(2), ADMIN(1), NO_ONE(0);
int id;
AccessPolicy(int id) {
this.id = id;
}
public int getId() {
return id;
}
}

View File

@@ -5,9 +5,10 @@
package asys.core.api;
public interface IMinecraftServer {
String getName();
void start();
void stop();
void forceStop();
boolean isAlive();
void sendCommand(String command);
boolean isAlive();
}

View File

@@ -5,6 +5,7 @@
package asys.core.api;
public interface IServerManager {
IMinecraftServer developServer(String serverName);
IMinecraftServer getServer(String serverName);
IMinecraftServer developServer(String name);
IMinecraftServer getServer(String name);
void removeServer(String name);
}

View File

@@ -0,0 +1,69 @@
/*
* DmitriyMX <mail@dmitriymx.ru>
* 2016-07-29
*/
package asys.core;
import org.junit.Test;
import java.io.*;
import java.nio.file.Paths;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestAppRunner {
public static void main(String[] args) throws IOException, InterruptedException {
// ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "ping 127.0.0.1 -t");
ProcessBuilder processBuilder = new ProcessBuilder("java.exe", "-jar", "spigot-1.8.8.jar");
processBuilder.directory(Paths.get("D:\\tmp\\spigot_test").toFile());
final Process process = processBuilder.start();
final boolean[] res = new boolean[1];
new Thread(() -> {
Pattern pattern = Pattern.compile("Done \\(.+?\\)! For help, type \"help\" or \"\\?\"");
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
try {
while ((line = reader.readLine()) != null) {
System.out.println(System.currentTimeMillis() + " " + line);
Matcher matcher = pattern.matcher(line);
if (matcher.find()) {
System.err.println(System.currentTimeMillis() + " " + "GOTCHA!!!");
res[0] = true;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}).start();
new Thread(() -> {
InputStream inputStream = process.getErrorStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
try {
while ((line = reader.readLine()) != null) {
System.err.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}).start();
while(!res[0]) {
Thread.sleep(1000);
}
// OutputStream outputStream = process.getOutputStream();
// for(int i = 0; i < 10; i++) {
// outputStream.write("echo hello\n".getBytes());
// outputStream.flush();
// }
//
// outputStream.write("stop\n".getBytes());
// outputStream.flush();
process.waitFor();
}
}