Commit Graph

374 Commits

Author SHA1 Message Date
Evenprime
f3663d07aa Use player.getHealth() instead of player.isDead() because the latter
is broken in MC 1.0.0
2011-11-24 22:06:26 +01:00
Evenprime
35f30e3b53 Fixed default distance limits for "Reach" checks to new, bigger
values + removed a debug output line that I forgot to remove before
2011-11-23 23:00:09 +01:00
Evenprime
48d6c141ca Only show version warning if an unsupported CraftBukkit version is
used + real MC 1.0.0 support without losing MC 1.8.1 Beta support.
2011-11-23 19:23:16 +01:00
Evenprime
36b97f246a Workaround for problems with MC 1.0 (broken check gets deactivated
automatically now) + v 2.16d
2011-11-23 14:51:42 +01:00
Evenprime
0459235c43 A bit of refactoring, maybe fixed the "can't edit config file" bug,
handle MC 1.0 versions better.
2011-11-23 14:37:20 +01:00
Evenprime
79d545f5e3 Now we use Maven - plugin description/website added to
plugin.yml - a bit of missing whitespace formatting
2011-11-19 00:41:57 +01:00
Evenprime
d502f66472 Potential fix for all those "player can no longer do X" problems 2011-11-18 02:34:33 +01:00
Evenprime
8401d26d6d Fix players in minecarts and reach in creativemode 2011-11-18 00:45:19 +01:00
Evenprime
6063b319a7 clean up some additional data 2011-11-16 16:18:19 +01:00
Evenprime
5cf84693b9 Minor security fix for player management and timerelated problems 2011-11-16 15:28:34 +01:00
Evenprime
2c621e14c1 Added two saveguards designed a special situation related to system
time changes in the wrong moment. Minor modification to sprinting for
debugging purposes.
2011-11-16 15:13:07 +01:00
Evenprime
cb2c3ceba6 Some renaming and code moving to be more consistent 2011-11-16 02:06:06 +01:00
Evenprime
e853eac486 Fix two common mistakes by other plugins (cancelling move
events and cancelling toggle sprint events)
2011-11-15 17:05:06 +01:00
Evenprime
5a02e78888 Removed debug output and some unnecessary code 2011-11-15 14:59:27 +01:00
Evenprime
fb5225fac5 Simpler access to isSprinting() and getGameMode() 2011-11-15 14:42:02 +01:00
Evenprime
c5806da644 Reintroduced discarding of player data after 1 minute of inactivity 2011-11-14 00:16:46 +01:00
Evenprime
3c44445d9b Less sensitive godmode check, bugfixes for log messages, better check
names
2011-11-14 00:00:06 +01:00
Evenprime
cfd8661f3f Make sure we only listen to direct attacks and no other types of
damage
2011-11-13 22:13:24 +01:00
Evenprime
17dac93056 Bugfixes and code style changes 2011-11-08 17:12:07 +01:00
Evenprime
40f187b55c Reintroduced Performance measurement and fixed casting bug in
moveEventHandling
2011-11-08 16:15:16 +01:00
Evenprime
3ce696ee1f Nicer handling of events 2011-11-08 15:30:23 +01:00
Evenprime
ae8cacb97b Massive rewrite part 1: Inheritance between checks, less entanglement
between
components, introduce "NoCheatPlayer" class for easier access to data
and configuration
2011-11-06 21:08:22 +01:00
Evenprime
f04be42eb2 Removed "onliquid" check 2011-11-06 11:27:06 +01:00
Evenprime
fa1f7cfc06 Godmode check changes to tick counting (more permissive now)
Permission sorting in output of "nocheat permlist" improved (again)
2011-11-02 19:26:26 +01:00
Evenprime
666a52bf73 Minor changes to default settings of new blockplace.direction check 2011-10-30 20:41:11 +01:00
Evenprime
04ec82eef6 Fix cancelling of bukkit task, moving around some things, use
"SimpleLocation" instead of Block in blockplaced checks.
2011-10-30 20:35:59 +01:00
Evenprime
99a197607b Removed blockplace.noswing check, because it causes problems
Added blockplace.direction check
2011-10-30 20:15:03 +01:00
Evenprime
71b53892c4 Added missing output for "active checks per world" 2011-10-30 19:03:00 +01:00
Evenprime
ad6b7b49a1 Sort permissions for permlist command alphabetically 2011-10-30 18:59:25 +01:00
Evenprime
b6d6ea58f4 Implemented NoSwing checks for blockbreak, blockplace and fight 2011-10-30 18:56:29 +01:00
Evenprime
a1286cb966 Minor safety improvement for godmode check 2011-10-30 17:29:45 +01:00
Evenprime
70d5bc48f2 Dead people are ignored by the godmode check 2011-10-26 16:39:00 +02:00
Evenprime
de16694698 Remove "timedEventManager" task when disabled, avoid using
"server.getOnlinePlayers()" because it's a performance hog.
Updated plugin.yml
2011-10-25 18:58:35 +02:00
Evenprime
d31525ba3a new check "timed.godmode" with config etc. 2011-10-25 17:32:10 +02:00
Evenprime
67b5505d04 Prevent amplification of violation level for moving check(s) in case
of only logging violations instead of cancelling them.
2011-10-23 21:20:17 +02:00
Evenprime
15e5367175 Make removal of unused playerdata more predictable and independent of
JOIN/LEAVE events.
2011-10-23 16:05:18 +02:00
Evenprime
a6ae2d1e90 Don't allow people to hit themself with close-combat weapons/punches
Some changes to default config (again).
2011-10-22 17:03:45 +02:00
Evenprime
3a0413b082 more little improvements and changed default configuration 2011-10-21 21:22:45 +02:00
Evenprime
0687d6c78c Lots of minor optimizations to avoid creation of new objects if not
necessary and stop referencing bukkit objects beyond the scope of
events.
2011-10-21 20:14:21 +02:00
Evenprime
0225c73a51 Respect the "MobEffect" speed increase for players (for compatibility
with Heroes plugin).
2011-10-21 16:03:20 +02:00
Evenprime
e9aceb4fef Changed some default settings 2011-10-20 16:45:41 +02:00
Evenprime
247e5d082b Prevent sprinting if food level is below 6. More descriptive error
message for runfly check
2011-10-20 15:20:17 +02:00
Evenprime
2b4eccf4a1 Move stuff out of NoCheat.java into seperate classes 2011-10-19 18:12:35 +02:00
Evenprime
ca2da0d6b4 Lag detection in seperate thread, bugfix for blockbreak direction
check and code refactoring to reduce complexity
2011-10-19 17:34:59 +02:00
Evenprime
d917242683 spamcheck message/command whitelist 2011-10-18 15:58:14 +02:00
Evenprime
3fc80cbad2 minor change 2011-10-18 15:01:42 +02:00
Evenprime
08ef299290 Colors! And getting kicked for extensive (command) spamming by default
now
2011-10-17 21:22:26 +02:00
Evenprime
c87f99262e Expanded the idea of having timeouts to the blockbreak direction
check.
2011-10-17 20:18:54 +02:00
Evenprime
2c27063b75 Some refactoring to lessen class dependencies, reduce number of
parameters and duplicate code
2011-10-16 19:57:05 +02:00
Evenprime
14642564b6 Fixed typo in config "alkingspeedlimit"->"walkingspeedlimit" 2011-10-15 16:05:36 +02:00
Evenprime
9bbdfc59da Make fight.direction check violation level depend on how far off
players were with their hits vs. their line of sight.
2011-10-15 15:48:58 +02:00
Evenprime
a0024d0737 Refactoring, code cleanup, moved executionHistories to "data" 2011-10-14 18:44:56 +02:00
Evenprime
0b04b7d43f Further refined default settings to reduce log spam 2011-10-14 16:25:40 +02:00
Evenprime
bbec08d34d Get rid of the own implementation of ConsoleCommandSender in favour of
using the servers ConsoleCommandSender.
2011-10-14 16:04:16 +02:00
Evenprime
033fad0f54 Only remove part of the data for players immediatly after they logout,
and keep the rest for 1 minute in case they come back.
2011-10-14 15:56:24 +02:00
Evenprime
9a7bffcc1f Further configuration options for the fight.direction check 2011-10-14 15:19:13 +02:00
Evenprime
37e9f2ff62 Make fight.direction check depend (partly) on entity dimensions 2011-10-13 23:32:33 +02:00
Evenprime
bcf0b89915 Basic fight.direction check to identify "kill-aura"/"forcefield" hacks 2011-10-13 14:55:48 +02:00
Evenprime
ae86381ade New command "nocheat performance" to display performance stats
Minor code cleanup
2011-10-11 18:21:39 +02:00
Evenprime
6a5a9e0834 Moved and renamed "ActionManager" to "ActionMapper", as that's what it
does
2011-10-11 16:12:32 +02:00
Evenprime
747e5bcdce Another round of code cleaning, simplification
Fixed nocheat reload command to give feedback and clear critical data
Remove stored data when a player disconnects
2011-10-10 19:27:45 +02:00
Evenprime
4309c70a39 reset data objects too when using "nocheat reload" 2011-10-10 02:49:41 +02:00
Evenprime
7186f26504 give positive feedback if the "reload" command was used 2011-10-10 02:37:40 +02:00
Evenprime
e93f501271 Removed player interact infinite durability check, as the exploit is
now fixed by bukkit itself.
2011-10-10 02:20:20 +02:00
Evenprime
a8342b0681 Complete rewrite of internal configuration and action execution system
for performance
removed noclip check,  itemdrop check andgui editor
2011-10-10 02:00:47 +02:00
Evenprime
3d28e5738f - Refined "nofall" check, to only "punish" for the perceived
difference in fall distances
- slightly modified falldamage calculation in general, to always count
the "last step" as part of the fall (fixes a loophole that could be
used for bypassing the nofall check)
- replaced default nofall damage multiplier with 120 (was 200)
2011-10-03 18:23:33 +02:00
Evenprime
e67a1f2c0c Fixed spamcheck + also count commands 2011-10-02 17:07:29 +02:00
Evenprime
75050efbbd Option to automatically identify "creative" mode or not for flying
Option to also check "instant-breaking" blocks for
blockbreak.direction
2011-10-02 08:14:03 +02:00
Evenprime
3895ff029f Add command "/nocheat permlist" to display the effective permissions
of a certain player.
2011-09-26 20:07:59 +02:00
Evenprime
6f56ae77a8 Update to 7.0a 2011-09-25 11:11:47 +02:00
Evenprime
8b5f26f4b1 Find out what name the "isSprinting()" method has at runtime 2011-09-25 11:01:17 +02:00
Evenprime
dad338db65 fix onliquid check
clear internal fall damage counter if players get new velocity
assigned
2011-09-25 10:33:42 +02:00
Evenprime
4569546b3a - Updated permissions descriptions to simpler format
- more info from "onliquid" check
- fixed bug in "chat.spam" check
2011-09-22 19:44:08 +02:00
Evenprime
d435f7ab3c Enabled blockbreak.distance check for creative mode again, because the
server doesn't handle it.
2011-09-21 20:00:56 +02:00
Evenprime
e63d90e4cd Modified nofall check. Let the game decide if and when to do the
damage, we just set the "fallDistance".
2011-09-20 18:41:15 +02:00
Evenprime
de4acaa8c7 Adapted name of nofall action to better reflect what it does (deal
damage)
2011-09-19 20:31:31 +02:00
Evenprime
33bb52b46d Update "check" list 2011-09-19 20:23:45 +02:00
Evenprime
3724525f89 Final changes and adaptations for the new nofall check 2011-09-19 20:20:18 +02:00
Evenprime
1ac3c524e5 NoFallCheck implementation 2011-09-19 19:28:56 +02:00
Evenprime
41a09ea5ae + Refactoring of movement check to be more clear about what it does
+ Workarounds for bug in Minecraft related to jumping while sprinting
+ potential workarounds for plugins that cancel
  teleportation-related events on "monitor" level
