Skip to content
This repository has been archived by the owner on Jun 7, 2022. It is now read-only.

Commit

Permalink
Merge pull request #76 from CloudNetService/development
Browse files Browse the repository at this point in the history
Merge development into master
  • Loading branch information
byRoadrunner authored Nov 18, 2018
2 parents 6c53839 + 038845d commit d817dc5
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 43 deletions.
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ pipeline {
}
stage('Version') {
steps {
sh 'mvn versions:set -DnewVersion=2.1.13'
sh 'mvn versions:set -DnewVersion=2.1.13.1'
}
}
stage('Compile') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import de.dytanic.cloudnet.bridge.internal.command.proxied.CommandPermissions;
import de.dytanic.cloudnet.bridge.internal.command.proxied.defaults.CommandIp;
import de.dytanic.cloudnet.bridge.internal.listener.proxied.ProxiedListener;
import de.dytanic.cloudnet.bridge.internal.packetio.PacketOutProxyPing;
import de.dytanic.cloudnet.lib.utility.CollectionWrapper;
import de.dytanic.cloudnet.lib.utility.threading.Runnabled;
import net.md_5.bungee.api.ProxyServer;
Expand Down Expand Up @@ -87,9 +86,9 @@ public void run()
@Override
public void run()
{
CloudAPI.getInstance().getNetworkConnection().sendPacket(new PacketOutProxyPing());
CloudProxy.getInstance().update();
}
}, 0, 1, TimeUnit.MINUTES);
}, 0, 1, TimeUnit.SECONDS);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,13 +125,15 @@ public void handleLogin(LoginEvent e)
e.getConnection().isLegacy()
);

CloudPlayer cloudPlayer = CloudAPI.getInstance().getNetworkConnection().getPacketManager().sendQuery(new PacketOutPlayerLoginRequest(playerConnection),
CloudAPI.getInstance().getNetworkConnection()).getResult().getObject("player", new TypeToken<CloudPlayer>() {
Document result = CloudAPI.getInstance().getNetworkConnection().getPacketManager().sendQuery(new PacketOutPlayerLoginRequest(playerConnection),
CloudAPI.getInstance().getNetworkConnection()).getResult();

CloudPlayer cloudPlayer = result.getObject("player", new TypeToken<CloudPlayer>() {
}.getType());

if (cloudPlayer == null)
{
e.setCancelReason(TextComponent.fromLegacyText("§cUnverified login."));
e.setCancelReason(TextComponent.fromLegacyText("§cUnverified login. Reason: §e" + (result.contains("reason") ? result.getString("reason") : "no reason defined")));
e.setCancelled(true);
return;
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -114,15 +114,13 @@ public void shutdown()
this.networkConnection.tryDisconnect();
}

@Deprecated
public CloudAPI update(ServerInfo serverInfo)
{
if (networkConnection.isConnected())
networkConnection.sendPacket(new PacketOutUpdateServerInfo(serverInfo));
return this;
}

@Deprecated
public CloudAPI update(ProxyInfo proxyInfo)
{
if (networkConnection.isConnected())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import de.dytanic.cloudnetcore.util.MessageConfig;
import lombok.Getter;

import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
import java.util.UUID;
Expand Down Expand Up @@ -87,15 +88,14 @@ public void handlePlayerLoginRequest(ProxyServer proxyServer, PlayerConnection c
{
if (this.onlinePlayers.containsKey(cloudPlayerConnection.getUniqueId()))
{
proxyServer.sendPacketSynchronized(new PacketOutLoginPlayer(uniqueId, null));
proxyServer.sendPacketSynchronized(new PacketOutLoginPlayer(uniqueId, null, "Already connected in network"));
return;
}

LoginRequestEvent loginRequestEvent = new LoginRequestEvent(proxyServer, cloudPlayerConnection);
CloudNet.getInstance().getEventManager().callEvent(loginRequestEvent);

PlayerDatabase playerDatabase = CloudNet.getInstance().getDbHandlers().getPlayerDatabase();

OfflinePlayer offlinePlayer = null;

if (!playerDatabase.containsPlayer(cloudPlayerConnection.getUniqueId()))
Expand All @@ -116,7 +116,7 @@ public void handlePlayerLoginRequest(ProxyServer proxyServer, PlayerConnection c
cloudPlayer.setName(cloudPlayerConnection.getName());
CloudNet.getInstance().getDbHandlers().getPlayerDatabase().updatePlayer(CloudPlayer.newOfflinePlayer(cloudPlayer));

proxyServer.sendPacketSynchronized(new PacketOutLoginPlayer(uniqueId, cloudPlayer));
proxyServer.sendPacket(new PacketOutLoginPlayer(uniqueId, cloudPlayer, "successful Login"));
this.waitingPlayers.put(cloudPlayer.getUniqueId(), cloudPlayer);
handlePlayerLogin(cloudPlayer);
}
Expand All @@ -141,14 +141,14 @@ public void handlePlayerLogout(CloudPlayer playerWhereAmI)
try
{
System.out.println("Player [" + playerWhereAmI.getName() + NetworkUtils.SLASH_STRING + playerWhereAmI.getUniqueId() + NetworkUtils.SLASH_STRING + playerWhereAmI.getPlayerConnection().getHost() + "] is disconnected on " + playerWhereAmI.getProxy());
} catch (Exception ex)
} catch (Exception ignored)
{
}

try
{
this.onlinePlayers.remove(playerWhereAmI.getUniqueId());
} catch (Exception ex)
} catch (Exception ignored)
{

}
Expand All @@ -160,7 +160,7 @@ public void handlePlayerLogout(CloudPlayer playerWhereAmI)
playerWhereAmI.setLastLogin(System.currentTimeMillis());
playerWhereAmI.setLastPlayerConnection(playerWhereAmI.getPlayerConnection());
CloudNet.getInstance().getDbHandlers().getPlayerDatabase().updatePlayer(CloudPlayer.newOfflinePlayer(playerWhereAmI));
} catch (Exception ex)
} catch (Exception ignored)
{

}
Expand All @@ -175,7 +175,7 @@ public void handlePlayerLogout(UUID uniqueId, ProxyServer proxyServer)
try
{
this.onlinePlayers.remove(uniqueId);
} catch (Exception ex)
} catch (Exception ignored)
{
}

Expand Down Expand Up @@ -219,6 +219,16 @@ public void handleProxyInfoUpdate(ProxyServer proxyServer, ProxyInfo incoming)
{
CloudNet.getInstance().getEventManager().callEvent(new ProxyInfoUpdateEvent(proxyServer, incoming));

Collection<UUID> players = new ArrayList<>();

for (ProxyServer proxy : CloudNet.getInstance().getProxys().values())
for (MultiValue<UUID, String> multiValue : proxy.getProxyInfo().getPlayers())
players.add(multiValue.getFirst());

for (CloudPlayer cloudPlayer : this.onlinePlayers.values())
if (!players.contains(cloudPlayer.getUniqueId()))
this.onlinePlayers.remove(cloudPlayer.getUniqueId());

this.sendAllUpdate(new PacketOutUpdateProxyInfo(incoming));
this.sendAll(new PacketOutUpdateOnlineCount(getOnlineCount()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public final class PacketInPlayerLoginRequest extends PacketInHandler {
public void handleInput(Document data, PacketSender packetSender)
{
if (!(packetSender instanceof ProxyServer) && packetUniqueId != null) return;

PlayerConnection playerConnection = data.getObject("playerConnection", new TypeToken<PlayerConnection>() {
}.getType());
CloudNet.getInstance().getNetworkManager().handlePlayerLoginRequest(((ProxyServer) packetSender), playerConnection, packetUniqueId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ public PacketOutLoginPlayer(CloudPlayer cloudPlayer)
super(PacketRC.PLAYER_HANDLE + 1, new Document("player", cloudPlayer));
}

public PacketOutLoginPlayer(UUID uniqueId, CloudPlayer cloudPlayer)
public PacketOutLoginPlayer(UUID uniqueId, CloudPlayer cloudPlayer, String reason)
{
super(uniqueId, PacketRC.PLAYER_HANDLE + 1, new Document("player", cloudPlayer));
super(uniqueId, PacketRC.PLAYER_HANDLE + 1, new Document("player", cloudPlayer).append("reason", reason));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,18 +64,17 @@ public PacketManager queuePacket(Packet packet)
public PacketManager dispatchQueue(PacketSender packetSender)
{
while (!this.packetQueue.isEmpty())
{
packetSender.sendPacket(this.packetQueue.remove());
}

return this;
}

public Result sendQuery(Packet packet, PacketSender packetSender)
{
UUID uniq = UUID.randomUUID();
packet.uniqueId = uniq;
UUID uniqueId = UUID.randomUUID();
packet.uniqueId = uniqueId;
Value<Result> handled = new Value<>(null);
synchronizedHandlers.put(uniq, handled);
synchronizedHandlers.put(uniqueId, handled);
executorService.schedule(new Runnable() {
@Override
public void run()
Expand All @@ -84,20 +83,20 @@ public void run()
}
});

short i = 0;
int i = 0;

while (synchronizedHandlers.get(uniq).getValue() == null && i++ < 5000)
while (synchronizedHandlers.get(uniqueId).getValue() == null && i++ < 5000)
try
{
Thread.sleep(0, 300000);
Thread.sleep(0, 500000);
} catch (InterruptedException ignored)
{
}

if (i >= 200) synchronizedHandlers.get(uniq).setValue(new Result(uniq, new Document()));
if (i >= 4999) synchronizedHandlers.get(uniqueId).setValue(new Result(uniqueId, new Document()));

Value<Result> values = synchronizedHandlers.get(uniq);
synchronizedHandlers.remove(uniq);
Value<Result> values = synchronizedHandlers.get(uniqueId);
synchronizedHandlers.remove(uniqueId);
return values.getValue();
}

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.targetEncoding>UTF-8</project.build.targetEncoding>
<service.version>2.1.13</service.version>
<service.version>2.1.13.1</service.version>
<service.type>RELEASE</service.type>
<!-- Dependencies -->
<dependency.lombok.version>1.18.4</dependency.lombok.version>
Expand Down

0 comments on commit d817dc5

Please sign in to comment.