Adding shutdown hooks
Dieser Commit ist enthalten in:
Ursprung
439ef96bac
Commit
f16601ea0f
@ -30,12 +30,19 @@ public class SubserverSystem {
|
||||
public static Subserver startArena(ArenaMode modus, String map){
|
||||
int port = freePort(2500);
|
||||
String serverName = modus.getDisplayName() + (port - 2500);
|
||||
return new Subserver(Servertype.ARENA, serverName, port,
|
||||
MC_SCRIPT, "-a", modus.getInternalName(), serverName, Integer.toString(port), map, "0", modus.serverJar());
|
||||
|
||||
return new Subserver(Servertype.ARENA, serverName, port, () -> {
|
||||
try {
|
||||
new ProcessBuilder("rm", "-r", "~/backbone/arenaserver/" + serverName).start();
|
||||
} catch (IOException e) {
|
||||
throw new SecurityException("Could not clean up folder", e);
|
||||
}
|
||||
}, MC_SCRIPT, "-a", modus.getInternalName(), serverName, Integer.toString(port), map, "0", modus.serverJar());
|
||||
}
|
||||
|
||||
public static Subserver startEventArena(EventFight eventFight, String serverName){
|
||||
int port = freePort(2500);
|
||||
|
||||
return new Subserver(Servertype.ARENA, serverName, port,
|
||||
MC_SCRIPT, "-a", eventFight.getSpielmodus().getInternalName(), serverName.replace(' ', '_') + eventFight.getStartTime().toLocalDateTime().format(EventCommand.TIME_FORMAT), Integer.toString(port), eventFight.getMap(), Integer.toString(eventFight.getFightID()), eventFight.getSpielmodus().serverJar());
|
||||
}
|
||||
@ -43,8 +50,13 @@ public class SubserverSystem {
|
||||
public static void sendToTestServer(ProxiedPlayer p, ArenaMode m, String map){
|
||||
int port = freePort(4000);
|
||||
|
||||
new Bauserver(p.getName() + "s Bau", p.getUniqueId(), port,
|
||||
MC_SCRIPT, "-a", m.getInternalName(), p.getName(), Integer.toString(port), map, "-1", m.serverJar()).sendPlayer(p);
|
||||
new Bauserver(p.getName() + "s Bau", p.getUniqueId(), port, () -> {
|
||||
try {
|
||||
new ProcessBuilder("rm", "-r", "~/backbone/arenaserver/" + p.getName()).start();
|
||||
} catch (IOException e) {
|
||||
throw new SecurityException("Could not clean up folder", e);
|
||||
}
|
||||
}, MC_SCRIPT, "-a", m.getInternalName(), p.getName(), Integer.toString(port), map, "-1", m.serverJar()).sendPlayer(p);
|
||||
}
|
||||
|
||||
public static void sendToBauServer(ProxiedPlayer p, UUID owner){
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren