Commit Graph

688 Commits

Author SHA1 Message Date
asofold 04d2896f7e [API CHANGE] Add debug flags to check data [missing: use that one].
For debug output now data.debug is used instead of config.debug, so the
data is initialized with the config.debug value. As an effect of this,
removing the data or reloading will override flags that have been set by
means of API-access only.

Affected:
* Adds getDebug and setDebug to ICheckData.
* Adds appropriate configs to all constructors of check data.
* Some per-check debug flags have been removed.

Extras: 
* spaces
* import cleanup.
2014-12-04 02:24:20 +01:00
asofold 5dd5f8b87c Remove error markers. 2014-12-01 00:06:41 +01:00
asofold e454930569 Remove unused method (dependency on ConfigManager). 2014-11-29 16:00:18 +01:00
asofold a064a9afce [BLEEDING] Add dev-support for 1.8/Spigot. 2014-11-29 01:55:55 +01:00
asofold 0561638105 Add STATUS stream and use instead of INIT in some places.
* STATUS logs to console and default file, using queues.
* StaticLog logs to STATUS during runtime.
2014-11-23 15:47:10 +01:00
asofold 3460e29246 Remove StaticLog.schedule... and toString(Throwable). 2014-11-21 23:45:02 +01:00
asofold 3364d487cf Fix logging task (sync) not registering. Shuffle init order. 2014-11-19 23:09:14 +01:00
asofold ec36e879d3 [BLEEDING] Use the new logging framework from now on (read details).
* All logging is also going into the log file (always), debug output is
mostly/only going into the log file. File logging uses an asynchronously
processed queue now (!).
* Specify an existing directory (e.g. logs) and log files will named
after date + sequence number, changing with every reloading of the
configuration.
* Console and ingame logging remain within the primary thread.
* No extra configurability for customization, yet.
* Not all places have been cleaned up, concerning log levels. target
streams and package naming.
* Work in progress.
2014-11-19 00:07:52 +01:00
asofold 37c1da73ff Rename LogUtil to StaticLog. 2014-11-17 11:25:51 +01:00
asofold d5cefe4c5a Add dedicated compatibility module for CB 3100 (MC 1.7.10). 2014-11-11 21:44:40 +01:00
asofold 4caec8aa63 Add tests for log actions. 2014-11-06 02:23:25 +01:00
asofold 7b2a680ead [BLIND] Add dedicated compatibility module for Glowstone.
This is extending the classes for Bukkit (API only), and only overriding
very few methods, such as getCommandMap, dealFallDamage.
2014-10-26 20:25:00 +01:00
asofold 7743dd9d8a Only print debug info, if the flag is set. + Spaces. 2014-08-07 18:56:05 +02:00
asofold 4e9e935b1e Extend tersting for Passable + move NCPCore tests to NCPPlugin.
Tests (partly re-) added and extended, classes moved, some methods
moved.

Some tests will fail if you don't use the next commit as well.
2014-08-05 18:49:35 +02:00
asofold 29000fbdb7 Add tests for PassableRayTracing (+spaces).
To make this works we change LogUtil to allow logging to console, and
initialize BlockProperties with MCAccessBukkit and use a fake
BlockCache, that allows to set blocks with an access method, so that we
can test ray-tracing.

The testEmptyCorner test would fail with the current implementation.
2014-08-04 21:35:43 +02:00
asofold e84027a919 Set wasInBed in postEnable to prevent kicking with plugin managers. 2014-08-01 22:09:14 +02:00
asofold 7d40df9d8c Rename the kicklist command to denylist. 2014-07-29 21:11:31 +02:00
asofold c2722abc19 Add the "ncp top" command, allowing to search all the violation history.
Original pull request:
https://github.com/NoCheatPlus/NoCheatPlus/pull/24

This probably is not the final implementation, but it allows some
minimal freedom:
* Specify number of entries to show.
* Specify check types (and groups!).
* Specify what to sort by.

There might be need for some merged view, combining several different
check types somehow, or just shortcuts for specific selections, e.g. for
fighting-related checks.

----

