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

Commit aba1dea

Browse files
authored
Merge pull request #93 from CloudNetService/development
Release of 2.1.14
2 parents 219aa58 + e1abd2f commit aba1dea

File tree

18 files changed

+253
-267
lines changed

18 files changed

+253
-267
lines changed

Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ pipeline {
1515
}
1616
stage('Version') {
1717
steps {
18-
sh 'mvn versions:set -DnewVersion=2.1.13.1'
18+
sh 'mvn versions:set -DnewVersion=2.1.14'
1919
}
2020
}
2121
stage('Compile') {

cloudnet-api/cloudnet-api-bridge/src/main/java/de/dytanic/cloudnet/bridge/BukkitBootstrap.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ public void onLoad()
4444
@Override
4545
public void onEnable()
4646
{
47+
new CloudServer(this, CloudAPI.getInstance());
48+
4749
CloudAPI.getInstance().bootstrap();
4850
checkRegistryAccess();
4951

@@ -56,7 +58,6 @@ public void onEnable()
5658
{
5759
}
5860

59-
new CloudServer(this, CloudAPI.getInstance());
6061
getServer().getPluginManager().registerEvents(new BukkitListener(), this);
6162

6263
CloudServer.getInstance().registerCommand(new CommandResource());

cloudnet-api/cloudnet-api-bridge/src/main/java/de/dytanic/cloudnet/bridge/internal/listener/bukkit/BukkitListener.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import de.dytanic.cloudnet.bridge.internal.util.ReflectionUtil;
1212
import de.dytanic.cloudnet.lib.player.CloudPlayer;
1313
import de.dytanic.cloudnet.lib.player.permission.GroupEntityData;
14+
import de.dytanic.cloudnet.lib.player.permission.PermissionGroup;
1415
import de.dytanic.cloudnet.lib.server.ServerConfig;
1516
import de.dytanic.cloudnet.lib.server.ServerGroupMode;
1617
import de.dytanic.cloudnet.lib.utility.document.Document;
@@ -124,14 +125,26 @@ public void handleFirst(PlayerLoginEvent event)
124125
{
125126
CloudPlayer cloudPlayer = CloudServer.getInstance().getCloudPlayers().get(event.getPlayer().getUniqueId());
126127
int joinPower = CloudAPI.getInstance().getServerGroupData(CloudAPI.getInstance().getGroup()).getJoinPower();
128+
127129
boolean acceptLogin = false;
128-
for (GroupEntityData entityData : cloudPlayer.getPermissionEntity().getGroups())
130+
131+
if (CloudAPI.getInstance().getPermissionPool() != null)
129132
{
130-
if (CloudAPI.getInstance().getPermissionGroup(entityData.getGroup()).getJoinPower() >= joinPower)
131-
acceptLogin = true;
133+
for (GroupEntityData entityData : cloudPlayer.getPermissionEntity().getGroups())
134+
{
135+
PermissionGroup permissionGroup = CloudAPI.getInstance().getPermissionGroup(entityData.getGroup());
132136

133-
if (event.getPlayer().hasPermission("cloudnet.joinpower." + CloudAPI.getInstance().getPermissionGroup(entityData.getGroup()).getJoinPower()))
134-
acceptLogin = true;
137+
if (permissionGroup != null)
138+
{
139+
if (permissionGroup.getJoinPower() >= joinPower)
140+
acceptLogin = true;
141+
}
142+
}
143+
}
144+
145+
if (event.getPlayer().hasPermission("cloudnet.joinpower." + joinPower))
146+
{
147+
acceptLogin = true;
135148
}
136149

137150
if (!acceptLogin)

cloudnet-core/src/main/java/de/dytanic/cloudnetcore/CloudNet.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,8 @@ private void initialCommands()
384384
.registerCommand(new CommandLog())
385385
.registerCommand(new CommandCreate())
386386
.registerCommand(new CommandVersion())
387-
.registerCommand(new CommandInfo());
387+
.registerCommand(new CommandInfo())
388+
.registerCommand(new CommandDebug());
388389
}
389390

390391
private void initPacketHandlers()
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright (c) Tarek Hosni El Alaoui 2017
3+
*/
4+
5+
package de.dytanic.cloudnetcore.command;
6+
7+
import de.dytanic.cloudnet.command.Command;
8+
import de.dytanic.cloudnet.command.CommandSender;
9+
import de.dytanic.cloudnetcore.CloudNet;
10+
11+
public final class CommandDebug extends Command {
12+
13+
public CommandDebug()
14+
{
15+
super("debug", "cloudnet.command.debug");
16+
17+
description = "Toggles the cloudnet debug mode";
18+
19+
}
20+
21+
@Override
22+
public void onExecuteCommand(CommandSender sender, String[] args)
23+
{
24+
CloudNet.getLogger().setDebugging(!CloudNet.getLogger().isDebugging());
25+
if (CloudNet.getLogger().isDebugging()) {
26+
sender.sendMessage("debugging was enabled");
27+
} else {
28+
sender.sendMessage("debugging was disabled");
29+
}
30+
}
31+
}

cloudnet-core/src/main/java/de/dytanic/cloudnetcore/database/PlayerDatabase.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import de.dytanic.cloudnet.lib.player.PlayerConnection;
1313
import de.dytanic.cloudnet.lib.player.permission.PermissionEntity;
1414
import de.dytanic.cloudnet.lib.utility.document.Document;
15+
import de.dytanic.cloudnetcore.CloudNet;
16+
import de.dytanic.cloudnetcore.api.event.player.UpdatePlayerEvent;
1517

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

3840
public PlayerDatabase updatePlayer(OfflinePlayer offlinePlayer)
3941
{
42+
CloudNet.getLogger().debug("PlayerDatabase updatePlayer offlinePlayer null: " + (offlinePlayer == null));
43+
if (offlinePlayer == null) return this;
4044
Document document = database.getDocument(offlinePlayer.getUniqueId().toString());
4145
document.append("offlinePlayer", CloudPlayer.newOfflinePlayer(offlinePlayer));
4246
database.insert(document);
47+
CloudNet.getLogger().debug("PlayerDatabase updatePlayer call UpdatePlayerEvent");
48+
CloudNet.getInstance().getEventManager().callEvent(new UpdatePlayerEvent(offlinePlayer));
4349
return this;
4450
}
4551

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

7177
public OfflinePlayer getPlayer(UUID uniqueId)
7278
{
79+
CloudNet.getLogger().debug("PlayerDatabase getPlayer uniqueId " + uniqueId);
7380
if (uniqueId == null) return null;
7481
Document document = database.getDocument(uniqueId.toString());
75-
82+
CloudNet.getLogger().debug("PlayerDatabase getPlayer document null: " + (document == null));
7683
if (document == null) return null;
77-
84+
CloudNet.getLogger().debug("PlayerDatabase getPlayer offlinePlayer contained: " + document.contains("offlinePlayer"));
7885
return document.getObject("offlinePlayer", OfflinePlayer.TYPE);
7986
}
8087

cloudnet-core/src/main/java/de/dytanic/cloudnetcore/network/CloudNetClient.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,14 @@ protected void channelRead0(ChannelHandlerContext channelHandlerContext, Object
134134

135135
if (!(obj instanceof Packet)) return;
136136

137-
CloudNet.getLogger().debug("Receiving Packet on " + getChannel().remoteAddress().toString());
138137
Packet packet = (Packet) obj;
138+
CloudNet.getLogger().debug(
139+
"Receiving Packet (id=" +
140+
CloudNet.getInstance().getPacketManager().packetId(packet) +
141+
";dataLength=" +
142+
CloudNet.getInstance().getPacketManager().packetData(packet).size()
143+
+ ") by " + getNetworkComponent().getServerId()
144+
);
139145
CloudNet.getInstance().getPacketManager().dispatchPacket(packet, networkComponent);
140146
}
141147

cloudnet-core/src/main/java/de/dytanic/cloudnetcore/network/NetworkManager.java

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,38 +86,58 @@ public void updateAll0()
8686

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

96+
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " call LoginRequestEvent");
9597
LoginRequestEvent loginRequestEvent = new LoginRequestEvent(proxyServer, cloudPlayerConnection);
9698
CloudNet.getInstance().getEventManager().callEvent(loginRequestEvent);
9799

98100
PlayerDatabase playerDatabase = CloudNet.getInstance().getDbHandlers().getPlayerDatabase();
99101
OfflinePlayer offlinePlayer = null;
100102

101-
if (!playerDatabase.containsPlayer(cloudPlayerConnection.getUniqueId()))
103+
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " database contains");
104+
if (!playerDatabase.containsPlayer(cloudPlayerConnection.getUniqueId())) {
105+
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " database register");
102106
offlinePlayer = playerDatabase.registerPlayer(cloudPlayerConnection);
107+
}
103108

