diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/LastSeenMessages.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/LastSeenMessages.java index fa3113af2d..a6f7912328 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/LastSeenMessages.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/LastSeenMessages.java @@ -49,4 +49,12 @@ public void encode(ByteBuf buf) { public boolean isEmpty() { return acknowledged.isEmpty(); } + + @Override + public String toString() { + return "LastSeenMessages{" + + "offset=" + offset + + ", acknowledged=" + acknowledged + + '}'; + } } diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/keyed/KeyedCommandHandler.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/keyed/KeyedCommandHandler.java index 8aa1051aa7..193371aad4 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/keyed/KeyedCommandHandler.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/keyed/KeyedCommandHandler.java @@ -52,7 +52,7 @@ public void handlePlayerCommandInternal(KeyedPlayerCommand packet) { && playerKey.getKeyRevision().compareTo(IdentifiedKey.Revision.LINKED_V2) >= 0) { logger.fatal("A plugin tried to deny a command with signable component(s). " + "This is not supported. " - + "Disconnecting player " + player.getUsername()); + + "Disconnecting player " + player.getUsername() + ". Command packet: " + packet); player.disconnect(Component.text( "A proxy plugin caused an illegal protocol state. " + "Contact your network administrator.")); @@ -75,7 +75,7 @@ public void handlePlayerCommandInternal(KeyedPlayerCommand packet) { && playerKey.getKeyRevision().compareTo(IdentifiedKey.Revision.LINKED_V2) >= 0) { logger.fatal("A plugin tried to change a command with signed component(s). " + "This is not supported. " - + "Disconnecting player " + player.getUsername()); + + "Disconnecting player " + player.getUsername() + ". Command packet: " + packet); player.disconnect(Component.text( "A proxy plugin caused an illegal protocol state. " + "Contact your network administrator.")); @@ -95,7 +95,7 @@ public void handlePlayerCommandInternal(KeyedPlayerCommand packet) { && playerKey.getKeyRevision().compareTo(IdentifiedKey.Revision.LINKED_V2) >= 0) { logger.fatal("A plugin tried to change a command with signed component(s). " + "This is not supported. " - + "Disconnecting player " + player.getUsername()); + + "Disconnecting player " + player.getUsername() + ". Command packet: " + packet); player.disconnect(Component.text( "A proxy plugin caused an illegal protocol state. " + "Contact your network administrator.")); diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionCommandHandler.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionCommandHandler.java index 782c78357f..b963ac2ec0 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionCommandHandler.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionCommandHandler.java @@ -47,7 +47,7 @@ public void handlePlayerCommandInternal(SessionPlayerCommand packet) { if (packet.isSigned()) { logger.fatal("A plugin tried to deny a command with signable component(s). " + "This is not supported. " - + "Disconnecting player " + player.getUsername()); + + "Disconnecting player " + player.getUsername() + ". Command packet: " + packet); player.disconnect(Component.text( "A proxy plugin caused an illegal protocol state. " + "Contact your network administrator.")); @@ -63,7 +63,7 @@ public void handlePlayerCommandInternal(SessionPlayerCommand packet) { if (packet.isSigned()) { logger.fatal("A plugin tried to change a command with signed component(s). " + "This is not supported. " - + "Disconnecting player " + player.getUsername()); + + "Disconnecting player " + player.getUsername() + ". Command packet: " + packet); player.disconnect(Component.text( "A proxy plugin caused an illegal protocol state. " + "Contact your network administrator.")); @@ -87,7 +87,7 @@ public void handlePlayerCommandInternal(SessionPlayerCommand packet) { if (packet.isSigned()) { logger.fatal("A plugin tried to change a command with signed component(s). " + "This is not supported. " - + "Disconnecting player " + player.getUsername()); + + "Disconnecting player " + player.getUsername() + ". Command packet: " + packet); player.disconnect(Component.text( "A proxy plugin caused an illegal protocol state. " + "Contact your network administrator.")); diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionPlayerCommand.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionPlayerCommand.java index 5954530e90..5ef83fa45c 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionPlayerCommand.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionPlayerCommand.java @@ -65,7 +65,8 @@ public Instant getTimeStamp() { } public boolean isSigned() { - return salt != 0 || !lastSeenMessages.isEmpty() || !argumentSignatures.isEmpty(); + if (salt == 0) return false; + return !lastSeenMessages.isEmpty() || !argumentSignatures.isEmpty(); } @Override @@ -73,6 +74,17 @@ public boolean handle(MinecraftSessionHandler handler) { return handler.handle(this); } + @Override + public String toString() { + return "SessionPlayerCommand{" + + "command='" + command + '\'' + + ", timeStamp=" + timeStamp + + ", salt=" + salt + + ", argumentSignatures=" + argumentSignatures + + ", lastSeenMessages=" + lastSeenMessages + + '}'; + } + public static class ArgumentSignatures { private final List entries; @@ -104,6 +116,12 @@ public void encode(ByteBuf buf) { entry.encode(buf); } } + @Override + public String toString() { + return "ArgumentSignatures{" + + "entries=" + entries + + '}'; + } } public static class ArgumentSignature { @@ -120,5 +138,12 @@ public void encode(ByteBuf buf) { ProtocolUtils.writeString(buf, name); buf.writeBytes(signature); } + + @Override + public String toString() { + return "ArgumentSignature{" + + "name='" + name + '\'' + + '}'; + } } }