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 #93 from CloudNetService/development
Browse files Browse the repository at this point in the history
Release of 2.1.14
  • Loading branch information
byRoadrunner authored Dec 6, 2018
2 parents 219aa58 + e1abd2f commit aba1dea
Show file tree
Hide file tree
Showing 18 changed files with 253 additions and 267 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.1'
sh 'mvn versions:set -DnewVersion=2.1.14'
}
}
stage('Compile') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ public void onLoad()
@Override
public void onEnable()
{
new CloudServer(this, CloudAPI.getInstance());

CloudAPI.getInstance().bootstrap();
checkRegistryAccess();

Expand All @@ -56,7 +58,6 @@ public void onEnable()
{
}

new CloudServer(this, CloudAPI.getInstance());
getServer().getPluginManager().registerEvents(new BukkitListener(), this);

CloudServer.getInstance().registerCommand(new CommandResource());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import de.dytanic.cloudnet.bridge.internal.util.ReflectionUtil;
import de.dytanic.cloudnet.lib.player.CloudPlayer;
import de.dytanic.cloudnet.lib.player.permission.GroupEntityData;
import de.dytanic.cloudnet.lib.player.permission.PermissionGroup;
import de.dytanic.cloudnet.lib.server.ServerConfig;
import de.dytanic.cloudnet.lib.server.ServerGroupMode;
import de.dytanic.cloudnet.lib.utility.document.Document;
Expand Down Expand Up @@ -124,14 +125,26 @@ public void handleFirst(PlayerLoginEvent event)
{
CloudPlayer cloudPlayer = CloudServer.getInstance().getCloudPlayers().get(event.getPlayer().getUniqueId());
int joinPower = CloudAPI.getInstance().getServerGroupData(CloudAPI.getInstance().getGroup()).getJoinPower();

boolean acceptLogin = false;
for (GroupEntityData entityData : cloudPlayer.getPermissionEntity().getGroups())

if (CloudAPI.getInstance().getPermissionPool() != null)
{
if (CloudAPI.getInstance().getPermissionGroup(entityData.getGroup()).getJoinPower() >= joinPower)
acceptLogin = true;
for (GroupEntityData entityData : cloudPlayer.getPermissionEntity().getGroups())
{
PermissionGroup permissionGroup = CloudAPI.getInstance().getPermissionGroup(entityData.getGroup());

if (event.getPlayer().hasPermission("cloudnet.joinpower." + CloudAPI.getInstance().getPermissionGroup(entityData.getGroup()).getJoinPower()))
acceptLogin = true;
if (permissionGroup != null)
{
if (permissionGroup.getJoinPower() >= joinPower)
acceptLogin = true;
}
}
}

if (event.getPlayer().hasPermission("cloudnet.joinpower." + joinPower))
{
acceptLogin = true;
}

if (!acceptLogin)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,8 @@ private void initialCommands()
.registerCommand(new CommandLog())
.registerCommand(new CommandCreate())
.registerCommand(new CommandVersion())
.registerCommand(new CommandInfo());
.registerCommand(new CommandInfo())
.registerCommand(new CommandDebug());
}

private void initPacketHandlers()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright (c) Tarek Hosni El Alaoui 2017
*/

package de.dytanic.cloudnetcore.command;

import de.dytanic.cloudnet.command.Command;
import de.dytanic.cloudnet.command.CommandSender;
import de.dytanic.cloudnetcore.CloudNet;

public final class CommandDebug extends Command {

public CommandDebug()
{
super("debug", "cloudnet.command.debug");

description = "Toggles the cloudnet debug mode";

}

@Override
public void onExecuteCommand(CommandSender sender, String[] args)
{
CloudNet.getLogger().setDebugging(!CloudNet.getLogger().isDebugging());
if (CloudNet.getLogger().isDebugging()) {
sender.sendMessage("debugging was enabled");
} else {
sender.sendMessage("debugging was disabled");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import de.dytanic.cloudnet.lib.player.PlayerConnection;
import de.dytanic.cloudnet.lib.player.permission.PermissionEntity;
import de.dytanic.cloudnet.lib.utility.document.Document;
import de.dytanic.cloudnetcore.CloudNet;
import de.dytanic.cloudnetcore.api.event.player.UpdatePlayerEvent;

import java.util.HashMap;
import java.util.LinkedList;
Expand All @@ -37,9 +39,13 @@ public OfflinePlayer registerPlayer(PlayerConnection playerConnection)

public PlayerDatabase updatePlayer(OfflinePlayer offlinePlayer)
{
CloudNet.getLogger().debug("PlayerDatabase updatePlayer offlinePlayer null: " + (offlinePlayer == null));
if (offlinePlayer == null) return this;
Document document = database.getDocument(offlinePlayer.getUniqueId().toString());
document.append("offlinePlayer", CloudPlayer.newOfflinePlayer(offlinePlayer));
database.insert(document);
CloudNet.getLogger().debug("PlayerDatabase updatePlayer call UpdatePlayerEvent");
CloudNet.getInstance().getEventManager().callEvent(new UpdatePlayerEvent(offlinePlayer));
return this;
}

Expand Down Expand Up @@ -70,11 +76,12 @@ public PlayerDatabase updatePermissionEntity(UUID uuid, PermissionEntity permiss

public OfflinePlayer getPlayer(UUID uniqueId)
{
CloudNet.getLogger().debug("PlayerDatabase getPlayer uniqueId " + uniqueId);
if (uniqueId == null) return null;
Document document = database.getDocument(uniqueId.toString());

CloudNet.getLogger().debug("PlayerDatabase getPlayer document null: " + (document == null));
if (document == null) return null;

CloudNet.getLogger().debug("PlayerDatabase getPlayer offlinePlayer contained: " + document.contains("offlinePlayer"));
return document.getObject("offlinePlayer", OfflinePlayer.TYPE);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,14 @@ protected void channelRead0(ChannelHandlerContext channelHandlerContext, Object

if (!(obj instanceof Packet)) return;

CloudNet.getLogger().debug("Receiving Packet on " + getChannel().remoteAddress().toString());
Packet packet = (Packet) obj;
CloudNet.getLogger().debug(
"Receiving Packet (id=" +
CloudNet.getInstance().getPacketManager().packetId(packet) +
";dataLength=" +
CloudNet.getInstance().getPacketManager().packetData(packet).size()
+ ") by " + getNetworkComponent().getServerId()
);
CloudNet.getInstance().getPacketManager().dispatchPacket(packet, networkComponent);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,38 +86,58 @@ public void updateAll0()

public void handlePlayerLoginRequest(ProxyServer proxyServer, PlayerConnection cloudPlayerConnection, UUID uniqueId)
{
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " onlinePlayers");
if (this.onlinePlayers.containsKey(cloudPlayerConnection.getUniqueId()))
{
proxyServer.sendPacketSynchronized(new PacketOutLoginPlayer(uniqueId, null, "Already connected in network"));
return;
}

CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " call LoginRequestEvent");
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()))
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " database contains");
if (!playerDatabase.containsPlayer(cloudPlayerConnection.getUniqueId())) {
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " database register");
offlinePlayer = playerDatabase.registerPlayer(cloudPlayerConnection);
}

if (offlinePlayer == null) offlinePlayer = playerDatabase.getPlayer(cloudPlayerConnection.getUniqueId());
if (offlinePlayer == null) {
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " database get");
offlinePlayer = playerDatabase.getPlayer(cloudPlayerConnection.getUniqueId());
}

CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " create CloudPlayer");
CloudPlayer cloudPlayer = new CloudPlayer(offlinePlayer, cloudPlayerConnection, proxyServer.getServerId());
cloudPlayer.setPlayerExecutor(CorePlayerExecutor.INSTANCE);