+ Fix root command not showing sub commmand usage.
2014-07-29 13:49:43 +02:00
asofold 1a010b8f43 Update/reorder command usage/description. 2014-07-28 01:26:10 +02:00
asofold 6ba234693a Add ProtoclLib to softdepend. 2014-07-27 23:45:24 +02:00
asofold 4176937dd1 Add a general purpose counter for stats/debug, and log+reset commands.
This may get changed around, e.g. to allow log output to file and other.
2014-07-27 20:22:53 +02:00
asofold e0f81b43b6 Command+perms rename: tempkick to denylogin and unkick to allowlogin.
Aliases are still set for commands and permissions, so this should not
break things.
2014-07-27 17:25:35 +02:00
asofold e05748ecfd Add the inspect command to usage. 2014-07-27 16:26:27 +02:00
asofold d55cd7e4b6 Add a generic instance factory to the API.
This allows storing useful objects in the registry.
2014-07-27 15:17:08 +02:00
asofold 04b82ad0a6 [BLEEDING] Peek into ProtocolLib to fight certain packet spam (3).
This lessens or removes most effects of spamming the PacketPlayInFlying
(3, legacy 10), such as "magnet" or "repell" effects.
2014-07-12 22:30:51 +02:00
asofold 56611cd44b [BLEEDING] Set CompatCBDev to CB for MC 1.7.10. 2014-07-12 18:15:45 +02:00
asofold 8f32c822dc Add dedicated compat module for CB 1.7.8|1.7.9. 2014-07-12 17:46:42 +02:00
asofold 8da49e49f6 Update MCAccessCBDev to use CB 1.7.9-R0.2, update readme.md. 2014-06-14 18:37:20 +02:00
asofold b669d65b92 No need to call super.onLoad. 2014-05-31 16:26:54 +02:00
asofold f60d971f3c [BLIND] Add support for MC/CB 1.7.8. Minimal checks by code inspection. 2014-04-14 23:08:01 +02:00
asofold 2434c71d20 Add dedicated compat module for CB 1.7.5-R0.1. 2014-04-14 22:40:06 +02:00
asofold 2aa7ffab8e Alter the warning and error messages for MCAccess. 2014-04-05 00:29:07 +02:00
asofold 90a1255229 [BLIND] Dedicated compat module for 1.7.2. Set CompatCBDev to MC 1.7.5. 2014-03-25 00:32:38 +01:00
asofold 16db04f397 Officially drop compatibility for before CB 1.4.5-R1.0 ! 2014-02-23 00:38:31 +01:00
MyPictures add2179dc9 Cleanup "ASCII art" from the sourcecode
Wiped every ASCII related thing that I could find in the NoCheatPlus
source.
2014-02-22 19:26:06 +01:00
asofold fd33820c8e [BLIND/BLIEEDING/INSTABLE/INCOMPLETE] Secrets (read below).
Does this even compile anywhere?
2013-12-01 20:56:00 +01:00
asofold 71b37aab7b Add dedicated compatibility module for 1.6.4.
Can't set proper dependencies (bukkit repo seems warped).
2013-12-01 15:00:52 +01:00
asofold a2dadf8a9c Remove metrics.
Metrics would need a different concept of what to add anyway.
2013-09-22 15:46:07 +02:00
asofold a901823f9d [BLEEDING] Add 1.6.4 support. 2013-09-20 09:49:20 +02:00
asofold 41e1e8017b Add DisableListener component and use for DataManager and Improbable. 2013-09-19 21:00:57 +02:00
asofold 72e1ea8585 Corrections to plugin.yml. Add nocheatplus.shortcut.cheater. 2013-09-18 18:21:04 +02:00
asofold ed0f08ed23 Use postEnable for one time tasks, log start and end. 2013-09-13 02:53:09 +02:00
asofold 182bc81c8c Set 1.6.2-R1.0 as new Bukkit/CB dependencies, add dedicated module. 2013-09-12 01:21:56 +02:00
asofold 1d2f291650 Add "ncp inspect (player)" command, might be merged/changed with info. 2013-08-29 21:30:53 +02:00
asofold c8c7bbb37c Correct usage of "ncp exemptions". 2013-08-17 15:35:41 +02:00
asofold af4c9b94f6 Move managelisteners to the compatibility section. 2013-08-12 22:20:44 +02:00
asofold 2219fa0e6f [CONFIG] Command protection: Change config sections + change to lists.
Commands to change to "no permission" or "unknown command" behavior,
can now be configured with a string list each. Commands that have a 
permission set will have the default set to false, while commands that
don't have a permission will be altered to have a filter permission,
namely nocheatplus.filter.command.<commandname>.
2013-08-10 14:25:28 +02:00
asofold b3b13df83c Add nocheatplus.command.(exempt|unexempt|removeplayer).self permissions.
Somewhat incomplete, because the filter permission is not added for 
these. Might be fancy for the tester shortcut (less danger).
2013-08-10 03:16:16 +02:00
asofold fdf2009551 Use a testPermission method for sub-commands. 2013-08-10 03:06:08 +02:00
asofold 8b2c8fd29c Hasty - test before build. 2013-08-10 02:20:03 +02:00
asofold 858302b1ba More on permission changes.
* Fix color replacing in command protection (had no effect previously).
* Use "no permission" message for default bukkit command protection.
* Use command protection only, no more parsing pre process for /pl etc.
* Other tweaks (update descriptions, add shortcuts / child permissions).
2013-08-10 01:50:59 +02:00
asofold 0e56338336 Change feature (filter) permissions to nocheatplus.filter... 2013-08-09 23:50:59 +02:00
asofold 84c376864e Rework parts of permissions.
Changes are mostly backwards compatible.

Fixed:
* Filter permissions were wrong (not starting with nocheatplus).

Changed:
* Commands are grouped under nocheatplus.command now.
* Notification permission is independent of the notify command,
	 changed to nocheatplus.notify.

New:
* Shortcut permissions (nocheatplus.shortcut...) for safer use.
* Shortcut permission for testers: nocheatplus.tester
2013-08-09 18:09:24 +02:00
asofold 13cb783c72 Add an annotation for registration order with INotifyReload.
SetupOrder allows to define a priority, so you can register
 ActionFactoryFactory instances before any checks get them.
 
 Default priorities are NCP core at -100, DataManager -80, rest at 0.
