NoCheatPlus / Issues

Issues managment for the NoCheatPlus project.
13 stars 9 forks source link

2 Block Step #527

Open SplotyCode opened 6 years ago

SplotyCode commented 6 years ago

2 Block scaffold on Ncp b 1143 Here is the Video -> https://www.youtube.com/watch?v=Xq48P8HPsE4 Minute 12:53

Complete output of the ncp version command (please prefer text here).

Unfortunately not possible

How to reproduce the issue (is it random / always happens / side conditions)?

Sometimes Flags or Damage but it works most of the time

Have you made any (noteworthy) changes to the default configuration of NCP?

Default Config

Do you run any other special plugins that affect game mechanics next to NC+ (adding skills, machines, adding/changing blocks, other anti cheating)?

Nope

Provide additional information, such as error/debug/violation logs.

Again not possible

MarkElf commented 6 years ago

Without the output of /ncp version or a debug log (/ncp debug player {name}) and pasting it into pastebin, there is nearly no way to confirm what plugins were run in the linked video, or if any settings were changed to allow for bypasses. If you want to download the client at your own risk and get a debug log, go for it.

0-x-2-2 commented 6 years ago

Step and Scaffold has always worked on ncp I believe and I don't think that is changing anytime soon.

Janmm14 commented 6 years ago

@0-x-2-2 Probably because nobody reports such bypasses with enough detail.

MarkElf commented 6 years ago

Step has always been blocked as far as I remember. With scaffold, if you sprint fast enough, you'd fall after a bit.

asofold commented 6 years ago

Without inspecting the video i'd also assume a 2-block-step to be something different than " stepping up a block two times in a row" :). Of course there is no official naming convention on these things, AFAIK n-block step typically means to take a wall of that height in one step.

If they trigger morepackets after stepping up blocks multiple times, the result could be fall damage, if they get set back to 'seconds before'. There observations are consistent with more than two times stepping up a single block (at least but not limited to).

Priorities i set and detail level of incoming reports influence things a lot - though if it's not come so far, will it take another seven years to "fix"? Perhaps ... :p

SplotyCode commented 6 years ago

It was tested at a big test server called poke.sexy the owner said yesterday he didn't change the config and i don't think other plugins courses this bypass (because it is a popular server). There is a paid and a free version (there the same but it takes a few week unit the bypasses comes in the free client) i will try to test or get the source when the step is in the Free client.

I don't know a another client that has a step that goes over two blocks and i have not seen something like that in the past year.

/ncp version is blocked on the server i asked the owner and he said it is 3.16.1 b1143 if you want a specific value from /ncp version i will ask him again!

asofold commented 6 years ago

Build 1143 is the most recent build of NCP as of now.

"The config" means the default configuration, or 'the config joe gave to me' or ...

It's not unthinkable, if there is a bug with workaround side conditions. If it was a configuration with not always cancelling violations for survivalfly, it'd be more easy to write a bypass for such a one.

SplotyCode commented 6 years ago

The config means the default config that ncp generates. Unfortunately the client now runs on the client launcher and it don't run on linux systems.

asofold commented 6 years ago

Could/should monitor distances taken in-air better, plus velocity and the like. Then it could be deduced if something odd happened, and at least some warning could be logged. Concerning reaching places higher than jump height, there might be a workaround or two that could use more confinement, using the more precise data that ncp is now gathering internally.

In case of spider-like cheats, the on-ground judgement might also have some weakness with upper edges of walls. E.g. you can stand and somewhat move with feet inside of blocks, when the head is free - workarounds for this might allow too much on the highest block of a wall, coming from the side, as with spider/"2 block step". Might also have some other oddity involved, like vanilla server side "position correction", with Bukkit events not firing for very small moves, or a workaround with too broad side conditions within NCP .

0-x-2-2 commented 6 years ago

the poke server or whatever has multi-able anti-cheats installed at once don't know if that could cause anything tho

asofold commented 6 years ago

Running multiple anti cheats at the same time can make any results meaningless. E.g. multiple moving/flying/noclip checks can interfere on how they set back, such that the internals of one plugin get corrupted by the other plugin setting back a player. Set-backs may be handled differently (to ground below, to last valid ground position, in-air, ..), and bugs in one plugin can affect what happens then, e.g. a plugin setting the set-back location to slightly inside the wall, because they check the position in-between moving events (!) and the player has moved slightly into the wall with a 'micro move' that doesn't lead to Bukkit events firing - in that case a violation detected by that plugin would teleport the player slightly into the wall ("onto ground", because they're standing on one block, and despite foot level being clipped into a block, their head is free), thus other anti cheating plugins probably accept that position then and they can just jump upwards - of course that's done fast and hardly visible, possibly a violation is not logged because it's too small.

That's all speculation of course - it can still be a bug in NCP...

Of course you could attempt to configure multiple anti cheating plugins such that they don't interfere with each other, e.g. enabling each type of check/check-group only for one plugin exclusively, while deactivating it for all the other ones. That can be more or less easy, depending on how interlinked checks are (common data, checks that are named differently can trigger effects on ... moving/whatever). Edit: Check-groups means, you can't enable noclip for one plugin and anti-fly or speed for another one ...

itsTyrion commented 6 years ago

Hey, I'm not sure, if this is helping too much, but I thought I'd submit it, won't do any harm ;) I just tested this @ localhost with a fresh copy of NCP, and the vanilla config(Well, obviously I enabled "logging.allviolations")

output(violation log taken from console) and ncp version output: https://hastebin.com/uhamidofut

Video: https://youtu.be/IVDgr4EANdU (I can not guarantee that I normally wouldn't have taken damage, I set it to be canceled on that testserver, I could re-record without touching that(and maybe debug, not now though, local time says 1 am...)

asofold commented 6 years ago

@BlackHawk2306 Do you have access to a client that can take a 2-block-high wall, or is it just stepping up block by block (fast)?

In any case a debug log would be most useful, for the latest development builds:

Instead of yes, you could also confine debugging (which in case of moving issues doesn't really save much bandwidth): yes:moving:net

SplotyCode commented 6 years ago

Okay i reprogrammed it and it bypasses.... Should i just send the source code here? I mean some hack clients may copy it. I know that his is working diffrently. https://www.youtube.com/watch?v=jxR-D9WxeNk&feature=youtu.be

asofold commented 6 years ago

Interesting.

Actually, for a faster fix, a debug log of the cheat being used a couple of times would be best.

I would also prefer to see, what the cheat can do against a clean wall, where you don't have 1 block height next to 3 block height., because technically it wouldn't be much of a deal to (somewhat) legitimately ascend sideways onto one block height and then take the remaining 2 blocks, so it's not a 100% convincing 3 block step/thing. I do have some indicators for where to look at, but a debug log and test of capability vs clean walls of one height for comparison would help a lot here.

asofold commented 6 years ago

As i said, a debug log would complement the information, as it would reveal which workarounds have been used, for one example.

My current assumption is, that a workaround may trigger that is extending the bounding box horizontally. It would be consistent with 2-block step and with 3-blocks with 1-block next to it (extended bounding box would use the single block to make level 1 ground and then 2-block step. The second highest block may be seen on as ground due to another type of workaround (being inside blocks with head free).

At least that would be plausible :p - currently am busy with 1.13 - once on it, there are several directions to check and refine things.