Search in sources :

Example 1 with CloudServerMeta

use of de.dytanic.cloudnet.lib.cloudserver.CloudServerMeta in project CloudNet by Dytanic.

the class PacketInStartCloudServer method handleInput.

@Override
public void handleInput(Document data, PacketSender packetSender) {
    CloudServerMeta cloudServerMeta = data.getObject("cloudServerMeta", new TypeToken<CloudServerMeta>() {
    }.getType());
    if (!data.contains("async")) {
        System.out.println("Cloud game server process is now in queue [" + cloudServerMeta.getServiceId() + "]");
        CloudNetWrapper.getInstance().getServerProcessQueue().putProcess(cloudServerMeta);
    } else {
        CloudNetWrapper.getInstance().getServerProcessQueue().patchAsync(cloudServerMeta);
    }
}
Also used : CloudServerMeta(de.dytanic.cloudnet.lib.cloudserver.CloudServerMeta) TypeToken(com.google.gson.reflect.TypeToken)

Example 2 with CloudServerMeta

use of de.dytanic.cloudnet.lib.cloudserver.CloudServerMeta in project CloudNet by Dytanic.

the class PacketInAddCloudServer method handleInput.

@Override
public void handleInput(Document data, PacketSender packetSender) {
    if (!(packetSender instanceof Wrapper))
        return;
    Wrapper cn = ((Wrapper) packetSender);
    ServerInfo nullServerInfo = data.getObject("serverInfo", new TypeToken<ServerInfo>() {
    }.getType());
    CloudServerMeta serverProcessMeta = data.getObject("cloudServerMeta", new TypeToken<CloudServerMeta>() {
    }.getType());
    CloudServer minecraftServer = new CloudServer(cn, nullServerInfo, serverProcessMeta);
    cn.getCloudServers().put(nullServerInfo.getServiceId().getServerId(), minecraftServer);
    cn.getWaitingServices().remove(minecraftServer.getServerId());
    {
        if (serverProcessMeta.isPriorityStop()) {
            ServerGroup serverGroup = CloudNet.getInstance().getServerGroups().get(serverProcessMeta.getServiceId().getGroup());
            if (serverGroup != null) {
                PriorityStopTask priorityStopTask = new PriorityStopTask(cn, minecraftServer, serverGroup.getPriorityService().getStopTimeInSeconds());
                ScheduledTask scheduledTask = CloudNet.getInstance().getSubScheduler().runTaskRepeatSync(priorityStopTask, 0, 50);
                priorityStopTask.setScheduledTask(scheduledTask);
            }
        }
    }
    CloudNet.getInstance().getNetworkManager().handleServerAdd(minecraftServer);
}
Also used : CloudServerMeta(de.dytanic.cloudnet.lib.cloudserver.CloudServerMeta) PriorityStopTask(de.dytanic.cloudnetcore.network.components.priority.PriorityStopTask) Wrapper(de.dytanic.cloudnetcore.network.components.Wrapper) ServerGroup(de.dytanic.cloudnet.lib.server.ServerGroup) ServerInfo(de.dytanic.cloudnet.lib.server.info.ServerInfo) TypeToken(com.google.gson.reflect.TypeToken) CloudServer(de.dytanic.cloudnetcore.network.components.CloudServer) ScheduledTask(de.dytanic.cloudnet.lib.utility.threading.ScheduledTask)

Aggregations

TypeToken (com.google.gson.reflect.TypeToken)2 CloudServerMeta (de.dytanic.cloudnet.lib.cloudserver.CloudServerMeta)2 ServerGroup (de.dytanic.cloudnet.lib.server.ServerGroup)1 ServerInfo (de.dytanic.cloudnet.lib.server.info.ServerInfo)1 ScheduledTask (de.dytanic.cloudnet.lib.utility.threading.ScheduledTask)1 CloudServer (de.dytanic.cloudnetcore.network.components.CloudServer)1 Wrapper (de.dytanic.cloudnetcore.network.components.Wrapper)1 PriorityStopTask (de.dytanic.cloudnetcore.network.components.priority.PriorityStopTask)1