2013-07-18 01:42:07 +02:00
asofold f46618c619 Prefix series with s in order to not ever confuse with SNAPSHOT/RC. 2013-07-17 12:17:33 +02:00
asofold 793291b71b Build parameters: Add BUILD_SERIES. Add default values.
BUILD_SERIES = UNKNOWN
BUILD_NUMBER = ?
2013-07-17 11:35:45 +02:00
asofold c7b85f9faa Flying permissions: survivalfly is now child of creativefly. 2013-07-16 00:24:20 +02:00
asofold cf1c89d646 [BLEEDING] Change message sending queue from per-player to global.
Adds an API to queue messages (thread safe).
2013-07-14 22:04:42 +02:00
asofold 00836ac9d7 Change event priorities (join/world-change) + delay some admin messages. 2013-07-14 20:12:19 +02:00
asofold f55e0d5742 Alter config version handling + make notification configurable.
Versions are saved in a subsection instead of the comment-header.
2013-07-14 19:19:07 +02:00
asofold a97995c99a Re-add 1.6.1 native support (removing is not worth the support load). 2013-07-10 12:34:06 +02:00
asofold 543dcf57f5 Metrics/ticks: Use rounding + de-tweak counting up to 20. 2013-07-09 17:16:47 +02:00
asofold 295ecee2cd Cancel metrics if set so and still active, also reset metrics on reload. 2013-07-09 16:50:10 +02:00
asofold e60006d6a3 Update pom.xml descriptions. 2013-07-06 14:49:24 +02:00
asofold d5d7973654 [BLEEDING/INSTABLE] Set CompatCBDev to support 1.6.1 changes. 2013-07-02 12:35:18 +02:00
asofold 3b337d968d Change config path for protectplugins. 2013-06-30 19:28:52 +02:00
asofold 78f453c5c2 Update metrics. 2013-06-30 02:49:26 +02:00
asofold a4556667fd Add dedicated 1.5.2 module. 2013-06-24 12:24:36 +02:00
asofold 21442c4e22 Use a filter permission to see if a player can use the root command.
The permission is set as child of all command permissions 
(sub commands of the root command). This is done in post enable to not
have to add it 100 times to the plugin.yml. Hopefully permission plugins
handle this right, superperms (permissions.yml) does.
2013-06-12 02:08:22 +02:00
asofold ae2d6142d9 Add command to turn notifications off and on again (per player). 2013-06-12 00:53:40 +02:00
asofold 8ea5eccaa0 Put commands on feet.
* Add a new base class for better sub-command handling also for
tab-completion (AbstractCommand).
* Alter package structure slightly, to group command-classes by purpose.
* Some renaming.
2013-06-11 21:17:06 +02:00
asofold 888c7d937a Add tags to PlayerData + implement a notify-off tag.
Not sure this is that much final, but PlayerData can now carry tags.
NoCheatPlus.sendAdminNotify... will now check PlayerData for the
"notify_off" tag, as a preparation for a command to turn off
notifications.
2013-06-11 20:06:57 +02:00
asofold 2bf28c4982 [BLEEDING] Move configuration for logging back-ends to sub-sections. 2013-06-11 00:36:43 +02:00
asofold 8f862fb3f6 Outer space again! 2013-06-07 15:23:40 +02:00
asofold d01fa3e8a7 Too late to do it right! 2013-06-05 00:28:08 +02:00
asofold ed33d6af25 Add permission for FastConsume to plugin.yml. 2013-06-05 00:20:53 +02:00
asofold dac80f9e32 Remove unneeded dependencies for NCPCore. 2013-05-27 14:33:24 +02:00
asofold c77dbff23e [Bleeding] Add FastConsume, if available will replace instanteat.
Somewhat hacky still, not sure it actually works too well.
2013-05-23 09:44:24 +02:00
asofold 37f4881f6f Filter plugin.yml from the NoCheatPlus pom to get content right. 2013-05-22 22:03:35 +02:00
asofold e06e55a752 Put a pom for building into the NoCheatPlus module until knowing better. 2013-05-22 21:00:37 +02:00
asofold ce834675d7 Move most code to NCPCore, removes NCPCompat.
Factories are now on NCPPlugin level, thus all the core stuff can be in
one module, giving better source code browsing.

Updates has been moved into an updates package, because there is to be
expected more content, and to make utilities less fat.

To indicate the direction, the basic infra-structure has been added to
allow adding components to the DefaultComponentFactory. Further
processQueuedSubComponents is now called after each components adding in
order to allow more flexible registry features.
2013-05-22 12:24:48 +02:00
asofold 463700cb3a [BREAKING API] Add module NCPCore between NCPCompat and NCPPlugin.
* Static utility NCPAPIProvider instead of NoCheatPlus.getAPI().
* Extend NoCheatPlusAPI: Some previously static access methods are now
part of the NoCheatPlusAPI interface instead. MCAccessHolder is
implemented and allows external setting of MCAccess.
* Fix some static members/calls to non-static.
* Moving some packages to NCPCore.
* Prepares for moving most check stuff between NCPCompat and NCPPlugin
to allow more optional higher level components.
2013-05-21 22:49:05 +02:00
asofold 6e6b198188 Move auxiliary code. 2013-05-21 15:51:51 +02:00
asofold 43d1c4aad0 SurvivalFly: Add tag lowfoodsprint for debugging purposes.
This tag is added if the player is sprinting but the food level has
dropped. Not sure this can actually be the case.
2013-05-21 14:56:19 +02:00
asofold 2319830873 [Incomplete] First go at shift+double-click on items with item on
cursor.
2013-05-15 01:37:21 +02:00
asofold 52b28bdfb4 [Bleeding] Add "sprintinggrace" concept to moving.
This allows setting a grace-period which allows that amount of seconds
longer sprinting even though the food level just dropped below minimum
for sprinting. This will hopefully reduce seldom false positives as well
as improve compatibility with other plugins like Heroes, which have
skills that add velocity and at the same time decrease the food level
below sprinting-limit (fp on landing).
2013-05-14 19:39:45 +02:00
asofold 9ae355c537 Iterate over the wrong list. 2013-05-11 01:02:47 +02:00
asofold ac4d103cc1 Use ArrayList / index iteration here. 2013-05-11 00:56:33 +02:00
asofold a277cbc96e Set version to 3.9.2 - back to development. 2013-05-10 13:59:58 +02:00
asofold c45e92b50b Update checks and notifications are not processed anyway. 2013-05-06 00:31:18 +02:00
asofold 2457f031f2 Set version to 3.9.1-RC2 for second release attempt 2013-05-06 00:25:36 +02:00
asofold 9af9bcc7e9 Set version to 3.9.1-RC for release on BukkitDev. 2013-05-04 01:18:59 +02:00
asofold 384c3483ca Add configuration for ender-pearl checks to the combined section. 2013-05-03 11:13:53 +02:00
asofold 3e96d7d9a2 [Experimental] Add "strictinvalidation" flag to velocity config.
This allows triggering the invalidation for the active horizontal
velocity at half of the allowed speed instead of full, in case of
setting the flag to false.
2013-05-01 22:44:19 +02:00
asofold 5e8cf481a1 [Bleeding] Set dependency for dev-module to CB 1.5.2-R0.1. 2013-05-01 20:36:16 +02:00
asofold 00a240ff9a Bind chunk loading debug messages to the debug flag as well. 2013-04-30 19:26:41 +02:00
asofold a493da7ff7 Don't deal fall damage for causing passable violations moving from
ground.

