From 8ad70096489349cbca8aad1964dc1926067b87e4 Mon Sep 17 00:00:00 2001 From: asofold Date: Mon, 28 Jul 2014 00:44:44 +0200 Subject: [PATCH] MorePackets: Make monitored seconds configurable, increase default to 6. --- .../nocheatplus/checks/moving/MovingData.java | 16 +++++++++++++--- .../nocheatplus/config/ConfPaths.java | 1 + .../nocheatplus/config/DefaultConfig.java | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/NCPCore/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingData.java b/NCPCore/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingData.java index eb2aefa3..b6cc028e 100644 --- a/NCPCore/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingData.java +++ b/NCPCore/src/main/java/fr/neatmonster/nocheatplus/checks/moving/MovingData.java @@ -13,6 +13,9 @@ import org.bukkit.entity.Player; import fr.neatmonster.nocheatplus.checks.access.ACheckData; import fr.neatmonster.nocheatplus.checks.access.CheckDataFactory; import fr.neatmonster.nocheatplus.checks.access.ICheckData; +import fr.neatmonster.nocheatplus.config.ConfPaths; +import fr.neatmonster.nocheatplus.config.ConfigFile; +import fr.neatmonster.nocheatplus.config.ConfigManager; import fr.neatmonster.nocheatplus.utilities.ActionAccumulator; import fr.neatmonster.nocheatplus.utilities.ActionFrequency; import fr.neatmonster.nocheatplus.utilities.PlayerLocation; @@ -61,7 +64,7 @@ public class MovingData extends ACheckData { // Note that the trace might be null after just calling this. MovingData data = playersMap.get(player.getName()); if (data == null) { - data = new MovingData(); + data = new MovingData(ConfigManager.getConfigFile(player.getWorld().getName())); playersMap.put(player.getName(), data); } return data; @@ -149,9 +152,9 @@ public class MovingData extends ACheckData { // Data of the more packets check. /** Packet frequency count. */ - public final ActionFrequency morePacketsFreq = new ActionFrequency(10, 500); + public final ActionFrequency morePacketsFreq; /** Burst count. */ - public final ActionFrequency morePacketsBurstFreq = new ActionFrequency(12, 5000); + public final ActionFrequency morePacketsBurstFreq; private Location morePacketsSetback = null; // Data of the more packets vehicle check. @@ -207,6 +210,13 @@ public class MovingData extends ACheckData { /** Inconsistency-flag. Set on moving inside of vehicles, reset on exiting properly. Workaround for VehicleLeaveEvent missing. */ public boolean wasInVehicle = false; public MoveConsistency vehicleConsistency = MoveConsistency.INCONSISTENT; + + public MovingData(final ConfigFile config) { + // TODO: Parameters from cc. + final int nob = 2 * Math.max(1, Math.min(60, config.getInt(ConfPaths.MOVING_MOREPACKETS_SECONDS))); + morePacketsFreq = new ActionFrequency(nob, 500); + morePacketsBurstFreq = new ActionFrequency(12, 5000); + } /** * Clear the data of the fly checks (not more-packets). diff --git a/NCPCore/src/main/java/fr/neatmonster/nocheatplus/config/ConfPaths.java b/NCPCore/src/main/java/fr/neatmonster/nocheatplus/config/ConfPaths.java index a334516b..000eb3b2 100644 --- a/NCPCore/src/main/java/fr/neatmonster/nocheatplus/config/ConfPaths.java +++ b/NCPCore/src/main/java/fr/neatmonster/nocheatplus/config/ConfPaths.java @@ -503,6 +503,7 @@ public abstract class ConfPaths { private static final String MOVING_MOREPACKETS = MOVING + "morepackets."; public static final String MOVING_MOREPACKETS_CHECK = MOVING_MOREPACKETS + "active"; + public static final String MOVING_MOREPACKETS_SECONDS = MOVING_MOREPACKETS + "seconds"; public static final String MOVING_MOREPACKETS_EPSIDEAL = MOVING_MOREPACKETS + "epsideal"; public static final String MOVING_MOREPACKETS_EPSMAX = MOVING_MOREPACKETS + "epsmax"; private static final String MOVING_MOREPACKETS_BURST = MOVING_MOREPACKETS + "burst."; diff --git a/NCPCore/src/main/java/fr/neatmonster/nocheatplus/config/DefaultConfig.java b/NCPCore/src/main/java/fr/neatmonster/nocheatplus/config/DefaultConfig.java index 655e133a..70d16991 100644 --- a/NCPCore/src/main/java/fr/neatmonster/nocheatplus/config/DefaultConfig.java +++ b/NCPCore/src/main/java/fr/neatmonster/nocheatplus/config/DefaultConfig.java @@ -355,6 +355,7 @@ public class DefaultConfig extends ConfigFile { "log:flyshort:3:5:f cancel vl>100 log:flyshort:0:5:if cancel vl>400 log:flylong:0:5:cif cancel"); set(ConfPaths.MOVING_MOREPACKETS_CHECK, true); + set(ConfPaths.MOVING_MOREPACKETS_SECONDS, 6); set(ConfPaths.MOVING_MOREPACKETS_EPSIDEAL, 20); set(ConfPaths.MOVING_MOREPACKETS_EPSMAX, 22); set(ConfPaths.MOVING_MOREPACKETS_BURST_PACKETS, 40);