-
Notifications
You must be signed in to change notification settings - Fork 282
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
EqualsRotate Check #47
base: master
Are you sure you want to change the base?
Conversation
It will detect wurst instantly. |
@Janmm14 Okay at least it detect few clients |
Oops. I have a commit in the Pull Request that i don't want to pull. |
interactive rebase -> remove commit -> force push |
Thanks |
If this is deterministic it doesn't hurt to have, though. I'll have to rstudy the code more closely :) - the question is, if initialization needs to be redone on login, which i can add ~something like NetData.playerJoins or the like, not sure it's implemented at all. I'd also initialize to impossible values (infinity perhaps) or use a flag for invalidating simply. Currently i have a larger batch of uncommitted changes, so i either will have to do a (minor) merge, or i'll ask you to update to the latest, once committed. Mainly it's infrastructural, like storing configurations and check activation flags elsewhere. Just give me one or two days... Oh, and thank you for the contribution :) - it's probably the first complete check ever contributed +-. |
I think a teleport check is missing, but I'm unsure. |
|
||
public final EqualsRotate equalsRotate = new EqualsRotate(); | ||
|
||
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why ignoreCancelled?
There might be the ominous .silent permission missing in config.yml, but that's cleary secondary. EDIT: NetListener (general - read 'HOWEVER' below too!):
HOWEVER:
Teleport handling:
|
So for the short term continuation:
For debug logging PacketAdapter and Check provide debug(player), but for temporary debugging messages it may be feasible to just use DebugUtil.debug(....), because the import allows easy overview, if it should be removed for production or not. |
Internal changes almost got a little out of hand, resembling a data storage overhaul. Up to now almost all use of 'runtime API' has been adapted, however i still have to put in internal storage and registry implementation and some mechanics like propagating changes from the default world data to inherited instances. PlayerData will have a generic cache for both data and configuration and query factories and a proxy registry (IWorldData) on a miss, depending on registration. Registry will also take care of routing certain typical events to data, e.g. world change, world unload, join, leave. After re-doing some of the overall data manipulation stuff, it'll probably compile and possibly even work for testing again. |
Are you done with the overall data manipulation stuff? |
Oh yes, i'm done, at least it compiles. Now 1.13 will demand more changes (...). If you're still up to this, fell free to adapt to the current data and configuration handling - we should also ensure to use the teleport-ack logic in the MovingFlying class (teleport might lead to an extra packet repeating the position). |
There are 3 Types of Move Packets that a Player can send.
C06PacketPlayerPosLook
C04PacketPlayerPosition
C05PacketPlayerLook
PosLook and Look will only be send if the Yaw or the Pitch changed.
EqualsRotate will check if the Yaw or the Pitch changed.
What will the check prevent?
Some Clients don't care about this Rule.
It can Prevent Tomer, Scaffold, Killaura, Aimassist, BowAimbot and so on.