spigot/CraftBukkit-Patches/0063-Add-Optional-Tick-Shuffling.patch

44 lines
1.8 KiB
Diff
Raw Normal View History

2017-06-08 18:00:00 +10:00
From d899085c1889a79e0cb42bd4fc3a4dddfc83d939 Mon Sep 17 00:00:00 2001
2014-04-12 14:18:37 +10:00
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
2017-06-08 18:00:00 +10:00
index 603646436..ccc121bc1 100644
2014-04-12 14:18:37 +10:00
--- a/src/main/java/net/minecraft/server/ServerConnection.java
+++ b/src/main/java/net/minecraft/server/ServerConnection.java
2016-05-10 21:48:25 +10:00
@@ -122,6 +122,13 @@ public class ServerConnection {
2015-02-28 11:36:22 +00:00
List list = this.h;
2014-04-12 14:18:37 +10:00
2015-02-28 11:36:22 +00:00
synchronized (this.h) {
2014-04-12 14:18:37 +10:00
+ // 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 )
+ {
2015-02-28 11:36:22 +00:00
+ Collections.shuffle( this.h );
2014-04-12 14:18:37 +10:00
+ }
+ // Spigot End
2015-02-28 11:36:22 +00:00
Iterator iterator = this.h.iterator();
2014-04-12 14:18:37 +10:00
while (iterator.hasNext()) {
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
2017-06-08 18:00:00 +10:00
index 5fa7cd871..2d7e7a11e 100644
2014-04-12 14:18:37 +10:00
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -275,4 +275,10 @@ public class SpigotConfig
2014-04-12 14:18:37 +10:00
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 );
+ }
}
--
2017-04-30 09:32:32 +10:00
2.11.0
2014-04-12 14:18:37 +10:00