From bd516d0d88dff52cc12914d5c809da73cb8cf703 Mon Sep 17 00:00:00 2001 From: Sen Date: Wed, 4 Jun 2025 17:55:59 +0200 Subject: [PATCH] fix packet spam, json decoding, change ports --- proxy/src/main/java/proxy/Proxy.java | 4 ++-- proxy/src/main/java/proxy/network/ProxyHandler.java | 8 +++++++- proxy/src/main/java/proxy/packet/C03PacketPlayer.java | 4 ++++ proxy/src/main/java/proxy/util/Formatter.java | 2 ++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/proxy/src/main/java/proxy/Proxy.java b/proxy/src/main/java/proxy/Proxy.java index c401aad..af72f94 100755 --- a/proxy/src/main/java/proxy/Proxy.java +++ b/proxy/src/main/java/proxy/Proxy.java @@ -100,9 +100,9 @@ public class Proxy { private boolean checkCase = true; private boolean kickOnConnect = true; private String forwardHost = "127.0.0.1"; - private int forwardPort = 25565; + private int forwardPort = 25563; private String proxyHost = ""; - private int proxyPort = 25566; + private int proxyPort = 25564; private int minPassLength = 8; private int maxAttempts = 5; private ServerInfo status = getStatus(new File("icon.png"), Formatter.AQUA + "Server\n" + Formatter.GREEN + "Test!!", 90, 10, "Test1", diff --git a/proxy/src/main/java/proxy/network/ProxyHandler.java b/proxy/src/main/java/proxy/network/ProxyHandler.java index e6a5fea..f3d09c9 100755 --- a/proxy/src/main/java/proxy/network/ProxyHandler.java +++ b/proxy/src/main/java/proxy/network/ProxyHandler.java @@ -69,6 +69,7 @@ public class ProxyHandler extends User implements Handler { private volatile boolean connected; private int passwordAttempts; private boolean wasClosed; + private boolean hasMoved; private volatile int signPreloaded; private String completion; private int spoofedId = -1; @@ -134,6 +135,10 @@ public class ProxyHandler extends User implements Handler { this.lastPingTime = System.nanoTime() / 1000000L; this.sendToClient(new S00PacketKeepAlive((int)this.lastPingTime)); } + if(this.hasMoved) { + this.hasMoved = false; + this.sendToClient(new S08PacketPlayerPosLook(0.5, 65.0, 0.5, 0.0f, 0.0f)); + } } if(this.connecting || this.connected) { if(this.server.isChannelOpen()) { @@ -223,7 +228,8 @@ public class ProxyHandler extends User implements Handler { this.sendToServer(packetIn); } else { - this.sendToClient(new S08PacketPlayerPosLook(0.5, 65.0, 0.5, 0.0f, 0.0f)); + if(packetIn.isMoving()) + this.hasMoved = true; if(this.signPreloaded == 1) { this.signPreloaded = 2; this.setSign(Formatter.DARK_BLUE + "" + Formatter.UNDERLINE + "Enter password", Formatter.DARK_GRAY + "Use 1 or 2 lines"); diff --git a/proxy/src/main/java/proxy/packet/C03PacketPlayer.java b/proxy/src/main/java/proxy/packet/C03PacketPlayer.java index c45a4cf..88a9724 100755 --- a/proxy/src/main/java/proxy/packet/C03PacketPlayer.java +++ b/proxy/src/main/java/proxy/packet/C03PacketPlayer.java @@ -40,6 +40,10 @@ public class C03PacketPlayer implements Packet { buf.writeByte(this.onGround ? 1 : 0); } + + public boolean isMoving() { + return this.moving; + } public static class C04PacketPlayerPosition extends C03PacketPlayer { diff --git a/proxy/src/main/java/proxy/util/Formatter.java b/proxy/src/main/java/proxy/util/Formatter.java index 7219cea..8ae7ca2 100755 --- a/proxy/src/main/java/proxy/util/Formatter.java +++ b/proxy/src/main/java/proxy/util/Formatter.java @@ -51,6 +51,8 @@ public enum Formatter { catch(Throwable t) { return null; } + if(elem.isJsonObject()) + return elem.getAsJsonObject().has("text") && elem.getAsJsonObject().get("text").isJsonPrimitive() ? elem.getAsJsonObject().get("text").getAsString() : null; return elem.isJsonPrimitive() ? elem.getAsString() : null; }