From 7145f41b6ebe89d79f39826663c99f33d7756669 Mon Sep 17 00:00:00 2001 From: leguan <59799222+Leguan16@users.noreply.github.com> Date: Thu, 14 Sep 2023 13:11:19 +0200 Subject: [PATCH] compression level change with config option (#9711) --- patches/server/0005-Paper-config-files.patch | 15 ++++++++++----- patches/server/0019-Rewrite-chunk-system.patch | 6 +++--- ...-Velocity-compression-and-cipher-natives.patch | 4 ++-- .../0867-Configurable-chat-thread-limit.patch | 4 ++-- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 9b4d9c165f..955a86aa37 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -440,15 +440,16 @@ index 0000000000000000000000000000000000000000..9ef6712c70fcd8912a79f3f61e351aac +} diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java new file mode 100644 -index 0000000000000000000000000000000000000000..45f1436cdd4b81b621ab71e4336c2aa666572105 +index 0000000000000000000000000000000000000000..4b3bb5fad1d80c9baea20ca224663b1ebc2b83e9 --- /dev/null +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -@@ -0,0 +1,292 @@ +@@ -0,0 +1,294 @@ +package io.papermc.paper.configuration; + +import co.aikar.timings.MinecraftTimings; +import io.papermc.paper.configuration.constraint.Constraint; +import io.papermc.paper.configuration.constraint.Constraints; ++import io.papermc.paper.configuration.type.IntOr; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; +import net.minecraft.network.protocol.Packet; @@ -725,6 +726,7 @@ index 0000000000000000000000000000000000000000..45f1436cdd4b81b621ab71e4336c2aa6 + public boolean useAlternativeLuckFormula = false; + public boolean useDimensionTypeForCustomSpawners = false; + public boolean strictAdvancementDimensionCheck = false; ++ public IntOr.Default compressionLevel = IntOr.Default.USE_DEFAULT; + } + + public BlockUpdates blockUpdates; @@ -949,10 +951,10 @@ index 0000000000000000000000000000000000000000..69add4a7f1147015806bc9b63a8340d1 +} diff --git a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java new file mode 100644 -index 0000000000000000000000000000000000000000..e471960e0443392f6f54732b052a4debf2a8fd97 +index 0000000000000000000000000000000000000000..2d3068b7748032342edd81e6ea4a7c08988fb28d --- /dev/null +++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java -@@ -0,0 +1,442 @@ +@@ -0,0 +1,445 @@ +package io.papermc.paper.configuration; + +import com.google.common.base.Suppliers; @@ -1129,7 +1131,10 @@ index 0000000000000000000000000000000000000000..e471960e0443392f6f54732b052a4deb + private static ConfigurationOptions defaultGlobalOptions(ConfigurationOptions options) { + return options + .header(GLOBAL_HEADER) -+ .serializers(builder -> builder.register(new PacketClassSerializer())); ++ .serializers(builder -> builder ++ .register(new PacketClassSerializer()) ++ .register(IntOr.Default.SERIALIZER) ++ ); + } + + @Override diff --git a/patches/server/0019-Rewrite-chunk-system.patch b/patches/server/0019-Rewrite-chunk-system.patch index f9963689c7..3d168849a2 100644 --- a/patches/server/0019-Rewrite-chunk-system.patch +++ b/patches/server/0019-Rewrite-chunk-system.patch @@ -15704,10 +15704,10 @@ index 0000000000000000000000000000000000000000..962d3cae6340fc11607b59355e291629 + +} diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -index 45f1436cdd4b81b621ab71e4336c2aa666572105..622684f50a12ddd412e2d6ff305407e7c13684bf 100644 +index 4b3bb5fad1d80c9baea20ca224663b1ebc2b83e9..3a5abb89d3742a6f38799c183a098947686e16ab 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -@@ -24,6 +24,45 @@ public class GlobalConfiguration extends ConfigurationPart { +@@ -25,6 +25,45 @@ public class GlobalConfiguration extends ConfigurationPart { public static GlobalConfiguration get() { return instance; } @@ -15753,7 +15753,7 @@ index 45f1436cdd4b81b621ab71e4336c2aa666572105..622684f50a12ddd412e2d6ff305407e7 static void set(GlobalConfiguration instance) { GlobalConfiguration.instance = instance; } -@@ -116,21 +155,6 @@ public class GlobalConfiguration extends ConfigurationPart { +@@ -117,21 +156,6 @@ public class GlobalConfiguration extends ConfigurationPart { public int incomingPacketThreshold = 300; } diff --git a/patches/server/0707-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0707-Use-Velocity-compression-and-cipher-natives.patch index 0fdcb3a4ff..21039c9adb 100644 --- a/patches/server/0707-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/0707-Use-Velocity-compression-and-cipher-natives.patch @@ -268,7 +268,7 @@ index 792883afe53d2b7989c25a81c2f9a639d5e21d20..c04379ca8a4db0f4de46ad2b3b338431 return this.threshold; } diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 15798ed13488b8b8b16ebee557dce18e3dc51708..cf20f0983fc25b26cf92b9d3a28746b1909fc56b 100644 +index 15798ed13488b8b8b16ebee557dce18e3dc51708..52cb6476604c98465f81ff9e8d8344d7536a8868 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -727,11 +727,28 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -308,7 +308,7 @@ index 15798ed13488b8b8b16ebee557dce18e3dc51708..cf20f0983fc25b26cf92b9d3a28746b1 public void setupCompression(int compressionThreshold, boolean rejectsBadPackets) { if (compressionThreshold >= 0) { -+ com.velocitypowered.natives.compression.VelocityCompressor compressor = com.velocitypowered.natives.util.Natives.compress.get().create(-1); // Paper ++ com.velocitypowered.natives.compression.VelocityCompressor compressor = com.velocitypowered.natives.util.Natives.compress.get().create(io.papermc.paper.configuration.GlobalConfiguration.get().misc.compressionLevel.or(-1)); // Paper if (this.channel.pipeline().get("decompress") instanceof CompressionDecoder) { ((CompressionDecoder) this.channel.pipeline().get("decompress")).setThreshold(compressionThreshold, rejectsBadPackets); } else { diff --git a/patches/server/0867-Configurable-chat-thread-limit.patch b/patches/server/0867-Configurable-chat-thread-limit.patch index 666fbf6598..4d82e89994 100644 --- a/patches/server/0867-Configurable-chat-thread-limit.patch +++ b/patches/server/0867-Configurable-chat-thread-limit.patch @@ -22,10 +22,10 @@ is actually processed, this is honestly really just exposed for the misnomers or who just wanna ensure that this won't grow over a specific size if chat gets stupidly active diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -index 622684f50a12ddd412e2d6ff305407e7c13684bf..019d3bbd78fb0b06861979d223915fedb6c99442 100644 +index 3a5abb89d3742a6f38799c183a098947686e16ab..3bc7230ca62ebe3426da293e436a962bb0134f85 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -@@ -285,13 +285,26 @@ public class GlobalConfiguration extends ConfigurationPart { +@@ -286,13 +286,26 @@ public class GlobalConfiguration extends ConfigurationPart { public Misc misc; public class Misc extends ConfigurationPart {