if (cloudPlayer.getFirstLogin() == null) cloudPlayer.setFirstLogin(System.currentTimeMillis());
if (cloudPlayer.getFirstLogin() == null) {
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " set firstLogin");
cloudPlayer.setFirstLogin(System.currentTimeMillis());
}

CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " call PlayerInitEvent");
CloudNet.getInstance().getEventManager().callEvent(new PlayerInitEvent(cloudPlayer));

CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " NameToUUIDDatabase append");
CloudNet.getInstance().getDbHandlers().getNameToUUIDDatabase().append(new MultiValue<>(cloudPlayerConnection.getName(), cloudPlayerConnection.getUniqueId()));
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " NameToUUIDDatabase replace");
CloudNet.getInstance().getDbHandlers().getNameToUUIDDatabase().replace(new MultiValue<>(cloudPlayerConnection.getUniqueId(), cloudPlayerConnection.getName()));

CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " setName");
cloudPlayer.setName(cloudPlayerConnection.getName());
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " updatePlayer");
CloudNet.getInstance().getDbHandlers().getPlayerDatabase().updatePlayer(CloudPlayer.newOfflinePlayer(cloudPlayer));

CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " PacketOutLoginPlayer");
proxyServer.sendPacket(new PacketOutLoginPlayer(uniqueId, cloudPlayer, "successful Login"));
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " waitingPlayers");
this.waitingPlayers.put(cloudPlayer.getUniqueId(), cloudPlayer);
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " handlePlayerLogin");
handlePlayerLogin(cloudPlayer);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,13 @@ public interface INetworkComponent extends PacketSender, ChannelUser {

default void sendPacket(Packet packet)
{
CloudNet.getLogger().debug("Sending Packet " + packet.getClass().getSimpleName() + " to " + getServerId());
CloudNet.getLogger().debug(
"Sending Packet " +
packet.getClass().getSimpleName() +
" (id=" + CloudNet.getInstance().getPacketManager().packetId(packet) +
";dataLength=" + CloudNet.getInstance().getPacketManager().packetData(packet).size() +
") to " + getServerId()
);

if (getChannel() == null) return;
if (getChannel().eventLoop().inEventLoop())
Expand Down Expand Up @@ -62,6 +68,13 @@ default void sendPacket(Packet... packets)
default void sendPacketSynchronized(Packet packet)
{
if (getChannel() == null) return;
CloudNet.getLogger().debug(
"Sending Packet " +
packet.getClass().getSimpleName() +
" (id=" + CloudNet.getInstance().getPacketManager().packetId(packet) +
";dataLength=" + CloudNet.getInstance().getPacketManager().packetData(packet).size() +
") to " + getServerId()
);
getChannel().writeAndFlush(packet).syncUninterruptibly();
}

Expand Down
Loading

0 comments on commit aba1dea

Please sign in to comment.