--- ../src-base/minecraft/net/minecraft/network/NetworkSystem.java +++ ../src-work/minecraft/net/minecraft/network/NetworkSystem.java @@ -129,7 +129,10 @@ while (iterator.hasNext()) { ChannelFuture channelfuture = (ChannelFuture)iterator.next(); - channelfuture.channel().close().syncUninterruptibly(); + ChannelFuture close=channelfuture.channel().close(); +// if(channelfuture.channel().isOpen()){ +// close.syncUninterruptibly(); +// } } } @@ -139,6 +142,14 @@ synchronized (this.networkManagers) { + // Spigot Start + // This prevents players from 'gaming' the server, and strategically relogging to increase their position in the tick order + if (org.spigotmc.SpigotConfig.playerShuffle > 0 && MinecraftServer.currentTick % org.spigotmc.SpigotConfig.playerShuffle == 0) + { + Collections.shuffle(this.networkManagers); + } + + // Spigot End Iterator iterator = this.networkManagers.iterator(); while (iterator.hasNext())