From f0c8edb487f6257b2ead8c5296f1358e9fca8e6f Mon Sep 17 00:00:00 2001 From: Etil <81570777+etil2jz@users.noreply.github.com> Date: Sat, 18 Sep 2021 16:43:36 +0200 Subject: [PATCH] Implement "Hide player IPs" --- patches/server/0010-Hide-player-IPs.patch | 71 +++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 patches/server/0010-Hide-player-IPs.patch diff --git a/patches/server/0010-Hide-player-IPs.patch b/patches/server/0010-Hide-player-IPs.patch new file mode 100644 index 0000000..6941d7d --- /dev/null +++ b/patches/server/0010-Hide-player-IPs.patch @@ -0,0 +1,71 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Etil <81570777+etil2jz@users.noreply.github.com> +Date: Sat, 18 Sep 2021 16:43:11 +0200 +Subject: [PATCH] Hide player IPs + + +diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +index 01fee879c946b6640da34d5890d686f0152437dc..76c2f4b24e16c7d641ae1945b0ef94a6e854b342 100644 +--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +@@ -10,12 +10,14 @@ import java.net.InetSocketAddress; + import java.net.SocketAddress; + import java.security.PrivateKey; + import java.util.Arrays; ++import java.util.Objects; + import java.util.Random; + import java.util.UUID; + import java.util.concurrent.atomic.AtomicInteger; + import javax.annotation.Nullable; + import javax.crypto.Cipher; + import javax.crypto.SecretKey; ++import xyz.arthurb.mirai.MiraiConfig; + import net.minecraft.DefaultUncaughtExceptionHandler; + import net.minecraft.network.Connection; + import net.minecraft.network.FriendlyByteBuf; +@@ -223,6 +225,10 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener + } + + public String getUserName() { ++ // Mirai start ++ if (MiraiConfig.hidePlayerIps) { ++ return Objects.toString(this.gameProfile); ++ } + return this.gameProfile != null ? this.gameProfile + " (" + this.connection.getRemoteAddress() + ")" : String.valueOf(this.connection.getRemoteAddress()); + } + +diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java +index c560b0cf408467a913b0965bc97eed9d6d63897c..9dea6afb7fd90ff58970a5fe130fb14d2cdc991d 100644 +--- a/src/main/java/net/minecraft/server/players/PlayerList.java ++++ b/src/main/java/net/minecraft/server/players/PlayerList.java +@@ -7,6 +7,7 @@ import com.google.common.collect.Sets; + import com.mojang.authlib.GameProfile; + import com.mojang.serialization.DataResult; + import com.mojang.serialization.Dynamic; ++import xyz.arthurb.mirai.MiraiConfig; + import io.netty.buffer.Unpooled; + import io.papermc.paper.adventure.PaperAdventure; + import java.io.File; +@@ -486,11 +487,17 @@ public abstract class PlayerList { + // CraftBukkit - Moved from above, added world + + // Yatopia start - log player login location +- if (xyz.arthurb.mirai.MiraiConfig.logPlayerLoginLoc) { +- PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); +- } else { +- PlayerList.LOGGER.info("{}[{}] logged in with entity id {}", player.getName().getString(), s1, player.getId()); +- } ++ // Mirai start - hide player ips ++ if (xyz.arthurb.mirai.MiraiConfig.logPlayerLoginLoc && MiraiConfig.hidePlayerIps) { ++ PlayerList.LOGGER.info("{} logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); ++ } else if (xyz.arthurb.mirai.MiraiConfig.logPlayerLoginLoc) { ++ PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); ++ } else if (MiraiConfig.hidePlayerIps) { ++ PlayerList.LOGGER.info("{} logged in with entity id {}", player.getName().getString(), player.getId()); ++ } else { ++ PlayerList.LOGGER.info("{}[{}] logged in with entity id {}", player.getName().getString(), s1, player.getId()); ++ } ++ // Mirai end - hide player ips + // Yatopia end - log player login location + } +