auto restart system
parent
9743f674a4
commit
b565237206
|
@ -1,16 +1,7 @@
|
|||
package net.krakatoa.proxy.command;
|
||||
|
||||
import de.dytanic.cloudnet.driver.CloudNetDriver;
|
||||
import de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot;
|
||||
import de.dytanic.cloudnet.ext.bridge.BridgeServiceProperty;
|
||||
import de.dytanic.cloudnet.ext.bridge.player.ICloudPlayer;
|
||||
import de.dytanic.cloudnet.ext.bridge.player.IPlayerManager;
|
||||
import de.dytanic.cloudnet.ext.bridge.player.ServicePlayer;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.plugin.Command;
|
||||
|
||||
|
@ -20,8 +11,6 @@ public class CodeCommand extends Command {
|
|||
super(name);
|
||||
}
|
||||
|
||||
HashMap<String, UUID> playersServer = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender commandSender, String[] strings) {
|
||||
if (commandSender instanceof ProxiedPlayer) {
|
||||
|
@ -50,29 +39,6 @@ public class CodeCommand extends Command {
|
|||
|
||||
// TODO: add url and copy text
|
||||
//proxiedPlayer.sendMessage(new TextComponent("§eNeuer Code §c§l" + voiceWebCode));
|
||||
|
||||
ServiceInfoSnapshot serviceInfoSnapshot = CloudNetDriver.getInstance()
|
||||
.getCloudServiceProvider().getCloudServiceByName("lobby-1");
|
||||
|
||||
IPlayerManager playerManager = CloudNetDriver.getInstance().getServicesRegistry()
|
||||
.getFirstService(IPlayerManager.class);
|
||||
|
||||
assert serviceInfoSnapshot != null;
|
||||
serviceInfoSnapshot.getProperty(BridgeServiceProperty.PLAYERS).ifPresent(players -> {
|
||||
for (ServicePlayer player : players) {
|
||||
System.out.println("player " + player.getName());
|
||||
playersServer.put("lobby-1", player.getUniqueId());
|
||||
|
||||
ICloudPlayer cloudPlayer = playerManager.getOnlinePlayer(
|
||||
player.getUniqueId());
|
||||
|
||||
assert cloudPlayer != null;
|
||||
cloudPlayer.getPlayerExecutor().connect("NewYork-1");
|
||||
}
|
||||
});
|
||||
|
||||
proxiedPlayer.sendMessage(
|
||||
new TextComponent("players "));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
package net.krakatoa.proxy.listener;
|
||||
|
||||
import de.dytanic.cloudnet.driver.CloudNetDriver;
|
||||
import de.dytanic.cloudnet.driver.service.ServiceInfoSnapshot;
|
||||
import de.dytanic.cloudnet.ext.bridge.BridgeServiceProperty;
|
||||
import de.dytanic.cloudnet.ext.bridge.player.IPlayerManager;
|
||||
import de.dytanic.cloudnet.ext.bridge.player.ServicePlayer;
|
||||
import earth.krakatao.events.KraSocketClientEventInterface;
|
||||
import earth.krakatao.protocol.KraSocketClientProtocolMessage;
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import net.krakatoa.proxy.ProxySystem;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
|
@ -11,6 +18,10 @@ import org.java_websocket.handshake.ServerHandshake;
|
|||
|
||||
public class SocketClientMessageListener implements KraSocketClientEventInterface {
|
||||
|
||||
private HashMap<String, UUID> playersServer = new HashMap<>();
|
||||
private final IPlayerManager playerManager = CloudNetDriver.getInstance().getServicesRegistry()
|
||||
.getFirstService(IPlayerManager.class);
|
||||
|
||||
@Override
|
||||
public void onOpen(ServerHandshake serverHandshake) {
|
||||
for (ProxiedPlayer proxiedPlayer : ProxyServer.getInstance().getPlayers()) {
|
||||
|
@ -32,8 +43,8 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
|
|||
"consumer ids " + ProxySystem.getInstance().getKraSocketClientProtocol()
|
||||
.getConsumerHashMap().keySet());
|
||||
|
||||
// test - mobile or voice socket connected
|
||||
if (kraProtocolMessage.getCmdNumber() == 15) {
|
||||
switch (kraProtocolMessage.getCmdNumber()) {
|
||||
case 15: // @Deprecated: test - mobile or voice socket connected
|
||||
ProxyServer.getInstance().getScheduler().runAsync(ProxySystem.getInstance(), () -> {
|
||||
System.out.println(ProxySystem.getInstance().getFormatter()
|
||||
.stringToUuid(kraProtocolMessage.getUuid()));
|
||||
|
@ -51,6 +62,31 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
|
|||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
case 33329: // server auto restart
|
||||
ServiceInfoSnapshot serviceInfoSnapshot = CloudNetDriver.getInstance()
|
||||
.getCloudServiceProvider().getCloudServiceByName(kraProtocolMessage.getArgs());
|
||||
|
||||
if (serviceInfoSnapshot != null) {
|
||||
serviceInfoSnapshot.getProperty(BridgeServiceProperty.PLAYERS).ifPresent(players -> {
|
||||
for (ServicePlayer player : players) {
|
||||
playersServer.put(kraProtocolMessage.getArgs(), player.getUniqueId());
|
||||
|
||||
/*ICloudPlayer cloudPlayer = playerManager.getOnlinePlayer(
|
||||
player.getUniqueId());
|
||||
|
||||
if (cloudPlayer != null) {
|
||||
cloudPlayer.getPlayerExecutor().connect(kraProtocolMessage.getArgs());
|
||||
}*/
|
||||
}
|
||||
// stop target server
|
||||
CloudNetDriver.getInstance().getCloudServiceProvider(serviceInfoSnapshot).stop();
|
||||
});
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
ProxySystem.getInstance().getKraSocketClientProtocol().getConsumerHashMap()
|
||||
|
|
Loading…
Reference in New Issue