asofold
a78f5550a2
Adjust trampoline effect.
2014-12-11 00:22:08 +01:00
asofold
3eab23ae92
[BLEEDING] First attempt to make slime blocks work.
2014-12-10 00:45:08 +01:00
asofold
a51965c57d
Skip knock-back for damage events that would not count.
2014-12-08 01:02:37 +01:00
asofold
3739e2a3f5
Corrections for knockback: Ignore vehicles, method naming.
2014-12-08 00:40:53 +01:00
asofold
3c8b255817
Attempt to fix issues with pvp and knockback.
...
Might disable for older versions of MC
(checks.fight.pvp.knockbackvelocity).
2014-12-07 23:54:49 +01:00
asofold
ec997796b8
Attempt to fix melons for 1.8 (might result in issues with pre-1.8).
2014-12-06 20:06:27 +01:00
asofold
79394c4e0a
Allow faster flying with the sprint key.
2014-12-06 01:37:50 +01:00
asofold
935b5a6449
Fix sprinting + depth strider. And modifiers are just modifiers.
2014-12-05 12:40:31 +01:00
asofold
4aa253df6d
Back to strings.
2014-12-05 12:05:00 +01:00
asofold
7b51b1ae43
Add depth strider support.
2014-12-05 11:47:34 +01:00
asofold
c0a188d2c1
Make LogManager an interface.
...
* Some cleanups (spaces, commented out references updated).
* LogManager implement INotifyReload, but gets processed extra (not
added with addComponent).
2014-12-04 15:56:16 +01:00
asofold
5f9764dabc
Add command "ncp debug player (player1) ...".
...
This is the first simple version, just setting debug for all checks for
the player(s). It can only be undone by removing the data, e.g. with
"ncp remove (player)", reloading does it too, but is much heavier.
2014-12-04 03:52:48 +01:00
asofold
256d06b67c
Add permissions for JourneyMap/VoxelMap.
2014-12-04 03:09:17 +01:00
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
a2e4db7c94
Fixe fence gates with fence corners (allow checking for further flags).
2014-12-04 01:45:16 +01:00
asofold
c70da72654
Switch to flags for (thick) fences and fence gates.
2014-12-04 01:04:33 +01:00
asofold
3f515cc616
Spaces.
2014-12-01 00:06:57 +01:00
asofold
5dd5f8b87c
Remove error markers.
2014-12-01 00:06:41 +01:00
asofold
3cc5aef282
Spaces.
2014-11-29 14:56:05 +01:00
asofold
02ea246ebb
Merge pull request #29 from hivemc/master
...
Block JourneyMap radar and cavemappings, should apply to VoxelMap too.
2014-11-29 14:09:43 +01:00
asofold
c0eceb9473
Fix PermissionUtil/npe (ensure a Permission instance is present).
2014-11-29 02:48:49 +01:00
Youri Kersten
247d256082
Block JourneyMap radar and cavemappings
...
http://minecraft.curseforge.com/mc-mods/225341-journeymap-server
2014-11-28 16:20:00 +01:00
asofold
a9f9a3dced
Prepare more changes to fight checks using (location trace based).
...
* Use a SharedContext for properties used in all checks.
* Rename (locationTraceChecks).
2014-11-26 22:29:53 +01:00
asofold
5f0c70f138
[BLEEDING] Simplify and (hopefully) repair the criticals check.
...
* Remove on-ground check.
* Always increase VL by 1, because clients could control it anyway.
* Skip if the player is in a vehicle.
* Remove adapting to lag.
2014-11-26 00:37:52 +01:00
asofold
3dea6580e4
Spaces.
2014-11-25 23:53:17 +01:00
asofold
3b47bde9cf
Log precise fall distances.
2014-11-25 23:52:51 +01:00
asofold
6ed52ffda6
Move checks depending on a LocationTrace into a method.
2014-11-25 23:32:46 +01:00
asofold
24ccc4a5ea
Spaces + comments, modifier.
2014-11-24 15:47:52 +01:00
asofold
8b55139003
Regroup default loggin initialization.
2014-11-24 15:08:32 +01:00
asofold
379cb159dd
ASYNCHRONOUS_DIRECT is enough.
2014-11-24 00:45:31 +01:00
asofold
8a03de1315
The server logger should be considered thread-safe by default (log4j).
...
To be sure that we don't kill exotic systems, it's also configurable.
2014-11-24 00:34:54 +01:00
asofold
43b33ed350
Catch and log exceptions during chunk-load on players joining.
2014-11-23 15:53:33 +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
4ffca941a2
Update comments.
2014-11-21 23:23:53 +01:00
asofold
db7775a2c7
Spaces.
2014-11-20 12:29:49 +01:00
asofold
99e4cdc1bc
Allow absolute paths for the log file.
2014-11-20 12:28:20 +01:00
asofold
3364d487cf
Fix logging task (sync) not registering. Shuffle init order.
2014-11-19 23:09:14 +01:00
asofold
4544e1da7b
Check for correct name of init logger.
2014-11-19 21:59:13 +01:00
asofold
1e455f77e2
Optimize for speed.
2014-11-19 21:24:00 +01:00
asofold
c0300c09a8
Attach server logger to the appropriate stream (+simplify).
2014-11-19 10:03:11 +01:00
asofold
17ce04b52d
Import cleanup.
2014-11-19 08:40:36 +01:00
asofold
ea57e5c3e1
Move Streams to NCPCore.
2014-11-19 08:36:53 +01:00
asofold
2fc56885fb
Remove accidental override.
2014-11-19 08:36:18 +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
2f4d689722
[PLACEBO] Raw sketch of the upcoming logging framework, doing nothing.
2014-11-18 23:54:43 +01:00
asofold
f49c64e89d
Move StaticLogFile to NCPCommons, make use of the useBukkitLogger flag.
2014-11-17 15:40:04 +01:00
asofold
37c1da73ff
Rename LogUtil to StaticLog.
2014-11-17 11:25:51 +01:00
asofold
780d59d8a7
Use a utility method to get a String of a Throwable.
2014-11-11 20:28:49 +01:00
asofold
0201e4178b
Spaces.
2014-11-11 20:23:49 +01:00
asofold
aa4ef31051
Make locations and distance available for logging passable violations.
2014-11-11 02:12:19 +01:00
asofold
543753a74d
Spaces, indentation, comments.
2014-11-11 01:53:40 +01:00
asofold
ae35d26a93
Reduce code duplication in getOptimizedActionList.
2014-11-06 01:26:45 +01:00
asofold
4dcebd11c7
Spaces.
2014-11-06 01:23:24 +01:00
asofold
881bd44330
Fix LogAction.getOptimizedCopy returning something that logs nothing.
2014-11-06 00:47:59 +01:00
asofold
9a6bb37bd8
Add name and displayname to ParameterName, handle IP in ViolationData.
2014-11-06 00:45:45 +01:00
asofold
9de6061a9e
Comments + formatting + spaces.
2014-11-05 22:57:33 +01:00
asofold
1f2f18a748
More spaces.
2014-11-04 00:20:18 +01:00
asofold
8b43e5e5f1
Unify and simplify Check / AsyncCheck, ACheckConfig / AsyncCheckConfig.
...
Hinting at further changes to unify permission access and caching. Later
permission caching can also be done for moving checks, though checking
for the current thread may be exchanged in favor of config flags.
Generic configuration will allow to set individual timeouts for checks,
check groups and default. There could also be change policies like
"world change only", possibly listening to permission updates, if
feasible.
CheckData / AsyncCheckData are not as simple to unify, if we want to
keep the footprint as low as possible there. There could even be more
implementations to match different policies.
2014-11-04 00:17:43 +01:00
asofold
da6b580f2a
Spaces.
2014-11-02 23:35:47 +01:00
asofold
27913a758d
Optimize TickTask (reduce footprint of copying), code formatting.
2014-11-02 23:35:27 +01:00
asofold
0118f4334f
Add server side velocity to debugging a move.
2014-11-01 18:11:47 +01:00
asofold
d013f289ec
Formatting / cleanup.
2014-11-01 16:36:38 +01:00
asofold
07bc7f6a90
Correct comment.
2014-10-30 13:02:07 +01:00
asofold
6c0e1bb6c8
If neither from nor loc is passable, set back to from (earliest) rather.
2014-10-29 23:28:17 +01:00
asofold
f29acd3f00
Only demand the word "slime" to match for slime blocks.
...
This might help with compatibility, since we don't know how different
continuations of Bukkit will name things.
2014-10-29 12:09:58 +01:00
asofold
31a414942c
Copy and paste fial.
2014-10-29 01:52:20 +01:00
asofold
b57d7745e4
[BLEEDING] Refine logging on logout. Actually set-back on logout.
...
* Always log location of logout if debug is set.
* Also check inconsistent logout if manahattan distance is > 0.
* Only perform "passable check" only if enabled and not dead/sleeping.
* Try to actually set-back.
2014-10-29 01:49:18 +01:00
asofold
e12c2a2bfc
Fix manhattan methods using doubles, add signature for LocationS.
2014-10-29 00:52:05 +01:00
asofold
9827570e2d
Log a warning if a player logs out having moved into a block unnoticed.
2014-10-28 23:09:36 +01:00
asofold
5ec3cd5963
Move set-back handling into dataOnJoin for respawn + join events.
2014-10-28 22:33:43 +01:00
asofold
87bc5edca0
It's yes or no, not true or false.
2014-10-26 20:38:02 +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
43dea0830a
[BLIND] Add blocks for MC 1.8.
2014-10-26 16:40:57 +01:00
asofold
f965ea0610
Minimal formatting changes.
2014-10-10 17:08:35 +02:00
asofold
af974a85ac
[SAFETY COMMIT] Freeze changes to vertical velocity.
...
Since other fixes migth be in focus, some changes are commited
merged/commented out:
* Prepare AxisVelocity to carry positive and negative values.
* Prepare MovingData to use vertical AxisVelocity. Rename hVel.
* Prepare CreativeFly (...), do not count velocity for height limit.
(Most preparations were unfinished, just hinting at the direction.)
2014-10-10 15:28:51 +02:00
asofold
3ea098876f
Update block break timing for obsidian.
2014-10-05 08:48:55 +02:00
asofold
b4669e2a53
Catch a null case.
2014-09-05 01:21:45 +02:00
asofold
e861b97538
Spaces.
2014-08-23 23:12:41 +02:00
asofold
32a11f021a
Refactor horizontal velocity to use an abstract AxisVelocity class.
...
AxisVelocity will later represent per-axis velocity accounting for both
directions along an axis.
There have been no changes to the functionality, so it still only
accounts for positive values.
2014-08-23 23:11:21 +02:00
asofold
53c0d9584c
Config change: blockchangeonly is false by default (changed earlier).
2014-08-17 22:51:22 +02:00
asofold
589dc77510
Change quick-exit check for passable.
...
* Include the case for manhattan == 1.
* Use BlockProperties.isPassable.
2014-08-17 22:46:55 +02:00
asofold
7c1b2eaed3
Commant + indentation.
2014-08-17 22:03:26 +02:00
asofold
45aad9c99d
Remove vcliponly option for passable.
2014-08-17 21:58:52 +02:00
asofold
d0aea7feaa
[BLEEDING] Refine passable-ray-tracing (block-edge treatment).
...
Previously the max. bounds hitting the block edge would not be
considered as colliding, this can now be controlled with a flag.
If the flag is set, you will collide at offsets of 1.0 for either
coordinate (not if the offset is < 1.0).
2014-08-05 20:18:13 +02:00
asofold
4c7f88ec5c
Refine RayTracing.
...
* Better coverage of block-transitions: One step per axis, dT can be 0.
* Cover one step always, also if no distance is covered.
There might be more false positives, due to newly intoduced bugs, or due
to not all block-transitions being checked (a x + z transition will have
two variations to test extra to the ordinary diagonal path, but only one
is checked).
2014-08-05 18:55:15 +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
5245dcca9a
Add op-notice to "ncp inspect".
2014-08-05 18:46:11 +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
eaa4154080
Spaces + comments.
2014-08-04 18:38:45 +02:00
asofold
e84027a919
Set wasInBed in postEnable to prevent kicking with plugin managers.
2014-08-01 22:09:14 +02:00
asofold
427a877b17
Add tab completion to "ncp top".
2014-08-01 19:59:48 +02:00
asofold
58f84028f3
Fix number of entries not being used.
2014-08-01 19:41:44 +02:00
asofold
1a73b65d4a
Add Convenience method for tab-completion and correct indentation.
2014-08-01 19:33:56 +02:00
asofold
5f82584072
Use TickTask.getLag(..., true), within the primary thread.
...
This counts in if the current tick is taking longer than 50 ms.
2014-08-01 19:25:37 +02:00
asofold
78d51b3904
Let morepackets relax/smoothen on certain occasions.
...
Trying to prevent a burst propagate and cause a violation, it will be
smoothed onto following buckets, if they have less than max packets,
stopping after adding to the first non-empty one.
Uncertain effect on cheating, first tests seem to show no huge
difference.
2014-08-01 19:23:00 +02:00
asofold
eb8cba597f
Indentation.
2014-07-31 10:06:04 +02:00
asofold
2f13529a29
Preserve order of check types in APIUtils.
2014-07-30 22:50:02 +02:00
asofold
07af2f687a
Fix CheckType parsing for "ncp top".
2014-07-30 22:23:23 +02:00
asofold
6b71692a40
Sort by sumVL after n, for lower violation counts.
2014-07-29 22:56:35 +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
9b6c717fc0
Add ability to show a per-command usage + apply "correct indentation".
2014-07-29 11:55:53 +02:00
MyPictures
4ded8e4c2f
Lets use space instead of tabulator here?
2014-07-28 08:37:55 +02:00
asofold
1a010b8f43
Update/reorder command usage/description.
2014-07-28 01:26:10 +02:00
asofold
8ad7009648
MorePackets: Make monitored seconds configurable, increase default to 6.
2014-07-28 00:44:44 +02:00
asofold
289da86c35
Add basic (mostly global) configuration for net checks.
...
Currently the parameters except for the "active" flag are not available
per-world, but this can be added later.
2014-07-27 23:21:04 +02:00
asofold
c6c904254f
Feed some counters for debugging purposes.
...
Some might get removed soon.
* Various sorts of silent cancelling (probably not caught all).
* Count PlayerMoveEvent with look/pos/look+pos changes.
2014-07-27 21:01:36 +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
c99612154c
Demand most action commands to be run from the console.
...
For players they either have no extra value over vanilla commands or
they have too high of an abuse potential.
2014-07-27 16:53:21 +02:00
asofold
7c967ab2e2
Add game mode to inspect command.
2014-07-27 16:26:57 +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
67ac214909
Rename Stats to Timings and move to stats package.
2014-07-27 12:13:03 +02:00
asofold
0496f281b7
Add isTrueForAnyConfig, e.g. to check if to register listeners at all.
2014-07-26 22:28:53 +02:00
asofold
126c400813
Ensure copy-on-write is used for worldsMap.
2014-07-26 22:20:48 +02:00
asofold
564ce88132
Fix burstEPM violation + add tags for MorePackets + more lenient burst.
2014-07-26 21:42:56 +02:00
asofold
901b2a45a2
Account for server-side lag with burst packets.
...
Only count as burst, if there was enough lag. Might need adaption to
count lag again for judging the EPM, due to differing window resolution.
2014-07-26 20:49:46 +02:00
MyPictures
584a3d9ab0
Design improvements on Permissions.java
...
- admin.debug is now in the plugin.yml
- all permissions are now in alphabetic order
- aligned every permissions group
- Added additonal comments
2014-07-26 04:19:51 +02:00
MyPictures
d5c7bb7d27
Merge pull request #2 from NoCheatPlus/master
...
Downstream merge
2014-07-26 04:04:32 +02:00
MyPictures
ce339c62bd
Permissions.java cleanup
...
- Replaces all tabulators with spacebars
- Splits Commands to Commands and Auxiliary Commands
- Commands and Auxiliary Commands are ordered alphabetically now
2014-07-26 03:54:44 +02:00
asofold
9f03a3ea06
Add direct burst violations and increase epm limit.
2014-07-26 01:06:58 +02:00
asofold
4eefc0c3ff
Check speeding permission in the end, thus it will apply to all speeds.
...
This way, using the speeding permission as a workaround for all
individual speeds is possible. A player moving faster than default will
likely move faster in web too, and so on. There seems to be little
reason for keeping it confined to walking + sprinting only.
Moving it to the end also allows a quicker return for walking and
sprinting, though that policy might be questionable as well, because
some calculations might use hAllowedDistance, subject to review.
2014-07-25 18:51:18 +02:00
asofold
2257ac2f71
Add exception for MILK_BUCKET.
2014-07-25 15:22:01 +02:00
asofold
552beed739
Add limiting of "bursts" in moving.morepackets.
2014-07-23 23:31:31 +02:00
asofold
039c4b407f
Add configuration to morepackets for "eps", i.e. events per second.
2014-07-21 14:39:17 +02:00
asofold
d5c1e289a9
Count "just look" moves same way.
...
As CB reduces the number of events, this should be fine. The cause of
trouble that lead to skipping these had been elsewhere.
2014-07-21 14:24:06 +02:00
asofold
7de214abae
Only check for lag if there is windows to burn.
2014-07-21 14:22:45 +02:00
asofold
1441859ced
Move the new packet frequency check to a static utility, minor cleanups.
...
* Always use lag.
* Let the morepackets check decide how to treat "just look" events.
* Optimizations.
* Renames.
2014-07-18 15:54:46 +02:00
asofold
3d5bbbbedd
Server-side lag adaption: more strict if there is no lag.
2014-07-18 03:04:32 +02:00
asofold
58a7c15966
Check violation vs. the less strict limit.
2014-07-18 02:33:13 +02:00
asofold
4ee4e6f08d
Don't count empty ones.
2014-07-18 02:25:38 +02:00
asofold
27d35c1208
Not just block changes.
2014-07-18 02:15:49 +02:00
asofold
db7ac2bd80
Only count moving.morepackets on non-zero distances.
2014-07-18 02:05:26 +02:00
asofold
f79c89b45a
MIX UP.
2014-07-18 01:47:55 +02:00
asofold
e3cdd761ec
[BLEEDING] Attempt to make moving.morepackets less strict.
2014-07-18 01:45:58 +02:00
asofold
85a104ed75
[BLEEDING] Switch moving.morepackets to use Actionfrequency.
2014-07-18 00:21:19 +02:00
asofold
7cc936878e
Simplify/optimize morepackets checks.
2014-07-17 20:30:01 +02:00
asofold
b6c146ce64
Remove getKeepAliveTime from MCAccess.
...
It does not seem to become accessible any time soon, while packet level
access allows to fetch it.
2014-07-17 14:33:38 +02:00
asofold
96462dab90
Allow ConfigManager.getConfig... from any thread (copy on write).
...
This allows fast config getting from any thread, without need to know if
it is the main thread.
2014-07-16 14:55:31 +02:00
asofold
7b6305de78
Packet checks adjustments and renaming.
...
* More appropriate names.
SoundDistance
* Plus wither plus dragon.
* Horizontal distance.
2014-07-16 13:50:04 +02:00
asofold
d473f19247
It's THEM.
2014-07-14 23:08:15 +02:00
asofold
39e2a86472
[BLEEDING] Extra method for set-back + reset positions differently.
...
Setting back players on PlayerMoveEvents:
* Reset internal from/to tracking the set-back location.
* Use an extra method for that.
2014-07-14 22:49:37 +02:00
asofold
4ebe911509
Abort ray-tracing if there is no advance. Formatting + numbers.
...
If there is no advance on any axis, loop should be stopped.
2014-07-13 03:19:28 +02:00
asofold
aba5674f6a
Correct log messages.
2014-07-13 01:45:39 +02:00
asofold
aa91a39eea
Some Formatting.
2014-07-13 01:14:17 +02:00
asofold
e09d024101
Un-fix tempkickillegal issue: Do kick if location could not be restored.
2014-07-13 01:13:50 +02:00
asofold
607407d4fa
Fix tempkickillegal setting being ignored.
2014-07-13 00:29:52 +02:00
asofold
74e6844e00
Check child individual child permissions for checks.blockplace.against.
2014-07-06 21:36:18 +02:00
asofold
5d8f77f309
Change "ncp ban ..." command to use the vanilla command.
...
This should be better in case the vanilla command allows UUIDs some day.
At least during testing in uuids did not work, so we added a warning
message if uuids are used for banning.
Using player names for actions should be safe anyway.
2014-06-15 02:57:24 +02:00