+ fix a bug that would allow a player to fly at the same level of
height infinitely
+ Deactivate blockbreak.reach check for players in creative mode
2011-09-17 15:28:19 +02:00
Evenprime
3e344be924 Players that are in creative mode are always allowed to fly with
default "creative-mode-speed".
2011-09-16 16:05:42 +02:00
Evenprime
3943812b8c Rewritten "onliquid" check to maybe avoid problems some people have 2011-09-15 22:02:54 +02:00
Evenprime
248a4867a6 + rudimentary support for sprinting players 2011-09-15 13:28:58 +02:00
Evenprime
d280bc4f7d + option to turn world-check-list on startup on or off 2011-09-15 13:03:53 +02:00
Evenprime
80b3718993 Move chat.spam check from "high" to "lowest" listener level, to
support HeroChat and similar.
2011-09-14 15:06:37 +02:00
Evenprime
8442194f3c Fix missing option descriptions + fix formatting of plugin.yml 2011-09-12 00:22:56 +02:00
Evenprime
0264eb97d5 Display which checks are active in which world on startup 2011-09-11 20:17:51 +02:00
Evenprime
1480ebb3db New check "chat.spam" with configuration and permissions 2011-09-11 19:07:38 +02:00
Evenprime
ad92e67256 Fix (harmless) NPE in case of portal usage with disabled nether. 2011-09-10 18:53:16 +02:00
Evenprime
fbd078209c Prevent dupe exploit in combination with .drop protection 2011-09-07 17:37:47 +02:00
Evenprime
5b56fc7302 - Some code cleanup
- measure serverside lag in a seperate thread, once per second
- (Server) lag resistant "more packets" check
- minor adjustments to default config settings
- fixed a bug that would deactivate the durability check if the
morepackets check got deactivated
2011-09-03 19:05:59 +02:00
Evenprime
c0a124ac61 Create folders for action-files, if they don't exist yet 2011-09-03 01:33:45 +02:00
Evenprime
0283ded357 - Respect -p parameter of craftbukkit (plugin directory)
- "logfile" config option is now relative to the Nocheat/ folder,
instead of relative to the craftBukkit folder.
- new check blockplace.reach: limit distance at which blocks may be
placed
- new check blockplace.liquid: don't allow block placing onto liquids
- new permission nodes and config options for the new checks
2011-09-02 19:33:32 +02:00
Evenprime
848d2b3623 Added infinite durability hack check
Deactivated parts of the NoClip check, until I can work on it
2011-09-01 14:08:48 +02:00
Evenprime
92620c4fd4 NoCheat 2.0 initial Commit 2011-08-31 15:26:07 +02:00
Evenprime
6d0da77e7d Use SuperPerms if "Permissions" plugin isn't found 2011-08-23 22:42:36 +02:00
Evenprime
911d62a411 Workaround for placing blocks below yourself 2011-08-22 13:39:03 +02:00
Evenprime
6a7e7d239f Try to make speedhack ignore "cancelled" move events. 2011-08-21 14:37:21 +02:00
Evenprime
0284f5be3f More stuff for infinitedurability check: cancel using of items, choose
if to log or not. Only log once every 5 seconds.
2011-08-20 22:46:24 +02:00
Evenprime
c207f6ce94 Fix the fix for cancelled move events. Rather use the real player
location than the faulty "from" location as a new setback point.
2011-08-20 22:10:13 +02:00
Evenprime
bc35207828 Detect and kick players that activate the infinite durability hack 2011-08-20 21:33:47 +02:00
Evenprime
624e04393f Fixed behaviour of ladders that don't fully connect to the ground 2011-08-20 20:00:43 +02:00
Evenprime
d23f38ebd1 Fixed water on top of player behaviour + Fixed behaviour in case of
cancelled move-events
2011-08-20 15:51:55 +02:00
Evenprime
6033ee47e5 Fixed fences and halfblocks behaviour + make "enforceteleport" true by
default
2011-08-19 20:39:40 +02:00
Evenprime
f13c35ed59 Fixed movement check to reduce false positives/increase accuracy
(again)
2011-08-17 17:01:24 +02:00
Evenprime
d9985e1721 Fix false positives when jumping down half-blocks/stairs 2011-08-17 14:10:22 +02:00
Evenprime
3d338d5a65 Fixed a NPE with Nether portals in case that nether=false and
therefore the "to" location is null
2011-08-16 23:23:19 +02:00
Evenprime
0afa1d90f7 Display message(s) of the day before loading the rest of the plugin. 2011-08-09 18:39:27 +02:00
Evenprime
7e0721da98 Removed no longer needed workarounds + lots of code formatting 2011-08-09 15:58:05 +02:00
Evenprime
33e9c46716 Updated for CB #1046. Use new PlayerVelocity event + adapt to new
player move events + use new method to find out if "allow-flight" was
set.
2011-08-09 08:32:37 +02:00
Evenprime
91c77a1aab Removed redundant code, made waterelevators option work again 2011-08-08 20:51:20 +02:00
Evenprime
5485f1e090 Fix bug related to beds and make flying/jumping check a bit more
precise.
2011-08-08 18:25:19 +02:00
Evenprime
c08e8f0edf Fixed loophole that would allow players to bypass NoCheat for one move
when leaving vehicles.
2011-07-26 19:43:21 +02:00
Evenprime
6bdec962b2 Fix for strange bug preventing people (sometimes) from walking down
over ledges/stairs.
Changed behaviour if players are allowed to fly but seem to fly too
fast.
2011-07-23 19:42:38 +02:00
Evenprime
b8e3aeabd4 Consider all unknown blocks as "Solid" instead of "Nonsolid" 2011-07-23 14:26:20 +02:00
Evenprime
cd99a78718 Added new Permissions support, and defined permissions in plugin.yml
Added Tips-and-Tricks on startup
2011-07-18 17:18:26 +02:00
Evenprime
c438eee164 Option to set movement speed limits 2011-07-17 17:16:08 +02:00
Evenprime
ee1ae892eb Prevent the creation of new tasks while disabling the plugin 2011-07-17 07:45:38 +02:00
Evenprime
c5ec73b1f4 Fixed compatibility with Superjump plugin (and reduced false positives
in other cases)
2011-07-16 15:10:48 +02:00
Evenprime
68591702cb Another potential fix for spawn problems 2011-07-15 21:37:48 +02:00
Evenprime
978afb76cf Added option to set time between summaries 2011-07-14 06:53:44 +02:00
Evenprime
243cea5102 Fixed respawning (again) 2011-07-13 01:15:10 +02:00
Evenprime
ad78a91aab Fixed some problematic cases with teleports
Replaced flight-check completely with newer version
Fixed descriptions.txt file not getting automatically generated as
promised
2011-07-11 15:34:32 +02:00
Evenprime
0dea0c0285 further refinement of threshold values for moving check 2011-07-10 11:41:37 +02:00
Evenprime
62592a3580 Fixed moving check to be much stricter on sprinting mods and similar 2011-07-10 11:23:55 +02:00
Evenprime
25ab6a6659 Added option to limit reach for block destruction + configuration file
will get default values for missing boolean options instead of always
false.
2011-07-09 18:32:07 +02:00
Evenprime
be9a728eda Custom commands can now execute plugin commands too + made nukeCheck
a bit more reliable and faster
2011-07-09 16:14:20 +02:00
Evenprime
67c8ca13d1 Experimental "nuke" protection 2011-07-08 20:14:54 +02:00
Evenprime
8729400be5 Fixed Respawning 2011-07-05 16:29:19 +02:00
Evenprime
9406961f05 Fixed a rare exception in moving check if a teleport destination
isn't in the same world as the player.
2011-07-04 00:27:57 +02:00
Evenprime
272f2d410c Fixed teleports (for real this time) by completely rewriting how they
are handled.
2011-07-03 13:06:17 +02:00
Evenprime
c3b6148245 Adapted to CB 950+: Fixed teleports, reduced false positives while
moving/jumping around randomly.
2011-07-01 10:51:25 +02:00
Evenprime
a4bb515ee0 Potential fix(es) for flying after respawning 2011-06-30 13:30:00 +02:00
Evenprime
61d89d78d8 Removed Bedteleport check, workaround for bogusitems pickup check
(bukkit has a nasty bug here), adapted moving and speedhack check for
new system.
2011-06-24 14:10:54 +02:00
Evenprime
669f730fd4 Fix for vehicles 2011-06-24 13:41:48 +02:00
Evenprime
ed14d23f25 Got rid of respawn and worldchanged workarounds in favour of more
generic ways to handle that.
2011-06-19 12:17:20 +02:00
Evenprime
7598cecdc9 Fixed behaviour of new checkops options (was inverted before)
Made speedhack check a bit less strict in case of server lag, and
server lag measurement more useful.
Made descriptions for options easier to use
2011-06-19 11:47:52 +02:00
Evenprime
65ed8d4da6 No longer replace the nice [keywords] with their e.g. ugly %3$.1f
counterparts in the config file.
2011-06-18 18:15:05 +02:00
Evenprime
fda8ae4c06 Descriptions are now stored to a file descriptions.txt every time the
GUI or the plugin get started.
The config file gets overwritten every time the GUI or the plugin get
started, to automatically remove no longer valid options and/or add
newly available options to it.
2011-06-18 17:40:27 +02:00
Evenprime
a37daefa63 Minor change to recently added teleport enforcing to (hopefully) be
pre and post #888 compatible for now.
2011-06-18 16:54:17 +02:00
Evenprime
1ddd1ca6c9 Lengthy descriptions for every option of the config file,
nicely integrated into the GUI config tool.
2011-06-18 16:49:02 +02:00
Evenprime
1de43ec782 "Help" buttons for GUI configuration program
Started implementing additional options for:
- forcing checks of OPs (in case Permissions plugin is not
available)
- enforcing teleports initialized by NoCheat to be successful
(overriding cancels of other plugins)
2011-06-17 21:45:57 +02:00
Evenprime
2fa4beb656 Show warning about disfunctional Permissions plugin (at most) every 60
seconds instead of just once.
Shutdown ALL async tasks properly (missed one)
Added new keyword "[distance]" for moving violation messages
2011-06-15 16:02:20 +02:00
Evenprime
bfae43effc A little bit improved handling of velocity-changing plugins
Potential fix for respawn-events with changed respawn-location
2011-06-13 20:55:55 +02:00
Evenprime
84c8e98054 Potential fix for World<->Nether teleports
Potential fix for Vehicle destruction problems
2011-06-12 11:35:03 +02:00
Evenprime
2c8de34864 Removed Itemdupe check (no longer needed)
Readded water ladder support (optional by config file)
2011-06-06 20:58:57 +02:00
Evenprime
a039edcfaf Use soft dependencies to request loading of Permissions and CraftIRC
before NoCheat
2011-06-06 19:57:59 +02:00
Evenprime
30622e9235 New permission "fastswim" and config option "allowfastswim" to
accompany the new moving-check feature.
2011-06-06 18:44:42 +02:00
Evenprime
7945496e79 Only allow a reduced max movement speed in water 2011-06-06 17:57:33 +02:00
Evenprime
81b4d7160e Differentiate between LIQUID and SOLID blocks when determining if a
player is on ground or in the air.
2011-06-06 17:04:20 +02:00