Commit Graph

218 Commits

Author SHA1 Message Date
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