diff --git a/src/main/java/cc/baka9/catseedlogin/bukkit/Config.java b/src/main/java/cc/baka9/catseedlogin/bukkit/Config.java index 631e45a..9cdacc4 100644 --- a/src/main/java/cc/baka9/catseedlogin/bukkit/Config.java +++ b/src/main/java/cc/baka9/catseedlogin/bukkit/Config.java @@ -85,6 +85,7 @@ public static class Settings { public static boolean LimitChineseID; public static boolean BedrockLoginBypass; public static boolean LoginwiththesameIP; + public static int IPTimeout; public static int MaxLengthID; public static int MinLengthID; public static boolean BeforeLoginNoDamage; @@ -107,6 +108,7 @@ public static void load(){ MinLengthID = config.getInt("MinLengthID", resourceConfig.getInt("MinLengthID")); BedrockLoginBypass = config.getBoolean("BedrockLoginBypass", resourceConfig.getBoolean("BedrockLoginBypass")); LoginwiththesameIP = config.getBoolean("LoginwiththesameIP", resourceConfig.getBoolean("LoginwiththesameIP")); + IPTimeout = config.getInt("IPTimeout", resourceConfig.getInt("IPTimeout")); MaxLengthID = config.getInt("MaxLengthID", resourceConfig.getInt("MaxLengthID")); BeforeLoginNoDamage = config.getBoolean("BeforeLoginNoDamage", resourceConfig.getBoolean("BeforeLoginNoDamage")); ReenterInterval = config.getLong("ReenterInterval", resourceConfig.getLong("ReenterInterval")); @@ -134,6 +136,7 @@ public static void save(){ config.set("LimitChineseID", LimitChineseID); config.set("BedrockLoginBypass",BedrockLoginBypass); config.set("LoginwiththesameIP",LoginwiththesameIP); + config.set("IPTimeout", IPTimeout); config.set("MinLengthID", MinLengthID); config.set("MaxLengthID", MaxLengthID); config.set("BeforeLoginNoDamage", BeforeLoginNoDamage); diff --git a/src/main/java/cc/baka9/catseedlogin/bukkit/object/LoginPlayerHelper.java b/src/main/java/cc/baka9/catseedlogin/bukkit/object/LoginPlayerHelper.java index 5edbeb0..2d7f6d7 100644 --- a/src/main/java/cc/baka9/catseedlogin/bukkit/object/LoginPlayerHelper.java +++ b/src/main/java/cc/baka9/catseedlogin/bukkit/object/LoginPlayerHelper.java @@ -96,9 +96,9 @@ public static boolean recordCurrentIP(Player player) { List storedIPs = getStoredIPs(loginPlayer); long lastLoginTime = loginPlayer.getLastAction(); long timeDifference = currentTime - lastLoginTime; - long timeoutInMillis = Config.Settings.IPTimeout * 1000; // 转换为毫秒 + long timeoutInTicks = (Config.Settings.IPTimeout * 60 * 1000) / 50; - if (!currentIP.equals(storedIPs) || timeDifference > timeoutInMillis) { + if (!currentIP.equals(storedIPs) || timeDifference > timeoutInTicks) { return false; } } diff --git a/src/main/resources/settings.yml b/src/main/resources/settings.yml index 08fe9af..251cdbf 100644 --- a/src/main/resources/settings.yml +++ b/src/main/resources/settings.yml @@ -3,6 +3,7 @@ IpCountLimit: 2 LimitChineseID: true BedrockLoginBypass: true LoginwiththesameIP: 0 +IPTimeout: 2 MinLengthID: 2 MaxLengthID: 15 BeforeLoginNoDamage: true