This hopefully prevents a range of login/teleport problems with nofall.
Does not resolve those for tp/login into air.
2013-04-29 00:39:00 +02:00
asofold 634ca39824 Load chunks on players joining (configurable). 2013-04-27 00:32:07 +02:00
asofold 0e5912c77f Fly and xray removed from cjb? 2013-04-24 01:25:11 +02:00
asofold 34d851e0df Quick rework for client-mod-motdS. One class per client for better
overview.
2013-04-24 01:03:55 +02:00
asofold 04f2baed50 . 2013-04-23 23:45:38 +02:00
asofold cdcd7945e9 Update permissions in the plugin.yml + order. 2013-04-23 23:30:26 +02:00
asofold 22ffb43ddf [BLEEDING] Testing: ender-pearl glitch use (first sketch, read details).
* This method is "hard-coded" and not configurable yet.
* Prevent throwing and teleporting into blocks directly, prevent
the second throw on glitching into a one thick ceiling (might lead to
lots of passable violations at present).
* If stuck in a block with the feet (not sand/gravel) without being on
ground, throwing is prevented.
* Some dependencies were updated, hopefully without conflicts for
backwards compatibility (untested).
2013-04-22 21:46:49 +02:00
asofold 3b4352c044 [BLEEDING] Add AutoSign check (first sketch). 2013-04-22 04:38:14 +02:00
asofold f4b88b3309 Adjust critical, remove remainders of old god-mode check.
Critical:
* Add tags.
* Add extra flag (redundant to MediumLiftOff, just indicating what the
real lift off was, might need redesign, since m-lo is modified
sometimes.)
2013-04-22 01:14:05 +02:00
asofold 6b4421dc81 [BLEEDING] Add low jump detection, prevent critical hits if in low jump
phase.
2013-04-21 22:20:28 +02:00
asofold 19ddaefb4c Fix crop trampling being disabled by anticriticals. 2013-04-21 21:23:51 +02:00
asofold e26aec2cbd Make login denial configurable for the illegal-move checking. 2013-04-21 19:52:55 +02:00
asofold 2334bc9f22 Hover check: Check if chunks are loaded before triggering a violation. 2013-04-21 19:48:04 +02:00
asofold fa50f34023 Add the auxiliary OnDemandTickListener class for temporary TickListener
registration.

* OnDemandTickListener contains API for convenient on-demand
registration and use.
* TickTask recognizes these and conveniently sets them
registered/unregistered.
* TickTask was optimized to allow faster adding and removal of
TickListener instances.
* Used for delayed component registration.
* Future purpose.
2013-04-18 17:10:12 +02:00
asofold a950a2b7f8 Use a "temporary" TickListener to process queued IHoldSubComponents
instances.
2013-04-15 16:20:41 +02:00
asofold d15a1d1f9e Only add TickListener instances once. 2013-04-15 16:16:05 +02:00
asofold de5f152df9 [BLEEDING] Flesh out aspects of ComponentRegistry.
* Fixes data removal ignoring chat.logins and chat.text for a part.
* Move some components interfaces and ReflectionUtil to NCPCommons.
* Unregister components in reverse order.
* Add ComponentRegistryProvider for generic sub-registries (DataManager
for instance).
* Add IHoldSUbComponents for delayed sub-component registration
(convenient for iteration over parent-components with later registration
of sub components not missing out any registered parent components for
those). [Partly implemented: Using this during runtime does not yet
work, only used in onEnable.]
* Let CheckListener implement IHoldSubComponents and use this with
addCheck to register the queued checks after all the listeners.
* Register the core system components in a bunch before the
CheckListenerS, to allow sub-registries to work directly and to allow
getAPI().addComponent on the plugin class during construction of
CheckListeners.
2013-04-15 16:11:08 +02:00
asofold 652342c6c9 Add getMCAccess(boolean). 2013-04-15 09:05:01 +02:00
asofold 003e104ef4 Add module for CB2691 to match the beta release of CraftBukkit.
The dev module will compile with 1.5.1-R0.2 but not be used for the
moment.
2013-04-12 19:00:19 +02:00
asofold 31e21000e5 Make chat.logins default settings less strict.
Requested by @andrewkm.
2013-04-12 15:07:38 +02:00
asofold 290fc0feb0 Two fixes for MovingListener/join.
* Catch a null location.
* Set the set back after resetting fly data, if a location is given.
2013-04-05 21:34:57 +02:00
asofold 091d29cbbc Set version to 3.9.1 for further development. 2013-03-22 09:30:46 +01:00
asofold 97fd0be89b Set version to 3.9.0-RC for release on BukkitDev. 2013-03-21 17:47:58 +01:00
asofold d02b54bab2 Set version to 3.9.0 due to 1.5 being a new MC version.
Reminder: Policy is to increase second level count for Minecraft updates
and bigger internal/external changes, while the third level count will
indicate releases on BukkitDev rather. First level count probably will
only increase if something really fundamental is changed.
2013-03-21 09:36:49 +01:00
asofold d6d465418f [BLEEDING] Set DEV module to 1.5.1. 2013-03-21 01:10:56 +01:00
asofold 72c69df73c Add MC 1.5 module. 2013-03-21 01:01:31 +01:00
asofold b09f2e511c Missing vehicle-exit: Always clear nofall data (leave that to MC). 2013-03-20 07:04:12 +01:00
asofold d659dd7f26 Attempt to work around missing VehicleExit events with latest CB dev
builds.
2013-03-20 06:15:17 +01:00
asofold 9e16d8f2ef Remove debug message (...). 2013-03-16 04:34:25 +01:00
asofold 171f2aa932 Re-order conditions. 2013-03-16 04:33:47 +01:00
asofold ab99e871f9 Add heuristic for the THORNS enchantment. 2013-03-16 04:25:16 +01:00
asofold 7d17fb67b4 Suppress deprecation warning for now. 2013-03-16 00:16:58 +01:00
asofold 636faecd52 [BLEDING] Update dev-module to CB/1.5. 2013-03-15 22:31:02 +01:00
asofold 32600dd335 Set version to 3.8.13 for further development. 2013-03-15 21:36:12 +01:00
asofold 328d277955 Set version to 3.8.12-RC2 to distinguish quick fix release. 2013-03-14 21:31:44 +01:00
asofold 0fc3b54db9 Also catch getSlot() < 0 for the InventoryClickEvent. 2013-03-14 21:30:19 +01:00
asofold 677aef45cd Set version to 3.8.12-RC for release on BukkitDev. 2013-03-14 14:52:51 +01:00
asofold 1b811716e2 Inventory.FastClick: Fix vl not adding, prepare for 1.5. 2013-03-14 12:21:38 +01:00
asofold 325d47fcbc Ignore "outside" clicks, i.e. slots outside of the inventory slot range. 2013-03-14 11:02:41 +01:00
asofold 9de6175874 New FastClick (inventory) check.
This check is less strict on short term but more strict on medium term.
Keeps track of one second (200 ms resolution).
2013-03-14 10:44:29 +01:00
asofold 0abca20dd9 Set version to 3.8.12 for further development. 2013-03-14 08:35:49 +01:00
asofold 84da47315b Add example entry for overrideflags (snow: default). 2013-03-14 08:34:32 +01:00
asofold 0e506eb967 Set version to 3.8.11-RC for release on BukkitDev. 2013-03-13 22:21:46 +01:00
asofold 15f08f13a9 Prepare 1.5 blocks with block flags. Add unused stuff.
More like a safety commit.
1. Add compatibility block flags for MC 1.5 blocks.
2. Add commented out / unused stuff (not really for 1.5).
2013-03-13 10:16:56 +01:00
asofold c075e67f8f Make fight.reach distances (survival) configurable. 2013-03-13 09:20:17 +01:00
asofold a04f4ad882 Adjust lostgorund/fastedge to catch more vacc fp. 2013-03-13 06:46:19 +01:00
asofold 1ec7f997cf Just add to first bucket, since update(...) has been called. 2013-03-13 06:20:14 +01:00
asofold 414796b938 Check IHaveCHeckType after CheckType.ALL for data removal.
This ensures that "ncp remove *" really removes chat.logins data, for
instance.
2013-03-13 05:51:54 +01:00
asofold 976cd59b7c Add the command "ncp unkick *". 2013-03-13 05:41:17 +01:00
asofold a5ed780542 Attempt to fix issues with too low valid-count for velocity. 2013-03-13 05:08:23 +01:00
asofold 25e4cb3b05 Fix allowed h-dist in water (downstream).
Previously this was not applied in the "after-failure" h-dist estimation
 with permission checking.
2013-03-13 03:19:14 +01:00
asofold 1ad08b3729 Velocity: Decrease validity counter once activated. 2013-03-13 02:55:54 +01:00
asofold bb38ff5a1b Add maximum activation ticks for velocity (queued). 2013-03-13 02:55:24 +01:00
asofold 310b62384f Fix aspects with jump potion-effects.
1. Set the correct effect strength in data.
2. Adjust workarounds to catch jump effect II on fences and similar.
[Might need more specialized checking for performance reasons.]
2013-03-12 21:55:04 +01:00
asofold fc788f55c4 [Bleeding] Optimize preparation for PlayerLocation use.
1. Only collect flags for survivalfly.
2. Set all properties for the to location if it is the same position as
the from location.
2013-03-12 09:59:52 +01:00
asofold a7c4539783 Let NoFall be more generous with the on-ground search.
Extend xz and y margins.
2013-03-12 08:19:19 +01:00
asofold 7b4fe7acc4 Regroup lost-ground workarounds. Fix some aspects.
Check some preconditions in the check method, delegate to different
methods for different cases, also to have smaller method bodies.

IsAboveStairs is only checked for "mild" y-distances. For faster
descending an individual edge-check has been added.
2013-03-12 07:55:50 +01:00
asofold 409ba0b2ee Don't check god mode for dead players. 2013-03-12 07:05:49 +01:00
asofold 186eec69ab Moving: Only set sfDirty flag if velocity is really used. 2013-03-11 19:18:22 +01:00
asofold ea0b26ad19 SurvivalFly: adjust "swimup" workarounds.
1. After-failure workarounds checking (performance).
2. Hopefully fixes issues with flowing water and stairs.
2013-03-11 18:42:45 +01:00
asofold d4616f415d [Bleeding] Various fixes for collision logic and consequent changes.
General:
- Wrong flags checked or flags checked in the wrong way.
- isPassable should use collidesBlock.
- collidesBlock should not see high-value-only matches as collisions.
- collidesCenter returns true for the case of collision (...).

Liquid blocks:
- New flag introduced to model rough liquid height for flowing liquids.
- One more workaround condition for moving in/off liquids.
- Use exact bounding-box for liquids checking in PlayerLocation.
- Check for water first in PlayerLocation.isInLiquid.

Other:
- Alter some block flags and workarounds.
- (other)
2013-03-11 06:01:39 +01:00
asofold 4ff54f0020 Revert setting set-back-y to block bottom on some occasions. 2013-03-11 03:23:10 +01:00
asofold 0c59487a0a Use the same Location instance for passable and nofall. 2013-03-09 19:42:16 +01:00
asofold 434a83c398 [BLEEDING] Adjust the set-back y-coordinate to block bottom for some
cases.
2013-03-09 03:53:51 +01:00
asofold 8d9e2fdadc Add more detailed tags to lost-ground workarounds. 2013-03-09 03:53:06 +01:00
asofold 7eab369a00 Alter small-range-tp margin. Add debug info for teleport and setback-y. 2013-03-09 03:04:50 +01:00
asofold 498f23e704 Reduce amount fed to improbable by fight.reach. 2013-03-09 00:34:04 +01:00
asofold de4faa392d Allow fight.speed to create improbable violations for higher violation
levels.

Might need configuration/testing.
2013-03-08 23:26:57 +01:00
asofold 61bc88b64f Add "strict" method to fight.direction.
Set as default, the "strict" option will also check the angle between
the viewing direction and the direction towards the target. This might
not stay the default method, but it does help against auras in close
combat.
2013-03-08 23:24:51 +01:00
asofold 593ea71c9b Add convenience methods for combinedDirectionCheck. 2013-03-08 23:10:05 +01:00
asofold 926556a358 Implement JoinLeaveListener with MovingListener and ChatListener. 2013-03-08 17:28:35 +01:00
asofold 5dd09d4476 [BLEEDING, INSTABLE] Switch horizontal velocity to a new method.
This method remembers (currently) each velocity added and only uses it
when it is needed not to generate a violation. Further (currently
simple) activation and invalidation logics are applied. With this method
latency will be much less of a problem, though stacking of queued
entries (especially for rocket-boots style flying) and more
merging of entries and more invalidation logics are required, thus
bleeding+instable.

On the long term this should make cheating much more difficult, possible
steps are:
1. Use method for vertical velocity too (only positive)
2. Distinguish positive and negative vertical velocity (opens a way to
control the speed downwards in any medium!).
3. Per-axis velocity (either absolute or pos/neg with more invalidation
logic on direction changes).
2013-03-08 04:06:17 +01:00
asofold 24c1599e94 Remove angle data on players leaving. 2013-03-08 03:47:02 +01:00
asofold be49a7855c Add JoinLeaveListener component. 2013-03-08 03:44:54 +01:00
asofold 5a76b22ef6 Sharpen maximum jump distance. 2013-03-07 04:20:26 +01:00
asofold 348ba34e35 Commend on potential issue with join. 2013-03-06 19:36:50 +01:00
asofold 2d5dd8770d Fix block dump not respecting the checks.debug and blockbreak.debug
flags.
2013-03-06 18:54:11 +01:00
asofold ce3d1ba89c Attempt to fix issues with (non exact) respawn. 2013-03-06 15:40:35 +01:00
asofold 7adef83687 Change resetting of yOnGround for NoFall.
Use CheckConfig to determine if it is necessary. Move resetting to a
method. Collect block flags again.
2013-03-05 20:21:29 +01:00
asofold 8bed6fb2de Change resetting of yOnGround for NoFall.
Use CheckConfig to determine if it is necessary. Move resetting to a
method. Collect block flags again.
2013-03-05 20:11:51 +01:00
asofold d7110b3239 Adjust/fix moving debug output. 2013-03-05 19:45:01 +01:00
asofold 66f2d6d7eb Set version to 3.8.11 for further development. 2013-03-05 16:37:48 +01:00
asofold 2dbc486987 Set version back to 3.8.10-RC, since back to dev was premature. 2013-03-05 07:55:07 +01:00
asofold 7bf1e24b93 Set version to 3.8.11 for further development. 2013-03-05 04:47:32 +01:00
asofold 8807c6d9fa Set version to 3.8.10-RC for release on BukkitDev. 2013-03-05 03:08:02 +01:00
asofold 680bd86dd8 Fix false positives with jump+sprint just touching water once. 2013-03-05 02:31:30 +01:00
asofold 323d0f07d1 Fix for sneaking/blocking + velocity. 2013-03-04 23:37:58 +01:00
asofold 11f139a4fa Only debug this to console for nonzero BuildParameters.testLevel. 2013-03-04 23:06:58 +01:00
asofold 078c567e4b Attempt to reduce false positives with sprint+jump+attack.
Attacking while sprinting will now activate an extra buffer for the
horizontal speed checking.
2013-03-04 03:26:31 +01:00
asofold 494c667592 Add horizontal buffer to sf debug output. 2013-03-04 01:13:58 +01:00
asofold 1d1e428d05 Add checks.debug flag for fast activation of all checks debug features. 2013-03-04 01:13:40 +01:00
asofold a22b259cc4 Attempt to fix issues with re-join and survivalfly. 2013-03-03 18:44:37 +01:00
asofold d42f94f651 Step can only be set in the global config. 2013-03-03 18:08:14 +01:00
asofold 6b5b9ce0e4 Reset hover ticks if found on ground. 2013-03-03 18:00:21 +01:00
asofold ec5a504d7f Only check sf/hover every n ticks (configurable). 2013-03-03 17:58:54 +01:00
asofold 7ac499af06 Add loginticks to sf/hover to allow extra counting down before really
checking.
2013-03-03 17:38:19 +01:00
asofold feaa09ad03 Add dev-url. 2013-03-03 16:40:15 +01:00
asofold 65859486ec Attempt to fix Zombe/noclip flippage [quick'n'shalow: untested]. 2013-03-02 04:25:08 +01:00
asofold f28235cf61 Tweak lost-ground workarounds.
Allow a little more on ascending, early abort on descending too fast.
2013-03-02 03:33:45 +01:00
asofold ff409fddea Rearrange some things with MovingListener/PlayerMove(lowest).
1. Don't check sf if passable sets back already, since passable favours
the
sf-set-back-location anyway.
2. First check which checks to check, to somewhat clean up the
MovingListener
3. Reset some properties on set-back in MovingListener.
2013-03-02 03:15:49 +01:00
asofold 036c99653f Use hard limits for maximum number of steps for ray-tracing.
This concerns both blockinteract.visible and moving.passable, both set
to 60. In effect extreme moves are impossible with either check
activated. Mind that 60 steps could be something like 20 blocks for some
cases, probably even less.
2013-03-01 21:50:37 +01:00
asofold b70418770a Add methods for further testing of directions and similar. 2013-03-01 21:16:48 +01:00
asofold f650a48cad Forgot to rename this one. 2013-03-01 19:56:08 +01:00
asofold 9ba173b82e Confine lost-ground check for block edges further. 2013-03-01 19:47:50 +01:00
asofold ccb5bae436 Plugin class: Add a method for processing reload. 2013-03-01 19:14:51 +01:00
asofold 2d0b2bace0 Add comments and javadocs. 2013-03-01 18:54:48 +01:00
asofold 1c2c0dce89 Add comment. 2013-03-01 18:35:30 +01:00
asofold 810e075a4a LICENSE.txt is on top level. 2013-03-01 15:12:14 +01:00
asofold 36b402c27a Simplify replacing of build-parameters. 2013-03-01 15:02:28 +01:00
asofold df57b0134a Update messages for setting up MCAccess.
Update Jenkins url.
Only log API-only message in case it can be set up at all.
2013-03-01 02:04:34 +01:00
asofold 5ca6e33fac Reset lastAccess and lastExpired on clear(). 2013-02-28 20:26:24 +01:00
asofold 7c90d2260e Fix LetterEngine.checkConsistency.
Reference for cleanup should be the last time an entry was removed.
2013-02-28 20:13:49 +01:00
asofold f03ffcf0a5 Let EnginePlayerDataMap remember the last time entries were removed. 2013-02-28 20:13:32 +01:00
asofold 84d82ff339 Add setback-y-distance to debug output for survivalfly. 2013-02-28 18:32:19 +01:00
asofold 50ebbb01fb Reduce false positives with jumping onto/over edges of blocks.
This is another case of "lost-ground", also contains one fix for nofall.
2013-02-28 17:16:40 +01:00
asofold da4b142aa9 Add module: NCPCompatBukkit
Seems better to have a dedicated module for this as well, since other
modules might be built against different versions of the Bukkit-API,
potentially.
2013-02-28 03:40:40 +01:00
asofold 15f3b38248 Add module for 1.4.7: NCPCompatCB2602 2013-02-28 03:21:38 +01:00
asofold 35815eaae6 Set version to 3.8.10 (release phase). 2013-02-28 01:28:56 +01:00
asofold c8ac66de2c Reduce false positives for jumping off water near half-steps.
This allows a little more jumping in shallow water.
2013-02-27 22:45:54 +01:00
asofold eb28f4775c Fix issue with hover check on players joining.
Re-check if survivalfly is checked at all for the player in case of
exceeding hover-ticks.
2013-02-27 21:39:22 +01:00
asofold e342b07654 Add comment. 2013-02-27 21:25:17 +01:00
asofold e0c6e9ebdd Reduce false positives with jumping almost onto block edges.
Also begin to rearrange lostground workaround checking.
2013-02-27 21:04:12 +01:00
asofold 9d1f7924b9 Config change: Add an active-flag for data-expiration and set the
default duration to 60 minutes (still disabled by default).
2013-02-27 18:47:31 +01:00
asofold 4a9f82ef0c Clear logins data on removing all data (ncp remove *). 2013-02-27 18:23:32 +01:00
asofold e9deb059a3 Register all online players with the NCPExemptionManager in postEnable. 2013-02-27 18:22:33 +01:00
asofold 74a935ccd6 Add periodic consistency checking.
Mainly this is now an "ability", in terms of allowing for registration
f a ConsistencyChecker component. With this commit DataMan will check
the online-players map for consistency, LetterEngine(chat.text) will
check expiration of data, NCPExemptionManager will check entity-ids.
2013-02-27 18:00:44 +01:00
asofold 7a84ed371b Add module for build parameter info.
This is needed with the current technique in order to have it available
at the time of testing NCPCommons.
2013-02-27 00:46:56 +01:00
asofold 33af656b29 Add support for build parameters (example: EXTENSIVE_TESTING).
We can put through build parameters for testing and other purposes so
NCP can see them during testing or runtime otherwise. Not sure this is
the final version, though.
2013-02-26 23:14:33 +01:00
asofold e3166783bc [BLEEDING] Use same yOnGround for noFall by default.
This should be handled by workarounds in survivalfly
(noFallAssumeGround).
2013-02-26 18:37:41 +01:00
asofold 62102c7d8b Treat small range teleports differently. [Ticket: BukkitDev-452] 2013-02-26 17:52:56 +01:00
asofold ac048474b7 Allow interacting with the block at head height if stuck. 2013-02-26 02:32:48 +01:00
asofold a5cc3f819f Add option to use permission subscriptions for in-game-chat logging.
See: https://github.com/NoCheatPlus/NoCheatPlus/pull/14 (@Cobi)

This allows will still check the players with stored permissions
but re-check their permissions.
2013-02-26 01:58:21 +01:00
asofold ee400b7525 Keep track of online players for performance reasons.
Due to Server.getPlayerExact iterating over all online players,
DataManager will now keep track of online players and allow lookup by
exact name and lower-case name.
2013-02-26 00:39:48 +01:00
asofold f37fd4b166 Allow exemption for prevention of breaking special blocks (e.g. liquid). 2013-02-24 14:30:38 +01:00
MyPictures 7ea09b7b61 Update plugin.yml
- Add missing admin.debug permission
- Rename InstantHeal to FastHeal
2013-02-23 21:41:56 +01:00
asofold 268265afde Remove blockbreak and fight data on reloading. 2013-02-23 17:49:56 +01:00
asofold b72b51e317 Allow exemption for blockplace/against checks.
Adds a CheckType for this purpose.
2013-02-23 17:09:15 +01:00
asofold 47862a651f We use liquid, not fluid. 2013-02-23 16:54:50 +01:00
Mike Savoie ae193a8598 Don't be so condescending in default kick messages. 2013-02-21 20:43:26 -05:00
asofold fafb27a131 Dump block properties in a task whenever they are reset.
Better schedule it with a task, to get other plugins changes.
Also get dumped on /ncp reload, seems to be better, though it can mean
spam.
2013-02-20 22:30:55 +01:00
asofold e6961a757b Move some debugging code to a utility. 2013-02-20 19:43:54 +01:00
asofold 354e7e456d Correct fastheal actions. 2013-02-20 18:42:17 +01:00
asofold 1e71a02449 Update javadocs: return value. 2013-02-20 18:32:45 +01:00
asofold 66da361c5d Fix fight.speed not getting registered properly.
Should use addCheck in order to have the stored MCAccess instance reset
properly on reloading. Little relevance with this check.
2013-02-20 18:27:22 +01:00
asofold 6eeb3ae89d Add missing strings entry for fastheal. 2013-02-20 18:10:17 +01:00
asofold db5a71d6d2 [Bleeding] Add FastHeal check.
Might need lower interval and higher buffer in the default config,
subject to testing.
2013-02-20 17:02:48 +01:00
asofold 4a2dfc853e Something against criticals.
NoFall will now reset fall distances to 0 if the player walks on ground
(configurable: anticriticals).
2013-02-19 02:25:49 +01:00
asofold 2304abd6e8 Add nofall fall distance to fight.criticals debug message. 2013-02-19 01:49:59 +01:00
asofold 52eb97026c [BLEEDING] Revive direction checking. Optimizations. 2013-02-18 02:55:46 +01:00
asofold 1effa80021 Tighten blockinteract.speed limit to 60. 2013-02-17 20:21:38 +01:00
asofold cd2cb78ad6 Don't forget to increase the VL. 2013-02-17 19:54:06 +01:00
asofold 6112d5b9fb [Bleeding] Add interact.speed check. 2013-02-17 19:45:49 +01:00
asofold dd5f094472 Adjust debug message. 2013-02-17 19:44:50 +01:00
asofold 48ffb2f09f [Bleeding] Add blockinteract.visible check.
This check performs somewhat heuristic ray-tracing to see if a block
interacted with can actually be "seen", in terms of not reaching
through fully solid blocks. [Still needs for performance: more refined
conditions when to use + interact-speed check].
2013-02-17 17:49:50 +01:00