Updated-NoCheatPlus / NoCheatPlus

Anti-cheating plugin for Minecraft (1.5-1.20, Bukkit/Spigot)
https://ci.codemc.io/job/Updated-NoCheatPlus/job/Updated-NoCheatPlus/
GNU General Public License v3.0
482 stars 100 forks source link

[FP] [SurvivalFly] Jumping on the lower edge of stairs #154

Closed roccodev closed 3 years ago

roccodev commented 3 years ago

Full output of /ncp version

[03:09:15 INFO]: »Version information«
[03:09:15 INFO]: Server:
[03:09:15 INFO]: git-PaperSpigot-"09d15d8" ~MC: 1.8.8~
[03:09:15 INFO]: Detected: 1.8.8
[03:09:15 INFO]: NoCheatPlus:
[03:09:15 INFO]: Plugin: 3.17-SNAPSHOT-Updated-b116
[03:09:15 INFO]: MCAccess: 1.8.4-1.8.8 / Spigot-CB-1.8_R3
[03:09:15 INFO]: Features:
[03:09:15 INFO]: blocks: BlocksMC1_4, BlocksMC1_5, BlocksMC1_6_1, BlocksMC1_7_2, BlocksMC1_8
[03:09:15 INFO]: checks: FastConsume, Gutenberg, AttackFrequency, FlyingFrequency, KeepAliveFrequency
[03:09:15 INFO]: defaults: pvpKnockBackVelocity
[03:09:15 INFO]: packet-listeners: UseEntityAdapter, MovingFlying, OutgoingPosition, KeepAliveAdapter, SoundDistance, WrongTurnAdapter, CatchAllAdapter, Fight
[03:09:15 INFO]: Hooks:
AllViolations~NCP~ 1.0, ViolationFrequency~NCP~ 1.0
[03:09:15 INFO]: »Related Plugins«
[03:09:15 INFO]: ProtocolLib v4.5.1, ViaVersion v4.0.1

Describe the issue

Jump-running on the lower edge of stairs starts setting back after a short while.

Note: this started occurring in @Lysandr0's fork (relevant Discord conversation), and as far as I can see the change has been merged into this repository at some point.

How to reproduce the issue

Place a row of ~20 stairs and start jump-running along the lower edge, preferably close to the very edge, but that's not required.

Video: https://www.youtube.com/watch?v=WENF2qcF_yo I had amassed some VL so it might take a bit more to start setting back for you.

Any possible config options changed or plugins that may cause interference?

Default config. I was also able to reproduce this on MarkElf's public testing servers.

molor commented 3 years ago

Maybe happens on slabs too, but I can't test this now

Lysandr0 commented 3 years ago

From the video, bunnyhopping seems the problem, rather. We do not sanction players for lowjumping for now, due to this exact problem :) https://github.com/Updated-NoCheatPlus/NoCheatPlus/blob/a1c652f2abca33e25247a4912e333db3d81fe6c6/NCPCore/src/main/java/fr/neatmonster/nocheatplus/checks/moving/player/SurvivalFly.java#L1791

What are the tags displayed for the violation? (Likely hSpeed, but just to be sure)

roccodev commented 3 years ago

@Lysandr0 There are lots of hstairs and groundstep. Here's an excerpt of the log: https://gist.github.com/RoccoDev/76485de9bc828c1b72fd73c61cbaca61

Btw, have you ever considered adding a command or something to see more info in alerts? (stuff like tags, subchecks, etc.)

@molor I can't reproduce on slabs.

Lysandr0 commented 3 years ago

We don't have a command that can directly display more info in NCP's logging stream currently, there are however indirect methods to retrieve useful info about checks and/or players (Namely, placeholders in strings: https://github.com/Updated-NoCheatPlus/Docs/blob/master/Settings/General.md#placeholders) The /ncp inspect [player] command can also be used to display player-specifc info. :p

Regarding the issue: hStairs and GroundStep don't indicate an actual violation per se, they are rather meant to indicate what limit is currently being enforced (if the hStairs limit is exceeded a hSpeed tag will follow etc...). Judging from the log, the bunnyhop model is not being applied when sprintjumping on stairs, as I suspected. Will push a fix attempt soon :)

Lysandr0 commented 3 years ago

Does it look any better with build 117?

roccodev commented 3 years ago

It seems to be resolved in 117.