From 877f644cca1552996d32402d0e405b32e2b59f02 Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 27 Jan 2014 08:39:26 +1100 Subject: [PATCH] Add Optional Tick Shuffling This prevents players from 'gaming' the server, and strategically relogging to increase their position in the tick order. diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java index 7e703685e..9dc3d53cd 100644 --- a/src/main/java/net/minecraft/server/ServerConnection.java +++ b/src/main/java/net/minecraft/server/ServerConnection.java @@ -122,6 +122,13 @@ public class ServerConnection { List list = this.h; synchronized (this.h) { + // 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.h ); + } + // Spigot End Iterator iterator = this.h.iterator(); while (iterator.hasNext()) { diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java index d1a5802af..88cbee5b1 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -274,4 +274,10 @@ public class SpigotConfig playerSample = getInt( "settings.sample-count", 12 ); System.out.println( "Server Ping Player Sample Count: " + playerSample ); } + + public static int playerShuffle; + private static void playerShuffle() + { + playerShuffle = getInt( "settings.player-shuffle", 0 ); + } } -- 2.14.1