Waterfall/BungeeCord-Patches/0061-Set-Netty-pooled-buffer-size-to-4MB.patch

34 lines
1.5 KiB
Diff
Raw Normal View History

From a1ae8aaff1a3e357072baf7115d1eadbc9c148a5 Mon Sep 17 00:00:00 2001
2021-04-24 18:52:48 +02:00
From: Andrew Steinborn <git@steinborn.me>
Date: Sat, 24 Apr 2021 17:52:33 +0100
Subject: [PATCH] Set Netty pooled buffer size to 4MB
diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCordLauncher.java b/proxy/src/main/java/net/md_5/bungee/BungeeCordLauncher.java
index 0db3d76a..35680528 100644
2021-04-24 18:52:48 +02:00
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCordLauncher.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCordLauncher.java
@@ -26,6 +26,19 @@ public class BungeeCordLauncher
System.setProperty( "jdk.util.jar.enableMultiRelease", "force" );
}
2021-04-24 18:52:48 +02:00
+ // Waterfall start
+ // By default, Netty allocates 16MiB arenas for the PooledByteBufAllocator. This is too much
+ // memory for Minecraft, which imposes a maximum packet size of 2MiB! We'll use 4MiB as a more
+ // sane default.
+ //
+ // Note: io.netty.allocator.pageSize << io.netty.allocator.maxOrder is the formula used to
+ // compute the chunk size. We lower maxOrder from its default of 11 to 9. (We also use a null
+ // check, so that the user is free to choose another setting if need be.)
+ if (System.getProperty("io.netty.allocator.maxOrder") == null) {
+ System.setProperty("io.netty.allocator.maxOrder", "9");
+ }
+ // Waterfall end
+
OptionParser parser = new OptionParser();
parser.allowsUnrecognizedOptions();
parser.acceptsAll( Arrays.asList( "help" ), "Show the help" );
--
2.31.1
2021-04-24 18:52:48 +02:00