Added configurable Connection Throttle. Addresses BUKKIT-1274

This commit is contained in:
EvilSeph
2012-03-22 08:03:24 -04:00
parent dda37aa18c
commit c2cdeac09b
3 changed files with 9 additions and 1 deletions

View File

@@ -10,6 +10,8 @@ class NetworkAcceptThread extends Thread {
final NetworkListenThread listenThread;
long connectionThrottle; // CraftBukkit
NetworkAcceptThread(NetworkListenThread networklistenthread, String s, MinecraftServer minecraftserver) {
super(s);
this.listenThread = networklistenthread;
@@ -24,9 +26,10 @@ class NetworkAcceptThread extends Thread {
if (socket != null) {
synchronized (NetworkListenThread.getRecentConnectionAttempts(this.listenThread)) {
InetAddress inetaddress = socket.getInetAddress();
connectionThrottle = this.a.server.getConnectionThrottle(); // CraftBukkit
// CraftBukkit
if (NetworkListenThread.getRecentConnectionAttempts(this.listenThread).containsKey(inetaddress) && System.currentTimeMillis() - ((Long) NetworkListenThread.getRecentConnectionAttempts(this.listenThread).get(inetaddress)).longValue() < 4000L) {
if (NetworkListenThread.getRecentConnectionAttempts(this.listenThread).containsKey(inetaddress) && System.currentTimeMillis() - ((Long) NetworkListenThread.getRecentConnectionAttempts(this.listenThread).get(inetaddress)).longValue() < connectionThrottle) {
NetworkListenThread.getRecentConnectionAttempts(this.listenThread).put(inetaddress, Long.valueOf(System.currentTimeMillis()));
socket.close();
continue;