From 33b2394769ff44c9558b6ca5c76cddd23eb6a1ab Mon Sep 17 00:00:00 2001 From: Alpha Date: Fri, 24 Mar 2023 23:31:01 +0900 Subject: [PATCH] Add option to allow any username (#24) --- .../0012-Player-configuration-section.patch | 23 +++++++++++++ ...13-Add-option-to-allow-any-usernames.patch | 32 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 patches/server/0012-Player-configuration-section.patch create mode 100644 patches/server/0013-Add-option-to-allow-any-usernames.patch diff --git a/patches/server/0012-Player-configuration-section.patch b/patches/server/0012-Player-configuration-section.patch new file mode 100644 index 0000000..5aaf54f --- /dev/null +++ b/patches/server/0012-Player-configuration-section.patch @@ -0,0 +1,23 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Thu, 23 Mar 2023 21:18:47 +0900 +Subject: [PATCH] Player configuration section + + +diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +index c408e9ccee77022c5d2172252e62c5c75c853610..6c85924291a09252031ec404c7a8d2f12e175d0f 100644 +--- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java ++++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +@@ -27,5 +27,12 @@ public class GlobalConfiguration extends ConfigurationPart { + public boolean enableRootUserWarnings = true; + public boolean enableSecureChatMarker = Boolean.getBoolean("plazma.disableAutoOptimizeConfigurations"); + ++ } ++ ++ public Player player; ++ public class Player extends ConfigurationPart { ++ ++ ++ + } + } diff --git a/patches/server/0013-Add-option-to-allow-any-usernames.patch b/patches/server/0013-Add-option-to-allow-any-usernames.patch new file mode 100644 index 0000000..70722df --- /dev/null +++ b/patches/server/0013-Add-option-to-allow-any-usernames.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Thu, 23 Mar 2023 21:20:20 +0900 +Subject: [PATCH] Add option to allow any usernames + + +diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +index f719f8aafe7c75e2ef8fcb05f556a8d6bd94b9a0..06ff5dd9e39e2be8dd8397a764813111019ceaed 100644 +--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +@@ -239,7 +239,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, + @Override + public void handleHello(ServerboundHelloPacket packet) { + Validate.validState(this.state == ServerLoginPacketListenerImpl.State.HELLO, "Unexpected hello packet", new Object[0]); +- Validate.validState(ServerLoginPacketListenerImpl.isValidUsername(packet.name()), "Invalid characters in username", new Object[0]); ++ if (!org.plazmamc.plazma.configurations.GlobalConfiguration.get().player.allowAnyUsername) Validate.validState(ServerLoginPacketListenerImpl.isValidUsername(packet.name()), "Invalid characters in username", new Object[0]); // Plazma + // Paper start - validate usernames + if (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() && io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.performUsernameValidation) { + if (!this.iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation && !validateUsername(packet.name())) { +diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +index 6c85924291a09252031ec404c7a8d2f12e175d0f..4945dbf8dc5fd2ab9f944c89a1766758ca16ae19 100644 +--- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java ++++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java +@@ -32,7 +32,7 @@ public class GlobalConfiguration extends ConfigurationPart { + public Player player; + public class Player extends ConfigurationPart { + +- ++ public boolean allowAnyUsername = false; + + } + }