104-
if (offlinePlayer == null) offlinePlayer = playerDatabase.getPlayer(cloudPlayerConnection.getUniqueId());
109+
if (offlinePlayer == null) {
110+
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " database get");
111+
offlinePlayer = playerDatabase.getPlayer(cloudPlayerConnection.getUniqueId());
112+
}
105113

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

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

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

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

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

136+
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " PacketOutLoginPlayer");
119137
proxyServer.sendPacket(new PacketOutLoginPlayer(uniqueId, cloudPlayer, "successful Login"));
138+
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " waitingPlayers");
120139
this.waitingPlayers.put(cloudPlayer.getUniqueId(), cloudPlayer);
140+
CloudNet.getLogger().debug("player login request " + cloudPlayerConnection.getName() + "#" + uniqueId + " handlePlayerLogin");
121141
handlePlayerLogin(cloudPlayer);
122142
}
123143

cloudnet-core/src/main/java/de/dytanic/cloudnetcore/network/components/INetworkComponent.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,13 @@ public interface INetworkComponent extends PacketSender, ChannelUser {
2222

2323
default void sendPacket(Packet packet)
2424
{
25-
CloudNet.getLogger().debug("Sending Packet " + packet.getClass().getSimpleName() + " to " + getServerId());
25+
CloudNet.getLogger().debug(
26+
"Sending Packet " +
27+
packet.getClass().getSimpleName() +
28+
" (id=" + CloudNet.getInstance().getPacketManager().packetId(packet) +
29+
";dataLength=" + CloudNet.getInstance().getPacketManager().packetData(packet).size() +
30+
") to " + getServerId()
31+
);
2632

2733
if (getChannel() == null) return;
2834
if (getChannel().eventLoop().inEventLoop())
@@ -62,6 +68,13 @@ default void sendPacket(Packet... packets)
6268
default void sendPacketSynchronized(Packet packet)
6369
{
6470
if (getChannel() == null) return;
71+
CloudNet.getLogger().debug(
72+
"Sending Packet " +
73+
packet.getClass().getSimpleName() +
74+
" (id=" + CloudNet.getInstance().getPacketManager().packetId(packet) +
75+
";dataLength=" + CloudNet.getInstance().getPacketManager().packetData(packet).size() +
76+
") to " + getServerId()
77+
);
6578
getChannel().writeAndFlush(packet).syncUninterruptibly();
6679
}
6780

0 commit comments

Comments
 (0)