auto restart system

master
Alex 2021-12-27 23:52:22 +01:00
parent 589c84117e
commit 2f2f4fa44f
1 changed files with 4 additions and 9 deletions

View File

@ -73,11 +73,9 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
ServiceTask serviceTask = CloudNetDriver.getInstance().getServiceTaskProvider() ServiceTask serviceTask = CloudNetDriver.getInstance().getServiceTaskProvider()
.getServiceTask("Lobby"); .getServiceTask("Lobby");
if (!playersAutoRestartServerSystem.containsKey("lobby")) {
playersAutoRestartServerSystem.put("lobby", null);
}
if (serviceTask != null) { if (serviceTask != null) {
playersAutoRestartServerSystem.put(serviceTask.getName(), null);
ServiceInfoSnapshot serviceInfoSnapshot = ServiceConfiguration.builder(serviceTask) ServiceInfoSnapshot serviceInfoSnapshot = ServiceConfiguration.builder(serviceTask)
.build().createNewService(); .build().createNewService();
@ -106,8 +104,6 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
// stop target server // stop target server
CloudNetDriver.getInstance().getCloudServiceProvider(serviceInfoSnapshot).stop(); CloudNetDriver.getInstance().getCloudServiceProvider(serviceInfoSnapshot).stop();
} }
} }
break; break;
} }
@ -115,15 +111,14 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
String serverName = kraProtocolMessage.getArgs().toLowerCase(); String serverName = kraProtocolMessage.getArgs().toLowerCase();
if (serverName.startsWith("lobby") && playersAutoRestartServerSystem.containsKey( if (serverName.startsWith("lobby") && playersAutoRestartServerSystem.containsKey(
"lobby")) { // close old lobbies kraProtocolMessage.getArgs())) { // close old lobbies
Collection<ServiceInfoSnapshot> serviceInfoSnapshots = CloudNetDriver.getInstance() Collection<ServiceInfoSnapshot> serviceInfoSnapshots = CloudNetDriver.getInstance()
.getCloudServiceProvider() .getCloudServiceProvider()
.getCloudServices("Lobby"); .getCloudServices("Lobby");
if (serviceInfoSnapshots != null) { if (serviceInfoSnapshots != null) {
serviceInfoSnapshots.forEach(serviceInfoSnapshot -> { serviceInfoSnapshots.forEach(serviceInfoSnapshot -> {
System.out.println("lobby " + serviceInfoSnapshot.getName()); if (!playersAutoRestartServerSystem.containsKey(serviceInfoSnapshot.getName())) {
if (!serverName.equals(serviceInfoSnapshot.getName())) {
serviceInfoSnapshot.provider().stop(); serviceInfoSnapshot.provider().stop();
} }
}); });