Add more debugging messages for delayed proxy logins

Related #352
This commit is contained in:
games647
2020-05-21 10:03:56 +02:00
parent 103a8320ec
commit 7c125dc0b6
4 changed files with 20 additions and 6 deletions

View File

@ -123,17 +123,21 @@ public class FastLoginBukkit extends JavaPlugin implements PlatformPlugin<Comman
}
public BukkitLoginSession getSession(InetSocketAddress addr) {
String id = addr.getAddress().getHostAddress() + ':' + addr.getPort();
String id = getSessionId(addr);
return loginSession.get(id);
}
public String getSessionId(InetSocketAddress addr) {
return addr.getAddress().getHostAddress() + ':' + addr.getPort();
}
public void putSession(InetSocketAddress addr, BukkitLoginSession session) {
String id = addr.getAddress().getHostAddress() + ':' + addr.getPort();
String id = getSessionId(addr);
loginSession.put(id, session);
}
public void removeSession(InetSocketAddress addr) {
String id = addr.getAddress().getHostAddress() + ':' + addr.getPort();
String id = getSessionId(addr);
loginSession.remove(id);
}

View File

@ -68,6 +68,7 @@ public class BungeeListener implements PluginMessageListener {
Type type = message.getType();
InetSocketAddress address = player.getAddress();
plugin.getLog().info("Player info {} command for {} from proxy", type, playerName);
if (type == Type.LOGIN) {
onLoginMessage(player, playerName, address);
} else if (type == Type.REGISTER) {
@ -103,7 +104,9 @@ public class BungeeListener implements PluginMessageListener {
plugin.putSession(player.getAddress(), session);
// only start a new login task if the join event fired earlier. This event then didn
if (plugin.getBungeeManager().didJoinEventFired(player)) {
boolean result = plugin.getBungeeManager().didJoinEventFired(player);
plugin.getLog().info("Delaying force login until join event fired?: {}", result);
if (result) {
Runnable forceLoginTask = new ForceLoginTask(plugin.getCore(), player, session);
Bukkit.getScheduler().runTaskAsynchronously(plugin, forceLoginTask);
}

View File

@ -46,7 +46,8 @@ public class ConnectionListener implements Listener {
// having the login session from the login process
BukkitLoginSession session = plugin.getSession(player.getAddress());
if (session == null) {
plugin.getLog().info("No on-going login session for player: {}", player);
String sessionId = plugin.getSessionId(player.getAddress());
plugin.getLog().info("No on-going login session for player: {} with ID {}", player, sessionId);
} else {
Runnable forceLoginTask = new ForceLoginTask(plugin.getCore(), player, session);
Bukkit.getScheduler().runTaskAsynchronously(plugin, forceLoginTask);

View File

@ -20,7 +20,13 @@ public abstract class ForceLoginManagement<P extends C, C, L extends LoginSessio
@Override
public void run() {
if (!isOnline(player) || session == null) {
if (!isOnline(player)) {
core.getPlugin().getLog().info("Player {} disconnected", player);
return;
}
if (session == null) {
core.getPlugin().getLog().info("No valid session found for {}", player);
return;
}