misc(debug): Improved debug mode

This commit is contained in:
Adrian 2023-12-01 18:06:05 -05:00
parent 9a701fb88a
commit 82b48b9f06
No known key found for this signature in database
GPG Key ID: FB8EF84DCE1BE452
11 changed files with 43 additions and 24 deletions

View File

@ -29,7 +29,7 @@ import static io.github.miniplaceholders.api.utils.Components.*;
final class AuthMePlaceholders { final class AuthMePlaceholders {
private AuthMePlaceholders() {} private AuthMePlaceholders() {}
static Expansion getExpansion(){ static Expansion getExpansion() {
return Expansion.builder("authme") return Expansion.builder("authme")
.filter(Player.class) .filter(Player.class)
.audiencePlaceholder("is_logged", (aud, queue, ctx) -> .audiencePlaceholder("is_logged", (aud, queue, ctx) ->

View File

@ -64,6 +64,7 @@ import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate; import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.stream.Stream; import java.util.stream.Stream;
@Plugin( @Plugin(
@ -243,4 +244,10 @@ public final class AuthMeVelocityPlugin implements AuthMeVelocityAPI {
logger.info("[DEBUG] {}", msg); logger.info("[DEBUG] {}", msg);
} }
} }
public void logDebug(Supplier<String> msg) {
if (config.get().advanced().debug()) {
logger.info("[DEBUG] {}", msg.get());
}
}
} }

View File

@ -20,10 +20,13 @@ package io.github._4drian3d.authmevelocity.velocity.listener.compat;
import com.github.games647.fastlogin.velocity.event.VelocityFastLoginAutoLoginEvent; import com.github.games647.fastlogin.velocity.event.VelocityFastLoginAutoLoginEvent;
import com.google.inject.Inject; import com.google.inject.Inject;
import com.velocitypowered.api.event.EventTask; import com.velocitypowered.api.event.EventTask;
import com.velocitypowered.api.proxy.Player;
import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.ProxyServer;
import io.github._4drian3d.authmevelocity.velocity.AuthMeVelocityPlugin; import io.github._4drian3d.authmevelocity.velocity.AuthMeVelocityPlugin;
import io.github._4drian3d.authmevelocity.velocity.listener.Listener; import io.github._4drian3d.authmevelocity.velocity.listener.Listener;
import java.util.Optional;
public final class FastLoginListener implements Listener<VelocityFastLoginAutoLoginEvent> { public final class FastLoginListener implements Listener<VelocityFastLoginAutoLoginEvent> {
@Inject @Inject
private ProxyServer proxy; private ProxyServer proxy;
@ -38,8 +41,15 @@ public final class FastLoginListener implements Listener<VelocityFastLoginAutoLo
@Override @Override
public EventTask executeAsync(final VelocityFastLoginAutoLoginEvent event) { public EventTask executeAsync(final VelocityFastLoginAutoLoginEvent event) {
return EventTask.async(() -> { return EventTask.async(() -> {
plugin.logDebug("VelocityFastLoginAutoLoginEvent | Attempt to auto register player"); plugin.logDebug(() -> "VelocityFastLoginAutoLoginEvent | Attempt to auto register player");
proxy.getPlayer(event.getProfile().getName()).ifPresent(plugin::addPlayer); final Optional<Player> optionalPlayer = proxy.getPlayer(event.getProfile().getName());
if (optionalPlayer.isPresent()) {
final Player player = optionalPlayer.get();
plugin.logDebug(() -> "VelocityFastLoginAutoLoginEvent | Auto registering player " + player.getUsername());
plugin.addPlayer(player);
} else {
plugin.logDebug(() -> "VelocityFastLoginAutoLoginEvent | Player " + event.getProfile().getName() + " could not be registered");
}
}); });
} }
} }

View File

@ -61,7 +61,7 @@ public final class InitialServerListener implements Listener<PlayerChooseInitial
final Optional<RegisteredServer> optionalSV = event.getInitialServer(); final Optional<RegisteredServer> optionalSV = event.getInitialServer();
if (optionalSV.isPresent() && plugin.isAuthServer(optionalSV.get())) { if (optionalSV.isPresent() && plugin.isAuthServer(optionalSV.get())) {
continuation.resume(); continuation.resume();
plugin.logDebug("PlayerChooseInitialServerEvent | Player is in auth server"); plugin.logDebug(() -> "PlayerChooseInitialServerEvent | " + event.getPlayer().getUsername() + " | Player is in auth server");
return; return;
} }
@ -72,7 +72,7 @@ public final class InitialServerListener implements Listener<PlayerChooseInitial
event.setInitialServer(server.object()); event.setInitialServer(server.object());
continuation.resume(); continuation.resume();
if (server.isEmpty()) { if (server.isEmpty()) {
plugin.logDebug("PlayerChooseInitialServerEvent | Null server"); plugin.logDebug(() -> "PlayerChooseInitialServerEvent | " + event.getPlayer().getUsername() + " | Null server");
logger.error("Cannot send the player {} to an auth server", event.getPlayer().getUsername()); logger.error("Cannot send the player {} to an auth server", event.getPlayer().getUsername());
} }
}); });

View File

@ -29,6 +29,7 @@ import com.velocitypowered.api.proxy.server.RegisteredServer;
import io.github._4drian3d.authmevelocity.velocity.AuthMeVelocityPlugin; import io.github._4drian3d.authmevelocity.velocity.AuthMeVelocityPlugin;
import io.github._4drian3d.authmevelocity.velocity.listener.Listener; import io.github._4drian3d.authmevelocity.velocity.listener.Listener;
@SuppressWarnings("UnstableApiUsage")
public final class PostConnectListener implements Listener<ServerPostConnectEvent> { public final class PostConnectListener implements Listener<ServerPostConnectEvent> {
@Inject @Inject
private AuthMeVelocityPlugin plugin; private AuthMeVelocityPlugin plugin;
@ -46,7 +47,7 @@ public final class PostConnectListener implements Listener<ServerPostConnectEven
final Player player = event.getPlayer(); final Player player = event.getPlayer();
final boolean isLogged = plugin.isLogged(player); final boolean isLogged = plugin.isLogged(player);
plugin.logDebug("ServerPostConnectEvent | Player "+player.getUsername()+" is logged: " + isLogged); plugin.logDebug(() -> "ServerPostConnectEvent | Player "+player.getUsername()+" is logged: " + isLogged);
final RegisteredServer server = player.getCurrentServer().map(ServerConnection::getServer).orElse(null); final RegisteredServer server = player.getCurrentServer().map(ServerConnection::getServer).orElse(null);
if (server == null) { if (server == null) {
plugin.logDebug("ServerPostConnectEvent | Player "+player.getUsername()+" is not in a server"); plugin.logDebug("ServerPostConnectEvent | Player "+player.getUsername()+" is not in a server");
@ -65,9 +66,9 @@ public final class PostConnectListener implements Listener<ServerPostConnectEven
buf.writeUTF(player.getUsername()); buf.writeUTF(player.getUsername());
final byte[] byteArray = buf.toByteArray(); final byte[] byteArray = buf.toByteArray();
plugin.logDebug("ServerPostConnectEvent | Sending LOGIN data"); plugin.logDebug(() -> "ServerPostConnectEvent | " + player.getUsername() + " | Sending LOGIN data");
if (server.sendPluginMessage(AuthMeVelocityPlugin.MODERN_CHANNEL, byteArray)) { if (server.sendPluginMessage(AuthMeVelocityPlugin.MODERN_CHANNEL, byteArray)) {
plugin.logDebug("ServerPostConnectEvent | Correctly send data"); plugin.logDebug(() -> "ServerPostConnectEvent | " + player.getUsername() + " | Correctly send data");
} else { } else {
plugin.logDebug("ServerPostConnectEvent | Failed to send data"); plugin.logDebug("ServerPostConnectEvent | Failed to send data");
} }

View File

@ -40,14 +40,14 @@ public final class PreConnectListener implements Listener<ServerPreConnectEvent>
public EventTask executeAsync(final ServerPreConnectEvent event) { public EventTask executeAsync(final ServerPreConnectEvent event) {
return EventTask.withContinuation(continuation -> { return EventTask.withContinuation(continuation -> {
if (plugin.isLogged(event.getPlayer())) { if (plugin.isLogged(event.getPlayer())) {
plugin.logDebug("ServerPreConnectEvent | Player already logged"); plugin.logDebug(() -> "ServerPreConnectEvent | Player " + event.getPlayer().getUsername() + " is already logged");
continuation.resume(); continuation.resume();
return; return;
} }
final RegisteredServer server = event.getResult().getServer().orElse(null); final RegisteredServer server = event.getResult().getServer().orElse(null);
if (server == null) { if (server == null) {
plugin.logDebug("ServerPreConnectEvent | Null Server"); plugin.logDebug(() -> "ServerPreConnectEvent | " + event.getPlayer().getUsername() + " | Null Server");
continuation.resume(); continuation.resume();
return; return;
} }

View File

@ -91,26 +91,26 @@ public final class PluginMessageListener implements Listener<PluginMessageEvent>
plugin.logDebug("PluginMessageEvent | Logout type"); plugin.logDebug("PluginMessageEvent | Logout type");
if (player != null && plugin.removePlayer(player)){ if (player != null && plugin.removePlayer(player)){
eventManager.fireAndForget(new ProxyLogoutEvent(player)); eventManager.fireAndForget(new ProxyLogoutEvent(player));
plugin.logDebug("PluginMessageEvent | Player not null"); plugin.logDebug(() -> "PluginMessageEvent | Player " + name + " not null");
} }
} }
case REGISTER -> { case REGISTER -> {
plugin.logDebug("PluginMessageEvent | Register"); plugin.logDebug("PluginMessageEvent | Register");
if (player != null) { if (player != null) {
eventManager.fireAndForget(new ProxyRegisterEvent(player)); eventManager.fireAndForget(new ProxyRegisterEvent(player));
plugin.logDebug("PluginMessageEvent | Player not null"); plugin.logDebug(() -> "PluginMessageEvent | Player " + name + " not null");
} }
} }
case UNREGISTER -> { case UNREGISTER -> {
plugin.logDebug("PluginMessageEvent | Unregister type"); plugin.logDebug("PluginMessageEvent | Unregister type");
if (player != null) { if (player != null) {
plugin.logDebug("PluginMessageEvent | Player not null"); plugin.logDebug(() -> "PluginMessageEvent | Player " + name + " not null");
eventManager.fireAndForget(new ProxyUnregisterEvent(player)); eventManager.fireAndForget(new ProxyUnregisterEvent(player));
} }
} }
case FORCE_UNREGISTER -> { case FORCE_UNREGISTER -> {
eventManager.fireAndForget(new ProxyForcedUnregisterEvent(player)); eventManager.fireAndForget(new ProxyForcedUnregisterEvent(player));
plugin.logDebug("PluginMessageEvent | Forced Unregister type"); plugin.logDebug(() -> "PluginMessageEvent | Forced Unregister type, player " + name);
} }
} }
@ -135,6 +135,7 @@ public final class PluginMessageListener implements Listener<PluginMessageEvent>
} }
if (plugin.config().get().sendOnLogin().isRequirePermission() && !player.hasPermission("authmevelocity.send-on-login")) { if (plugin.config().get().sendOnLogin().isRequirePermission() && !player.hasPermission("authmevelocity.send-on-login")) {
plugin.logDebug(() -> "PluginMessageEvent # createServerConnectionRequest | The player does not have permission " + player.getUsername());
return; return;
} }

View File

@ -40,12 +40,12 @@ public final class ChatListener implements Listener<PlayerChatEvent> {
public EventTask executeAsync(final PlayerChatEvent event) { public EventTask executeAsync(final PlayerChatEvent event) {
return EventTask.withContinuation(continuation -> { return EventTask.withContinuation(continuation -> {
if (plugin.isLogged(event.getPlayer())) { if (plugin.isLogged(event.getPlayer())) {
plugin.logDebug("PlayerChatEvent | Player is already logged"); plugin.logDebug(() -> "PlayerChatEvent | Player " + event.getPlayer().getUsername() + " is already logged");
continuation.resume(); continuation.resume();
return; return;
} }
plugin.logDebug("PlayerChatEvent | Player is not logged"); plugin.logDebug(() -> "PlayerChatEvent | Player " + event.getPlayer().getUsername() + " is not logged");
event.setResult(PlayerChatEvent.ChatResult.denied()); event.setResult(PlayerChatEvent.ChatResult.denied());
continuation.resume(); continuation.resume();

View File

@ -43,27 +43,27 @@ public final class CommandListener implements Listener<CommandExecuteEvent> {
public EventTask executeAsync(final CommandExecuteEvent event) { public EventTask executeAsync(final CommandExecuteEvent event) {
return EventTask.withContinuation(continuation -> { return EventTask.withContinuation(continuation -> {
if (!(event.getCommandSource() instanceof final Player player)) { if (!(event.getCommandSource() instanceof final Player player)) {
plugin.logDebug("CommandExecuteEvent | CommandSource is not a player"); plugin.logDebug(() -> "CommandExecuteEvent | CommandSource is not a player");
continuation.resume(); continuation.resume();
return; return;
} }
if (plugin.isLogged(player)) { if (plugin.isLogged(player)) {
plugin.logDebug("CommandExecuteEvent | Player is already logged"); plugin.logDebug(() -> "CommandExecuteEvent | Player "+ player.getUsername() +" is already logged");
continuation.resume(); continuation.resume();
return; return;
} }
if (plugin.isInAuthServer(player)) { if (plugin.isInAuthServer(player)) {
plugin.logDebug("CommandExecuteEvent | Player is in Auth Server"); plugin.logDebug(() -> "CommandExecuteEvent | Player "+ player.getUsername() +" is in Auth Server");
final String command = AuthMeUtils.getFirstArgument(event.getCommand()); final String command = AuthMeUtils.getFirstArgument(event.getCommand());
if (!plugin.config().get().commands().allowedCommands().contains(command)) { if (!plugin.config().get().commands().allowedCommands().contains(command)) {
plugin.logDebug("CommandExecuteEvent | Player executed an blocked command"); plugin.logDebug(() -> "CommandExecuteEvent | Player "+ player.getUsername() +" executed an blocked command");
sendBlockedMessage(player); sendBlockedMessage(player);
event.setResult(CommandExecuteEvent.CommandResult.denied()); event.setResult(CommandExecuteEvent.CommandResult.denied());
} }
} else { } else {
plugin.logDebug("CommandExecuteEven | Player is not in auth server"); plugin.logDebug(() -> "CommandExecuteEvent | Player "+ player.getUsername() +" is not in auth server");
sendBlockedMessage(player); sendBlockedMessage(player);
event.setResult(CommandExecuteEvent.CommandResult.denied()); event.setResult(CommandExecuteEvent.CommandResult.denied());
} }

View File

@ -46,7 +46,7 @@ public final class CompletionPacketListener implements Listener<PacketSendEvent>
final Player player = event.getPlayer(); final Player player = event.getPlayer();
return EventTask.async(() -> { return EventTask.async(() -> {
if (plugin.isLogged(player)) { if (plugin.isLogged(player)) {
plugin.logDebug("PacketSendEvent | TabCompleteResponse | Player is already logged"); plugin.logDebug(() -> "PacketSendEvent | TabCompleteResponse | Player " + player.getUsername() + " is already logged");
return; return;
} }
responsePacket.getOffers().clear(); responsePacket.getOffers().clear();

View File

@ -40,7 +40,7 @@ public class TabCompleteListener implements Listener<TabCompleteEvent> {
public EventTask executeAsync(final TabCompleteEvent event) { public EventTask executeAsync(final TabCompleteEvent event) {
return EventTask.async(() -> { return EventTask.async(() -> {
if (plugin.isLogged(event.getPlayer())) { if (plugin.isLogged(event.getPlayer())) {
plugin.logDebug("TabCompleteEvent | Player is already logged"); plugin.logDebug("TabCompleteEvent | Player " + event.getPlayer().getUsername() + " is already logged");
return; return;
} }
@ -51,7 +51,7 @@ public class TabCompleteListener implements Listener<TabCompleteEvent> {
} }
} }
plugin.logDebug("TabCompleteEvent | Not allowed tab-completion"); plugin.logDebug("TabCompleteEvent | " + event.getPlayer().getUsername() + " | Not allowed tab-completion");
event.getSuggestions().clear(); event.getSuggestions().clear();
}); });
} }