Added configurable Connection Throttle. Addresses BUKKIT-1274
Dieser Commit ist enthalten in:
Ursprung
dda37aa18c
Commit
c2cdeac09b
@ -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;
|
||||
|
@ -424,6 +424,10 @@ public final class CraftServer implements Server {
|
||||
return this.configuration.getInt("settings.ping-packet-limit", 100);
|
||||
}
|
||||
|
||||
public long getConnectionThrottle() {
|
||||
return this.configuration.getInt("settings.connection-throttle");
|
||||
}
|
||||
|
||||
public int getTicksPerAnimalSpawns() {
|
||||
return this.configuration.getInt("ticks-per.animal-spawns");
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ settings:
|
||||
ping-packet-limit: 100
|
||||
use-exact-login-location: false
|
||||
plugin-profiling: false
|
||||
connection-throttle: 4000
|
||||
ticks-per:
|
||||
animal-spawns: 400
|
||||
monster-spawns: 1
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren