Commit Graph

675 Commits

Author SHA1 Message Date
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
asofold
89cbbfdddb Optimize/correct block-interact checking. 2013-02-17 17:04:06 +01:00
asofold
5f5d571264 Also prevent using item-in-hand or using interacted-block fpor
cancelled interact events.
2013-02-17 16:25:28 +01:00
asofold
1d44fe66be Check BlockInteract first. 2013-02-17 16:20:13 +01:00
asofold
28a28b2e54 Fastest return first. 2013-02-17 14:32:29 +01:00
asofold
45ba3b931e Reduce false positives for god-mode.
At maxNoDamageTicks/2 damage can rule.
2013-02-15 20:39:11 +01:00
asofold
0fff534cd1 Allow stuck players to jump upwards if head is free. 2013-02-15 15:53:56 +01:00
asofold
1264cdb240 [Bleeding] Add ray-tracing for passable check.
By default this only checks for block-transitions and vclip down.
2013-02-15 13:59:36 +01:00
asofold
7d5e5deb24 Adjust Metrics.
1. Removed setting timeouts explicitly.
2. Schedule logging the error before throwing the exception.
2013-02-12 22:58:03 +01:00
asofold
73cbac3b8f Putting workaround right. At the cost of some swimup foggyness. 2013-02-09 00:26:02 +01:00
asofold
08427fb3f1 Reduce false positives with survivalfly + swimup (jump, half-steps). 2013-02-09 00:07:03 +01:00
asofold
602b4c70b4 Basically ignore events with zero damage for god-mode. 2013-02-08 19:46:00 +01:00
asofold
c6ed76167a Set all noswing actions to only log from vl>10 on. 2013-02-08 19:24:45 +01:00
asofold
43264adf40 Adjust moving debug output: Show both v/h, but only if active. 2013-02-08 14:23:45 +01:00
asofold
83eb9c8564 Reset velocity specs for one-time-use velocity. 2013-02-08 14:03:55 +01:00
asofold
aa3c48059c Attempt to further reduce false positives with exiting boats. 2013-02-08 13:52:20 +01:00
asofold
06fdca5f25 Sharpen lost-ground conditions. 2013-02-08 13:31:35 +01:00
asofold
409f5e5878 Workaround for jumping onto flower pots. 2013-02-08 13:01:35 +01:00
asofold
d3966b3ccd Adapt lost-ground check to recent fix in PlayerLocation.isOnGround.
This should reduce false positives with running down "stairs" made of
full blocks by a lot.
2013-02-08 12:28:26 +01:00
asofold
bcd62f09a8 Move some debug output to a method. 2013-02-08 11:13:46 +01:00
asofold
dd9e5d3873 Code simplification. 2013-02-08 11:10:51 +01:00
asofold
a12ffcf916 Correct vl for fastclick to include current violation. 2013-02-08 09:49:38 +01:00
asofold
df4705d0d8 Let inventory.fastclick not execute actions with heavier lag spikes.
It will execute cancel, if the actions for the former vl contain it, but
the vl will not be increased, neither will actions be executed.
2013-02-08 09:47:13 +01:00
asofold
df005b4181 More grace to velocity handling, configurable.
Before full revert or recode: a moderate (smaller than
before) minimal grace amount for the counters is used now.
2013-02-06 18:43:34 +01:00
asofold
261fca021d Add comments, reorder slightly. 2013-02-06 17:42:04 +01:00
asofold
7399bfa8ee More haste. 2013-02-05 11:02:47 +01:00
asofold
2b8dd41461 Reduce some false positives with survivalfly. [Not finished.] 2013-02-05 01:52:15 +01:00
asofold
fcd18ead24 Make god-mode lag boundaries configurable. 2013-02-04 23:48:37 +01:00
asofold
f126a13be5 Don't let freedom go below 0. 2013-02-04 23:03:04 +01:00
asofold
6c8c6adca5 Attempt to fix repeated adding of velocity.
Effects on hacks have to be evaluated further.
2013-02-04 10:10:46 +01:00
asofold
c49b1fb7b6 Change appearance of the output of the lag command. 2013-02-04 09:21:06 +01:00
asofold
ae01377606 Set version to 3.8.10-ALPHA to keep it somewhat consistent, switch back
with 3.8.11.
2013-02-03 22:50:35 +01:00
asofold
38a2fdfb27 Bump version. 2013-02-03 22:10:26 +01:00
asofold
6a0a4188c1 Sharpen vertical-accounting.
Also use first bucket, if count matches.
Demand at least gravity getting added.
2013-02-03 21:55:01 +01:00
asofold
d897c99a23 [Bleeding] Adjust velocity handling.
Mainly horizontal velocity. Should reduce abuse potential for small
amounts of velocity added. Repeated adding of velocity might pose
problems, still.
2013-02-03 21:37:00 +01:00
asofold
5711a261a0 Bump version. 2013-02-03 21:35:15 +01:00
asofold
f5676cc635 Attempt to fix ladder climb up check.
Adds concept to ignore certain flags for isOnGround checking.
2013-02-03 19:16:55 +01:00
asofold
7bc9b709cd Bump version. 2013-02-03 18:41:42 +01:00
asofold
c3b0bf1012 Fixes pending...
swimup: Speed corrected.

vertical velocity: reset only with to on ground or small velocity.
2013-02-03 18:37:06 +01:00
asofold
ec70fb1df4 [Bleeding] Change how vertical velocity is applied, reset both h/v on
certain occasions.
2013-02-03 18:20:49 +01:00
asofold
cfdbfedf56 Fix ladder+vine speed limits for moving up not being applied. 2013-02-03 17:38:44 +01:00
asofold
7872c9690b Bump version. 2013-02-03 17:09:28 +01:00
asofold
ab068f0a2d Attempt to fix lilypad + swimup. 2013-02-03 17:05:07 +01:00
asofold
52797769a2 Fix jumping from water onto lilypads. 2013-02-03 16:52:37 +01:00
asofold
0c0f8d1c5c Switch vertical accounting to 3 events per bucket. 2013-02-03 16:46:48 +01:00
asofold
c6bf6c5d27 Bump version. 2013-02-03 16:36:33 +01:00
asofold
930228bc6c Protected more against moving up (ladder, vine, water).
Prevent climbing too high up vine that are not attached to solid
blocks. Prevent too high speed moving up on ladders, vine, liquid.
Refine treatment of exiting boats.
2013-02-03 16:32:22 +01:00
asofold
70e47e03c1 Bump version. 2013-02-03 14:03:30 +01:00
asofold
6282fe9cdb Bump version. 2013-02-03 13:43:11 +01:00
asofold
afb66a3172 Set version to 3.8.10-ALPHA(1), due to jenkins being down. 2013-02-03 13:07:41 +01:00
asofold
71d6a46b93 Further reduce false positives for survivalfly. Adapt some debug
messages.
2013-02-03 00:24:07 +01:00
asofold
ddd61a6522 Add falldamage option to survivalfly. Not sure it is a good idea to set
it to false, though.
2013-02-02 22:22:55 +01:00
asofold
044c435180 Fix jumping out of water when next to something solid.
Problem was introduced by previous commits, which seemed to have fixed
false on-ground judgment (short-cut in PlayerLocation.isOnGround).
2013-02-02 18:14:55 +01:00
asofold
c003ccc09f Fix some issues with stairs and half-blocks.
Add stepping up half-block distances to lost-ground.
2013-02-02 17:32:45 +01:00
asofold
824e67ffe6 Use the keep-alive estimation for the new god-mode check.
Might not fully do it, but should make occasional hits possible.
2013-02-02 08:28:52 +01:00
asofold
e0f5e594be Add workaround method for keep-alive time, as a temporary solution.
Also keep track of last-regain-health time for that and other purpose.
2013-02-02 08:19:31 +01:00
asofold
25a3c9663b Switch from ActionFrequency to ActionAccumulator for vertical-accounting
(survivalfly).

This should reduce false positives due to lag of any kind. Might set
event number to 3, depending on tests.
2013-02-01 17:28:58 +01:00
asofold
ed4b551c08 Balance maxphase violation better with default config. 2013-02-01 16:13:19 +01:00
asofold
dba567ee2b [Bleeding] Bring in new god-mode check. 2013-02-01 09:38:58 +01:00
asofold
f4727ad3a2 Double.MIN_VALUE is something else. Should be Double.NEGATIVE_INFINITY. 2013-02-01 08:30:36 +01:00
asofold
a123e02251 Fix cobweb + jumping. 2013-02-01 07:42:39 +01:00
asofold
7fa1238c4e Fix moving.debug output, add output for silent cobweb set-back. 2013-02-01 07:25:06 +01:00
asofold
d8733f873b [Bleeding] Kill Jesus!
Just kidding. Introduces a lift-off medium tracking for jumping to be
able to limit the maximum jump-phase for lifting off water.
2013-02-01 06:51:21 +01:00
asofold
4f125728f2 Add javadocs and comments. 2013-02-01 06:16:01 +01:00
asofold
7e4ad21f4f Prevent ascension over max jump phase for normal jumping/moving.
Adds a "dirty"-flag, set on receiving velocity. If a player still
ascends while exceeding max-jump-phase, a violation will be triggered,
regardless of the taken distance. This has not been tested against hacks
yet, and might well have little effect. It does aim against step and
block-jumping on protected regions, but there might be another limiting
method necessary to make this fully effective.
2013-01-31 10:01:46 +01:00
asofold
f38822e4d5 Add some initial values. 2013-01-31 09:23:20 +01:00
asofold
048831b55b Set dependencies to 1.4.7-R1.x.
This needs more consideration, for backwards compatibility the pure-API
modules might compile against an older API version (defensively!),
while the API-only MCAccess might need an extra module compiling against
what it needs.
2013-01-31 07:05:28 +01:00
asofold
fd9bb76202 Refactor parts of actions to NCPCompat.
This is not finished, log action is missing still.
2013-01-30 14:05:39 +01:00
asofold
4e85e9d211 Add comment on "copy". 2013-01-30 11:00:33 +01:00
asofold
a3656b92d9 Add WorldConfigProvider for future purpose. 2013-01-30 10:42:29 +01:00
asofold
0dc16d6a27 Set version to 3.8.10 for further development. 2013-01-30 06:06:02 +01:00
asofold
dc5a1bd19f Consistency fixes for reloading the configuration.
Mostly MCAccess must be reset after reloading the configuration, a rare
case, but wanted for testing. For this a component has been added, which
allows automatic setting of MCAccess on reload, in consequence the
CheckListener registers all checks as components with the NoCheatPlusAPI
(CheckListener.addCheck).

Components can not be registered twice anymore.

All TickListeners will be removed in onDisable.

Possibly others.
2013-01-30 04:22:06 +01:00
asofold
abe22f8104 Cleanup BlockProperties on disable. 2013-01-30 03:22:58 +01:00
asofold
8c3ed77c7c Also remove clear parkedInfo in case of reload or data removal. 2013-01-30 03:17:18 +01:00
asofold
8c2bda2b70 Use BLockProperties.isOnGroundOrResetCond. 2013-01-30 03:12:24 +01:00
asofold
04b1341e43 Attempt to fix survivalfly false positives on login in water (seldom). 2013-01-30 03:06:30 +01:00
asofold
87e350aa81 Add in-game debug to fight.critical. 2013-01-30 01:23:22 +01:00
asofold
f9691c3ea8 Fix NoFall violations with ender-pearls. 2013-01-30 01:22:19 +01:00
asofold
b00bb9a014 Hint at new god mode check [not yet in]. 2013-01-29 23:50:58 +01:00
asofold
54fd0d6bff Explicitly cancel data-man task. 2013-01-29 17:12:04 +01:00
asofold
9ddb91f7fd Add comment. 2013-01-29 16:36:12 +01:00
asofold
eda657b6de Fix and optimize hover checking.
Fix: reset players hover ticks if moves are not checked (sleep, dead,
vehicle, disabled).

Optimize: Only check on-ground, if the players hover tick counts
reach the limit. Players are reset when moving anyway.
2013-01-29 14:00:28 +01:00
asofold
24421dc85d Add methods to config manager to retrieve min/max numbers. 2013-01-29 13:47:46 +01:00
asofold
a8f326d855 MAXIMALLY. 2013-01-29 03:48:08 +01:00
asofold
562f1da59b Assume maximally 20 attacks / moves per second. 2013-01-29 03:46:31 +01:00
asofold
acd8afcdc2 Use the xz-distance for the moment. 2013-01-29 03:23:39 +01:00
asofold
0620ced63c Add utility methods for 2d-distance. 2013-01-29 03:20:37 +01:00
asofold
c40b9fac22 Add tags to improbable. Currently only the tags triggering the violation
are shown, probably useful for debugging.
2013-01-29 03:16:10 +01:00
asofold
d8701a7ea6 Add target-location heuristic to reduce false positives with improbable. 2013-01-29 02:51:51 +01:00
asofold
3348865288 New method for distance (coordinates). 2013-01-28 23:53:05 +01:00
asofold
0fb299b39f Don't check backwards sprinting after being hit. 2013-01-28 09:18:03 +01:00
asofold
04e7b2a09b Munchhausen can be enabled now. 2013-01-28 09:17:31 +01:00
asofold
342ef0f5a6 TickTask.getLag: Never return anything smaller than 1. 2013-01-27 05:06:33 +01:00
asofold
9bb8687a88 Add javadocs for ComponentRegistry and related. 2013-01-26 08:03:33 +01:00
asofold
4324d4fe74 [Bleeding] Lessen trouble with boats. 2013-01-26 07:42:56 +01:00
asofold
034a7d58b0 Fix unregistering of components from allComponents. 2013-01-26 07:41:51 +01:00
asofold
1e29c03251 Re-order methods. 2013-01-26 06:56:23 +01:00
asofold
99e7994b76 Fix morepackets(vehicle) set back never executing. 2013-01-26 00:16:18 +01:00
asofold
333cffd0d5 Fix last damage-tick by entity attack being reset while dead, renamings. 2013-01-26 00:08:17 +01:00
asofold
53756f7145 Cleanup for all added components, reorder cleanup on disable. 2013-01-25 23:51:29 +01:00
asofold
9bd7745690 Change the way morepackets(vehicle) teleports player and vehicle.
Player gets ejected, then both teleport then re-enter. Includes some
sanity checks. Also should work for players exiting vehicles. Might
conflict with Worldguard region flags and similar. [Missing: proper
treatment of vehicle-enter/exit.]
2013-01-25 22:12:40 +01:00
asofold
ed56c3458f Add "/ncp version" command. 2013-01-25 20:41:38 +01:00
asofold
ed09b58074 Set data.teleported for hover violations. 2013-01-25 14:38:41 +01:00
asofold
509347e78b Update a TODO. 2013-01-25 00:14:43 +01:00
asofold
405f33e90e Remove debug output for boats. 2013-01-24 23:53:39 +01:00
asofold
85131dcadb [BLEEDING] Re-sharpen NoFall, configurable.
Fall damage events for violations are not cancelled anymore due to the
"moved too quickly" bypass. Instead the player is dealt 3 more damage
than normal and added to the hover checking if that is activated.
Further a config flag allows to specify if to reset the NoFall data, set
to false by default, thus victims of Minecraft false-positives are at
doubled suffering.
punished
2013-01-24 23:49:31 +01:00
asofold
15c04a3115 Also check for too high numbers as arguments to getLag. 2013-01-23 18:54:19 +01:00
asofold
944f3469d0 Random safeguard for breaking-time (fastbreak). 2013-01-23 18:30:30 +01:00
asofold
6a70f0a010 Accoutn for lag in chat.commands. 2013-01-23 03:07:17 +01:00
asofold
cce67ac67c Account for TickTask resetting. 2013-01-23 03:06:52 +01:00
asofold
60114eb6eb Do account for ms == 0. 2013-01-23 02:21:09 +01:00
asofold
fdb58eefca Logics for beginners. 2013-01-23 02:11:22 +01:00
asofold
67b3b9ea00 Make TickTask.getLag more precise. 2013-01-23 02:08:02 +01:00
asofold
9b75979dee (Hot-) fix negative indices on TickTask.getLag. 2013-01-23 02:06:31 +01:00
asofold
07d8573e9e [Bleeding] Check vehicle-morepackets for players riding pigs. 2013-01-22 18:43:04 +01:00
asofold
542dafc6f7 Add default config for allowinstantbreak. 2013-01-21 06:06:48 +01:00
asofold
8d1ee85d9d Add compatibility option to set blocks as instantly breakable. 2013-01-21 05:59:52 +01:00
asofold
b54b558322 Minor tweak :p. 2013-01-21 02:10:08 +01:00
asofold
f0ea06bea6 Also ignore hover for players inside of vehicles. 2013-01-21 02:08:25 +01:00
asofold
4f3e4fad65 (Not putting hover in at respawn due to chunk sending.) 2013-01-20 17:18:36 +01:00
asofold
0eaa8fd1b5 Ignore dead / sleeping directly on hover. 2013-01-20 06:53:31 +01:00
asofold
f940e1e359 More to the order of things. 2013-01-20 05:59:46 +01:00
asofold
762ae9174d [BLEEDING] Some missing parts [might still be missing some].
Set to bleeding, because the last commits are. Bukkit-API-only access
shortly tested. There will be issues, but this might help over the
darkest of days.
2013-01-20 05:25:21 +01:00
asofold
4c6798b979 Typo / log level. 2013-01-20 04:35:35 +01:00
asofold
ee1f410dae [SAFETY COMMIT, REFACTOR, BREAKING]
Moving big parts of code between sub-projects. Some refactoring was
needed to unlink some classes. Deprecated methods removed. Some utility
methods were moved to differently named utilities. Few signatures
changed (e.g. BlockProperties.init). Most changes should only concern
bugs or developers who dug into some NCP deeply (not sure those exist).
It should still all be there.
2013-01-20 04:18:08 +01:00
asofold
8e313f4a47 [SAFETY COMMIT, INCOMPLETE] RAW: Add support for bukkit-api-only. 2013-01-20 00:51:09 +01:00
asofold
c8c4d4c9cc Add a method to set a config property for all configs at once. 2013-01-19 21:43:31 +01:00
asofold
9810c5c46b Add more info in case MCAccess can not be set. 2013-01-18 23:06:50 +01:00
asofold
48c2d0ea53 Add fine grained permissions for Rei's Minimap's radar.
This merges pull request 4 (@slide23) in a slightly altered way, with
a little delay.
2013-01-18 22:43:16 +01:00
asofold
f9b45921b1 Move mod messages to a utility. 2013-01-18 22:37:23 +01:00
asofold
f3a5e572b3 Set last damage cause for NoFall.dealDamage. 2013-01-18 22:18:42 +01:00
asofold
00cf2886cd Add unused PlayerData class for "discussion". 2013-01-18 16:43:07 +01:00
asofold
53ba5725da Typo. 2013-01-18 16:34:48 +01:00
asofold
c0ddeef104 Fix players counting for logins checks if already denied to login.
Also lets "tempkick" feature come first.
2013-01-18 00:09:42 +01:00
asofold
fd2469490a [Bleeding] Replace LagMeasureTask by TickTask.
Contains some fixes. Removes the debugging message for lag. Might
in some places use wild guesses for lag estimation
(TickTask.getLag(1000) < 1.5).
2013-01-17 01:47:07 +01:00
asofold
48705669dd Increase tick after all processing. 2013-01-16 23:06:23 +01:00
asofold
2550e3059e Update Metrics class. 2013-01-16 23:05:47 +01:00
asofold
e34ad4fcdf Fix concurrent modification exception for a part.
Only set the hover ticks on teleporting events. On setting back players
in MovingListener.onTick, this will be prevented now. However actions
might still cause trouble, so some non-blocking stuff would be good here
(a removeFroHover set, some other way of keeping track).
2013-01-15 18:32:31 +01:00
asofold
d693d3a690 Code duplication for test. 2013-01-14 19:48:36 +01:00
asofold
9850a0e3bb [BLEEDING] Add simple hover check. 2013-01-14 18:49:49 +01:00
asofold
91420f9edf Add TickListener component.
TickTask allows registration and calls on each tick.
2013-01-14 04:23:39 +01:00
asofold
6d245c62a7 Add "ncp unexmpt * [...]", use with care.
Might unexempt npcs if another plugin used this for such.
2013-01-14 02:40:12 +01:00
asofold
6cfe46c117 Make resetting fall distance for teleports configurable. 2013-01-14 02:24:11 +01:00
asofold
e05275fd73 A little more grace for fast falling (vacc). 2013-01-14 02:09:31 +01:00
asofold
5879fba502 [Bleeding] Set the players fall distance on successful teleports.
Might cause issues.
2013-01-14 01:55:13 +01:00
asofold
fed73d519b [Bleeding] Adapt teleport handling to cancelled events better.
Also will invalidate currently processed moving events.
2013-01-14 01:49:27 +01:00
asofold
0e9826cb14 [Bleeding] Re-arrange move-handling on highest and monitor level.
Remove uncancelling events. Ignore sleeping [might need adaption to
not trigger anything on getting up], account for cancelled events
and reset postions and feed yawrate accordingly.
2013-01-14 01:09:38 +01:00
asofold
a158b169d2 [Bleeding] NoFall: Try to delay damage on violations.
Cancel damage events rather than keeping fall distance plus damaging the
player. This should punish players less for bugs in MC or NCP, while
still dealing the accurate damage.
The players can still keep hovering, but that's what the hover checks
will be for.
2013-01-13 23:30:51 +01:00
asofold
76000584d0 Add more tests for ActionFrequency. 2013-01-13 22:11:51 +01:00
asofold
f0e9a844fc ActionFrequency.update: reorder safety checks slightly.
Gains a little bit of consistency for negative time differences. Also
might be faster for the case of seldom shifting, though most likely
by an insignificant amount.
2013-01-13 22:11:29 +01:00
asofold
363cda50e8 Clear NCPExemptionManager in onDisable just in case.
Little significance, but could be expected to have some future purpose.
2013-01-13 21:49:29 +01:00
asofold
d766379afe Imports fail. 2013-01-13 21:43:55 +01:00
asofold
070a7c1dd8 Tests are put into test/... not main/... 2013-01-13 21:29:28 +01:00
asofold
32c376455a Also remove data for CheckType.ALL for components that don't implement
IHaveCheckType.
2013-01-13 21:23:25 +01:00
asofold
b492bd5ac0 Clear lag spikes if system time ran backwards. 2013-01-13 20:51:44 +01:00
asofold
6256703d01 Have TickTask be locked from the start. 2013-01-13 20:45:15 +01:00
asofold
e5686d694b Lock, purge and cancel TickTask in onEnable. 2013-01-13 20:44:23 +01:00
asofold
ede74785d2 Add safety check for the "system time ran backwards" category. 2013-01-13 19:56:43 +01:00
asofold
97262544ae Only on top level. 2013-01-12 01:06:21 +01:00
asofold
f0c1f34438 [Bleeding] Holzhammer 2.
MovingData: Set set backs and teleported to private visibility in order
to be able to rule out potential sources of inconsistencies. Also set
morepackets set-backs to null rather than to the same reference of
set-back (onSetBack).
2013-01-09 20:44:54 +01:00
asofold
5c8e76ecba Reset to the players location on join. Adaptions to set-back use. 2013-01-09 19:20:43 +01:00
asofold
6cc3791439 [Bleeding] Change order of testing MCAccess and add dev branch for the
moment.
2013-01-09 19:18:44 +01:00
asofold
c82e92863d Holzhammer. 2013-01-09 00:12:53 +01:00
asofold
c79920c3b2 Set version to 3.8.9 to distinguish from release of 3.8.8. 2013-01-08 21:36:17 +01:00
asofold
7ee13cce09 Also debug set back in the moving listener. 2013-01-07 19:09:34 +01:00
asofold
3cbae00fbb Adapt debug logging to show full move always. 2013-01-07 19:01:03 +01:00
asofold
fbc85de617 [Bleeding] Prepare something for handling reload better, later. 2013-01-07 18:49:37 +01:00
asofold
ee3e3bb431 Add NCPCompatCBDev to have some kind of a canary in place. 2013-01-06 13:58:36 +01:00
asofold
c262337940 Adjustments with set-backs. 2013-01-05 19:20:05 +01:00
asofold
15d2346dea MovingData.onSetBack: also reset more-packets/vehicle set-backs. 2013-01-05 12:28:04 +01:00
asofold
92adc71ccd Comment out remainders of horizontal accounting. 2013-01-05 12:25:40 +01:00
asofold
81866fcc3e Back to normal. 2013-01-04 22:42:48 +01:00
asofold
9bf08b08d8 Set current build number to 0 for DefaultConfig.
Until Jenkins is set up correctly.
2013-01-04 17:40:36 +01:00
asofold
afe98203f0 Add hidden config flag to be able disable lag adaption
globally.
2013-01-04 17:31:29 +01:00
asofold
1564115dd0 [Bleeding] Optimizations and corrections for set-backs. 2013-01-04 17:21:34 +01:00
asofold
c73aa0edac Add convenience methods for set-back locations to MovingData. 2013-01-04 17:14:46 +01:00
asofold
69f46c2f12 Add getWorld to PlayerLocation. 2013-01-04 17:04:01 +01:00
asofold
530f85c03c Details about morepackets set-back. 2013-01-04 16:51:42 +01:00
asofold
65a7bf8b36 [Bleeding] Account for server side lag in blockplace.fastplace. 2013-01-04 16:47:11 +01:00
asofold
8bb35fec94 [Bleeding] Account for server side lag in inventory.instantbow. 2013-01-04 15:55:21 +01:00
asofold
1b350af75f [Bleeding] Account for server side lag in combined.improbable. 2013-01-04 15:45:19 +01:00
asofold
a32a428d08 [Bleeding] Account for server side lag in combined.yawrate. 2013-01-04 15:38:37 +01:00
asofold
202a3ec0c9 [Bleeding] Account for server side lag in fight.speed. 2013-01-04 14:49:11 +01:00
asofold
adf91b88d6 [Bleeding] Account for lag for vertical accounting in
moving.survivalfly.
2013-01-04 14:42:04 +01:00
asofold
e514cc2425 [Bleeding] Account for lag in blockbreak.frequency. 2013-01-04 14:34:42 +01:00
asofold
581cdef7bb [Bleeding] Account for lag in blockbreak.fastbreak. 2013-01-04 14:21:08 +01:00
asofold
b85cd17688 Add hidden lag flag to abstract CheckConfig. 2013-01-04 13:56:35 +01:00
asofold
57ba5533aa Add ability to include the current tick in TickTask.getLag. 2013-01-04 13:47:09 +01:00
asofold
47faa014bf [experimental] Reset yawrate on teleports. 2013-01-04 13:29:45 +01:00
asofold
0f763782e0 Set version to 3.8.8-TEMP to distinguish build numbers.
Trouble with our jenkins server / backups.
2013-01-01 12:24:22 +01:00
asofold
434eb68898 Don't count the first tick for lag. 2012-12-31 16:29:32 +01:00
asofold
9e839b561e Alter lag spike display to show spikes for intervals. 2012-12-31 16:22:46 +01:00
asofold
f4680da0d4 Further adjustments to Improbable (feed).
Just feed weights to improbable instead of checking for some places,
getting rid of some unnecessary violations cascading. Also feed for
fighting speed violations.
2012-12-29 22:10:45 +01:00
asofold
05c7699937 Use a defensive method for yaw difference for the angle check. 2012-12-29 16:47:03 +01:00
asofold
7f17420606 More % for yaw. 2012-12-29 16:23:04 +01:00
asofold
f9d44cd661 Add "strict" flag to blockbreak.fastbreak.
This allows to count break...break instead of interact...break, if set
to false.
2012-12-28 20:00:05 +01:00
asofold
a823e6dd1e Use absolute yaw difference for comparison. 2012-12-28 19:47:03 +01:00
asofold
802c1bef06 Add comment for future changes. 2012-12-28 19:35:43 +01:00
asofold
1759c1003f yawrate: Add judgement about stationary yaw.
This prevents adding up small yaw-differences for many cases.
2012-12-28 19:32:04 +01:00
asofold
4800efbf2a Various adaptions to the use of the Improbable check.
Fix fight.reach input for long distance hits (might increase problems).
Remove some inputs, remove some event-cancelling (but keep input).
Lower some weights.
2012-12-28 19:16:54 +01:00
asofold
c36078b139 Correct a comment. 2012-12-28 18:49:23 +01:00
asofold
2ea4c8ef6a Add defensive comments. 2012-12-28 00:17:27 +01:00
asofold
d38b09bc1f Use LogUtil for logging exceptions. 2012-12-27 19:51:24 +01:00
asofold
b566bc1d00 Actually do clear logins data on reloading. 2012-12-27 18:16:08 +01:00
asofold
09e16a7231 Clear chat.logins data on reload. 2012-12-27 15:31:50 +01:00
asofold
e8208a12c5 Update permissions for chat checks in plugin.yml. 2012-12-27 14:30:02 +01:00
asofold
ef5d249973 Set version to 3.8.8 for further development. 2012-12-22 12:19:16 +01:00
asofold
ee0e12bbd0 Set version to 3.8.7-beta for release on BukkitDev. 2012-12-22 11:54:06 +01:00
asofold
77975c2659 Put compat versions "right". (Rename MC1_4_6 to CB2545.) 2012-12-21 18:08:18 +01:00
asofold
74e3085ee0 Deprecate old methods for lag-spikes. 2012-12-21 16:49:01 +01:00
asofold
59b0985f11 More precise lag spike counting.
Also prepares for more flexibility with what to count.
2012-12-21 15:41:15 +01:00
asofold
d70041713a Nice maven. 2012-12-21 11:28:29 +01:00
asofold
09a2a7b003 Correct package name for 1.4.6 compat. 2012-12-21 11:21:03 +01:00
asofold
f1e2781c81 Log all exceptions if setting MCAccess fails. 2012-12-21 11:13:15 +01:00
asofold
3d773c6944 [INSTABLE] Add support for MC1.4.6. 2012-12-21 10:44:28 +01:00
asofold
eca6706a14 Fix yawrate for a part. 2012-12-21 09:59:51 +01:00
asofold
51b8b72bf7 Workaround for walking on brewing stands. 2012-12-19 12:16:28 +01:00
asofold
67bd8919be Set version to 3.8.7 for further development. 2012-12-19 12:02:25 +01:00
asofold
4448452700 Set version to 3.8.6-beta for beta-release on BukkitDev. 2012-12-19 11:27:31 +01:00
asofold
4eccfe0b8e Disable managelisteners by default. 2012-12-18 20:20:55 +01:00
asofold
3dd7bfc64f Leave some defaults to the default config. 2012-12-18 01:23:08 +01:00
asofold
1011b36d6a Might have fixed the bed-leave check. 2012-12-18 01:16:52 +01:00
asofold
1e701f01f6 Bind spawn-egg dupe-prevention to the items check to allow turning it
off.
2012-12-17 21:55:00 +01:00
asofold
e7a643c692 Add comment. 2012-12-17 21:52:35 +01:00
asofold
13bf0eb705 [Bleeding] Adjust assumeground-set-back. 2012-12-17 21:16:34 +01:00
asofold
f9625af03b Increment jumpphase after debug output. 2012-12-17 20:07:53 +01:00
asofold
f7e5951506 Assume full block shape for stairs on collidesBlock. 2012-12-17 19:41:44 +01:00
asofold
c6a4cf2ab7 Correct some things about width/length of entities.
This might have caused lag and all sorts of problems with moving, such
as getting pulled back near cobweb or water. [Still fp in survivalfly
left.]
2012-12-17 19:15:21 +01:00
asofold
432c7607aa Store MCAccess in PlayerLocation and MoveInfo. 2012-12-17 18:05:01 +01:00
asofold
817ac36f8b Comments, order, init values. 2012-12-17 17:57:07 +01:00
asofold
e2a1fc6a2d Change signature of MCAccess.isIllegal to AlmostBoolean. 2012-12-17 17:02:04 +01:00
asofold
b397c491fc Target is Java 1.6. 2012-12-17 16:48:12 +01:00
asofold
6e523ee46e More logical order. 2012-12-14 10:49:37 +01:00
asofold
a05d3e06c8 Javadoc updates. 2012-12-14 10:44:10 +01:00
asofold
4b07eadc32 Corrections to versions. 2012-12-14 00:44:08 +01:00
asofold
5a98004552 Adjust version. 2012-12-13 23:50:53 +01:00
asofold
5f54286c12 Compiles: poms fixed / hacked. Credit mbax for general setup. 2012-12-13 23:42:59 +01:00
asofold
42521cbb1c Add resources. 2012-12-13 22:57:21 +01:00
asofold
f21ffd68cb RAW split setup (does not compile in eclipse). 2012-12-13 22:48:56 +01:00