--- a/net/minecraft/server/network/ServerConnection.java +++ b/net/minecraft/server/network/ServerConnection.java @@ -100,15 +100,25 @@ NetworkManager.configureSerialization(channelpipeline, EnumProtocolDirection.SERVERBOUND, false, (BandwidthDebugMonitor) null); int j = ServerConnection.this.server.getRateLimitPacketsPerSecond(); - Object object = j > 0 ? new NetworkManagerServer(j) : new NetworkManager(EnumProtocolDirection.SERVERBOUND); + NetworkManager object = j > 0 ? new NetworkManagerServer(j) : new NetworkManager(EnumProtocolDirection.SERVERBOUND); // CraftBukkit - decompile error ServerConnection.this.connections.add(object); ((NetworkManager) object).configurePacketHandler(channelpipeline); ((NetworkManager) object).setListenerForServerboundHandshake(new HandshakeListener(ServerConnection.this.server, (NetworkManager) object)); } - }).group(eventloopgroup).localAddress(inetaddress, i)).bind().syncUninterruptibly()); + }).group(eventloopgroup).localAddress(inetaddress, i)).option(ChannelOption.AUTO_READ, false).bind().syncUninterruptibly()); // CraftBukkit + } + } + + // CraftBukkit start + public void acceptConnections() { + synchronized (this.channels) { + for (ChannelFuture future : this.channels) { + future.channel().config().setAutoRead(true); + } } } + // CraftBukkit end public SocketAddress startMemoryChannel() { List list = this.channels;