-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Self damage (speeding, ?) #338
Comments
thanks for breaking my speed, Pascal. |
Everyone cares dude. |
Self damage does hurt a bit. What is it used for these days? Just speeding? |
flying, speeding |
I'd love to see debug logs, specifically for flying (latest NCP on Jenkins rather)... |
No longer flying, just speeding |
@Jonesdj1 Are you retarded? You need to give yourself damage(less than half a heart) and then you can speed for a long time, then damage again. No need of "spam damage" retard lol. And when you have armor you don't even notice the damage. |
Don't type too fast people :). EDIT: this is the open ticket. Arrows may deal more damage and are less accurate, because theyre done server side. A pre-planned course could account for arrows, but it's way more complicated to do than with other methods that work on-ground. Shooting arrows might also get cancelled if there is some networking congestion. I'd assume abusing NCP/Vanilla fall height accumulation or similar would be more efficient. Actually the method depicted above looks like abusing vanilla fall damage, which we probably can prevent in not so difficult to do ways. NCP will always use the maximum of the three:
The NCP part deterministically will reset on-ground or with vanilla triggering fall damage events. Obviously vanilla fall damage is possible to accumulate with onground=false. This should be the direction to investigate - do (practicable) methods use vanilla fall damage only? |
@Jonesdj1 The autism is too strong |
Please don't keep insulting each other (potentially, please neither use the term autism inappropriately), keep it on topic. Instead please read my post above :). |
@asofold having onground=false should cause ncp to check whether the player is onground actually and change the onground flag in the packet if its wrong (still consider that onground is sent after y calculation by the client with old x and z values) |
@Janmm14 Nope. The ongroujnd=false is received with packets, asynchronously to the primary thread. Accessing the map there may yield a different state to when the packets are processed, furthermore i wouldn't count on it being/staying thread-safe in the first place. The Bukkit methods are not thread-safe so forget about those in the first place. We do store contents of moving packets, in theory we could try to synchronize between packets and moving events, so we get the additional information. Unfortunately the CRaftBukkit implementation doesn't put through all events (and we rely on CB doing it that way by now). So achieving precision there is problematic. Now with less precision, we could still check past packets, e.g. on damage events or on dealing damage, so we could in theory estimate if it's been real cheating. In any case the first step should be to rather completely ignore the Bukkit/Vanilla fall height accounting rather. That would perform better and mitigate the issue (supposedly). Again this is rather protection than detection. |
@Jonesdj1 I did not spend more than 15 euros on any plugin on spigotmc. |
It's just not possible in a direct way. The vanilla client even sometimes delivers inconsistent data, or at least data that results from whatnot many workarounds of which the packet tells us nothing. So the simplest way of mitigating should be to ignore MC fall height, which is what i'll implement first. I'll make it configurable, activated by default. Not sure if i need to aggressively set fall damage to 0 for some cases, though :). Perhaps this even gives us a heuristic for this cheat, even without touching the packet level. |
Yea ignore mc nofall and calculate it by your own, best way. |
Fall damage is adjusted or cancelled, if the Minecraft fall distance is greater than the distance(s) tracked by NCP (per move diffs, maximum y). Intention is to prevent (speeding by) self damage by abusing Minecraft dealing fall for untracked moves. Issue: NoCheatPlus/Issues#338
How does this look with build 1049? |
Alright, it's fixed. Thanks a lot |
Closing as fixed then. Hope nothing was overlooked. |
Unable to reproduce on the latest build, good job! 👏 |
damage is vry big hake you can fly with it pls help |
wait y u patch it? what if I needed to kill myself plshelp |
All those kids have a speed by giving themself damage each few seconds.
Here is one self damage method:
fix it please, thanks.
The text was updated successfully, but these errors were encountered: