@@ -19,7 +19,7 @@ index 1ac6cf51f2682d5eb14fe19646e79f6617d492dd..fafbebbb5e8c1a381b673f97f1fa2106
19
19
+ }
20
20
}
21
21
diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
22
- index 058fb3696c7ece4a7b6971886b1760b26add733b..bd378482b82c15cba1eeaa620521ad9ed460a1da 100644
22
+ index 058fb3696c7ece4a7b6971886b1760b26add733b..98286dd27fc3562ca55ec44cc6e5eb5157269942 100644
23
23
--- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
24
24
+++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
25
25
@@ -109,6 +109,12 @@ public class ServerConnectionListener {
@@ -35,7 +35,7 @@ index 058fb3696c7ece4a7b6971886b1760b26add733b..bd378482b82c15cba1eeaa620521ad9e
35
35
this.channels.add(((ServerBootstrap) ((ServerBootstrap) (new ServerBootstrap()).channel(oclass)).childHandler(new ChannelInitializer<Channel>() {
36
36
protected void initChannel(Channel channel) {
37
37
try {
38
- @@ -122,6 +128,28 @@ public class ServerConnectionListener {
38
+ @@ -122,6 +128,30 @@ public class ServerConnectionListener {
39
39
int j = ServerConnectionListener.this.server.getRateLimitPacketsPerSecond();
40
40
Object object = j > 0 ? new RateKickingConnection(j) : new Connection(PacketFlow.SERVERBOUND);
41
41
@@ -46,13 +46,15 @@ index 058fb3696c7ece4a7b6971886b1760b26add733b..bd378482b82c15cba1eeaa620521ad9e
46
46
+ @Override
47
47
+ public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
48
48
+ if (msg instanceof io.netty.handler.codec.haproxy.HAProxyMessage message) {
49
- + String realaddress = message.sourceAddress();
50
- + int realport = message.sourcePort();
49
+ + if (message.command() == io.netty.handler.codec.haproxy.HAProxyCommand.PROXY) {
50
+ + String realaddress = message.sourceAddress();
51
+ + int realport = message.sourcePort();
51
52
+
52
- + SocketAddress socketaddr = new java.net.InetSocketAddress(realaddress, realport);
53
+ + SocketAddress socketaddr = new java.net.InetSocketAddress(realaddress, realport);
53
54
+
54
- + Connection connection = (Connection) channel.pipeline().get("packet_handler");
55
- + connection.address = socketaddr;
55
+ + Connection connection = (Connection) channel.pipeline().get("packet_handler");
56
+ + connection.address = socketaddr;
57
+ + }
56
58
+ } else {
57
59
+ super.channelRead(ctx, msg);
58
60
+ }
0 commit comments