2024-05-05 18:39:32 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: nostalfinals <yuu8583@proton.me>
|
|
|
|
Date: Mon, 8 Apr 2024 23:24:38 +0800
|
|
|
|
Subject: [PATCH] Added API to get player ha proxy address
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
|
|
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
|
|
--- a/src/main/java/net/minecraft/network/Connection.java
|
|
|
|
+++ b/src/main/java/net/minecraft/network/Connection.java
|
|
|
|
@@ -0,0 +0,0 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
|
|
|
this.stopReadingPackets = true;
|
|
|
|
}
|
|
|
|
// Paper end - packet limiter
|
|
|
|
+ @Nullable public SocketAddress haProxyAddress; // Paper - Add API to get player's proxy address
|
|
|
|
|
|
|
|
public Connection(PacketFlow side) {
|
|
|
|
this.receiving = side;
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
|
|
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
|
|
--- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
|
|
|
|
@@ -0,0 +0,0 @@ public class ServerConnectionListener {
|
|
|
|
|
|
|
|
Connection connection = (Connection) channel.pipeline().get("packet_handler");
|
|
|
|
connection.address = socketaddr;
|
|
|
|
+
|
|
|
|
+ // Paper start - Add API to get player's proxy address
|
|
|
|
+ final String proxyAddress = message.destinationAddress();
|
|
|
|
+ final int proxyPort = message.destinationPort();
|
|
|
|
+
|
|
|
|
+ connection.haProxyAddress = new java.net.InetSocketAddress(proxyAddress, proxyPort);
|
|
|
|
+ // Paper end - Add API to get player's proxy address
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
super.channelRead(ctx, msg);
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
2024-06-16 21:31:39 +02:00
|
|
|
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public InetSocketAddress getAddress() {
|
|
|
|
- if (this.getHandle().connection.protocol() == null) return null;
|
|
|
|
+ if (this.getHandle().connection == null) return null;
|
|
|
|
|
|
|
|
SocketAddress addr = this.getHandle().connection.getRemoteAddress();
|
|
|
|
if (addr instanceof InetSocketAddress) {
|
2024-05-05 18:39:32 +02:00
|
|
|
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
+ // Paper start - Add API to get player's proxy address
|
|
|
|
+ @Override
|
|
|
|
+ public @Nullable InetSocketAddress getHAProxyAddress() {
|
|
|
|
+ if (this.getHandle().connection == null) return null;
|
|
|
|
+
|
|
|
|
+ return this.getHandle().connection.connection.haProxyAddress instanceof final InetSocketAddress inetSocketAddress ? inetSocketAddress : null;
|
|
|
|
+ }
|
|
|
|
+ // Paper end - Add API to get player's proxy address
|
|
|
|
+
|
|
|
|
public interface TransferCookieConnection {
|
|
|
|
|
|
|
|
boolean isTransferred();
|