From fb5f7ea45ac1400641f29b8a2be5b63a5ba2bf9e Mon Sep 17 00:00:00 2001 From: Spigot Date: Wed, 27 Feb 2013 16:48:20 +1100 Subject: [PATCH] Netty has to be done with -D options to the JVM. Sorry! By: md_5 --- CraftBukkit-Patches/0029-Netty.patch | 62 +++++----------------------- 1 file changed, 11 insertions(+), 51 deletions(-) diff --git a/CraftBukkit-Patches/0029-Netty.patch b/CraftBukkit-Patches/0029-Netty.patch index fcc8eef1da..0b4fa27e6c 100644 --- a/CraftBukkit-Patches/0029-Netty.patch +++ b/CraftBukkit-Patches/0029-Netty.patch @@ -1,4 +1,4 @@ -From ef3c54902fe9772967964f6c7ad03b9d4d803379 Mon Sep 17 00:00:00 2001 +From ef6504ec0d62667ac417c746cb1c7616359c05a8 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 14 Feb 2013 17:32:20 +1100 Subject: [PATCH] Netty @@ -39,18 +39,16 @@ Subject: [PATCH] Netty .../net/minecraft/server/PendingConnection.java | 11 +- .../net/minecraft/server/ThreadCommandReader.java | 1 + .../net/minecraft/server/ThreadLoginVerifier.java | 1 + - src/main/java/org/bukkit/craftbukkit/Spigot.java | 8 + .../craftbukkit/scheduler/CraftScheduler.java | 2 +- src/main/java/org/spigotmc/netty/CipherCodec.java | 67 ++++++ .../org/spigotmc/netty/NettyNetworkManager.java | 229 +++++++++++++++++++ - .../org/spigotmc/netty/NettyServerConnection.java | 109 +++++++++ + .../org/spigotmc/netty/NettyServerConnection.java | 110 +++++++++ .../org/spigotmc/netty/NettySocketAdaptor.java | 248 +++++++++++++++++++++ .../java/org/spigotmc/netty/PacketDecoder.java | 63 ++++++ .../java/org/spigotmc/netty/PacketEncoder.java | 43 ++++ .../java/org/spigotmc/netty/PacketListener.java | 100 +++++++++ src/main/java/org/spigotmc/netty/ReadState.java | 16 ++ - src/main/resources/configurations/bukkit.yml | 2 + - 19 files changed, 933 insertions(+), 8 deletions(-) + 17 files changed, 924 insertions(+), 8 deletions(-) create mode 100644 src/main/java/net/minecraft/server/INetworkManager.java create mode 100644 src/main/java/org/spigotmc/netty/CipherCodec.java create mode 100644 src/main/java/org/spigotmc/netty/NettyNetworkManager.java @@ -78,7 +76,7 @@ index f17bd19..6b314ec 100644 diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index bd0377a..273b60e 100644 +index bd0377a..73cb5b1 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -32,7 +32,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -96,7 +94,7 @@ index bd0377a..273b60e 100644 try { - this.r = new DedicatedServerConnection(this, inetaddress, this.G()); + // Spigot start -+ this.r = (org.bukkit.craftbukkit.Spigot.netty) ++ this.r = (Boolean.getBoolean("org.spigotmc.netty.enabled")) + ? new org.spigotmc.netty.NettyServerConnection(this, inetaddress, this.G()) + : new DedicatedServerConnection(this, inetaddress, this.G()); + // Spigot end @@ -222,32 +220,6 @@ index 58d30eb..e4e5049 100644 this.server = server; // CraftBukkit end this.pendingConnection = pendingconnection; -diff --git a/src/main/java/org/bukkit/craftbukkit/Spigot.java b/src/main/java/org/bukkit/craftbukkit/Spigot.java -index c0335fa..8ecaeeb 100644 ---- a/src/main/java/org/bukkit/craftbukkit/Spigot.java -+++ b/src/main/java/org/bukkit/craftbukkit/Spigot.java -@@ -23,6 +23,8 @@ public class Spigot { - - public static boolean tabPing = false; - private static Metrics metrics; -+ public static boolean netty = true; -+ public static int nettyThreads = 3; - - public static void initialize(CraftServer server, SimpleCommandMap commandMap, YamlConfiguration configuration) { - commandMap.register("bukkit", new org.bukkit.craftbukkit.command.TicksPerSecondCommand("tps")); -@@ -60,6 +62,12 @@ public class Spigot { - - tabPing = configuration.getBoolean("settings.tab-ping", tabPing); - -+ netty = configuration.getBoolean("settings.use-netty", netty); -+ nettyThreads = configuration.getInt("settings.netty-threads", nettyThreads); -+ if (!netty) { -+ server.getLogger().severe("[Warning] You have opted not to use Netty, in the future this option may be removed!"); -+ } -+ - if (metrics == null) { - try { - metrics = new Metrics(); diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java index 0a5c61a..35badf3 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -571,10 +543,10 @@ index 0000000..6cb1b98 +} diff --git a/src/main/java/org/spigotmc/netty/NettyServerConnection.java b/src/main/java/org/spigotmc/netty/NettyServerConnection.java new file mode 100644 -index 0000000..ed9dd12 +index 0000000..1656ff0 --- /dev/null +++ b/src/main/java/org/spigotmc/netty/NettyServerConnection.java -@@ -0,0 +1,109 @@ +@@ -0,0 +1,110 @@ +package org.spigotmc.netty; + +import com.google.common.util.concurrent.ThreadFactoryBuilder; @@ -615,6 +587,7 @@ index 0000000..ed9dd12 + + public NettyServerConnection(MinecraftServer ms, InetAddress host, int port) { + super(ms); ++ int threads = Integer.getInteger("org.spigotmc.netty.threads",3); + socket = new ServerBootstrap().channel(NioServerSocketChannel.class).childHandler(new ChannelInitializer() { + @Override + public void initChannel(Channel ch) throws Exception { @@ -630,8 +603,8 @@ index 0000000..ed9dd12 + .addLast("encoder", new PacketEncoder()) + .addLast("manager", new NettyNetworkManager()); + } -+ }).group(new NioEventLoopGroup(Spigot.nettyThreads, new ThreadFactoryBuilder().setNameFormat("Netty IO Thread - %1$d").build())).localAddress(host, port).bind(); -+ MinecraftServer.log.info("Using Netty NIO with " + Spigot.nettyThreads + "threads for network connections."); ++ }).group(new NioEventLoopGroup(threads, new ThreadFactoryBuilder().setNameFormat("Netty IO Thread - %1$d").build())).localAddress(host, port).bind(); ++ MinecraftServer.log.info("Using Netty NIO with " + threads + " threads for network connections."); + } + + /** @@ -1184,19 +1157,6 @@ index 0000000..5dc3754 + */ + DATA; +} -diff --git a/src/main/resources/configurations/bukkit.yml b/src/main/resources/configurations/bukkit.yml -index 7c18391..45a8a00 100644 ---- a/src/main/resources/configurations/bukkit.yml -+++ b/src/main/resources/configurations/bukkit.yml -@@ -34,6 +34,8 @@ settings: - timeout-time: 30 - restart-on-crash: false - restart-script-location: /path/to/server/start.sh -+ use-netty: true -+ netty-threads: 3 - world-settings: - default: - growth-chunks-per-tick: 650 -- -1.8.1.1 +1.8.1-rc2