44 lines
1.8 KiB
Diff
44 lines
1.8 KiB
Diff
From d831e59598a4dfd26623c6c0abe354f64d73d7e8 Mon Sep 17 00:00:00 2001
|
|
From: md_5 <git@md-5.net>
|
|
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 6508fdf..6c6ffa7 100644
|
|
--- a/src/main/java/net/minecraft/server/ServerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/ServerConnection.java
|
|
@@ -57,6 +57,13 @@ public class ServerConnection {
|
|
List list = this.g;
|
|
|
|
synchronized (this.g) {
|
|
+ // 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.g );
|
|
+ }
|
|
+ // Spigot End
|
|
Iterator iterator = this.g.iterator();
|
|
|
|
while (iterator.hasNext()) {
|
|
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
|
index a0d88ec..f19d415 100644
|
|
--- a/src/main/java/org/spigotmc/SpigotConfig.java
|
|
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
|
|
@@ -273,4 +273,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.1.0
|
|
|