Core/Packets: Remove MOVEMENTFLAG_ROOT flag from movementinfo that is sent from client to server. This flag is not valid in this case and is a packet spoofing attempt. When used in conjunction with any of the moving movement flags such as MOVEMENTFLAG_FORWARD this will freeze surrounding clients that receive the cheater's movementinfo.
Thanks to Dvlpr for help with research.
This commit is contained in:
@@ -754,6 +754,12 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo *mi)
|
||||
|
||||
if (mi->HasMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION))
|
||||
data >> mi->splineElevation;
|
||||
|
||||
// This must be a packet spoofing attempt. MOVEMENTFLAG_ROOT sent from the client is not valid,
|
||||
// and when used in conjunction with any of the moving movement flags such as MOVEMENTFLAG_FORWARD
|
||||
// it will freeze clients that receive this player's movement info.
|
||||
if (mi->HasMovementFlag(MOVEMENTFLAG_ROOT))
|
||||
mi->flags &= ~MOVEMENTFLAG_ROOT;
|
||||
}
|
||||
|
||||
void WorldSession::WriteMovementInfo(WorldPacket *data, MovementInfo *mi)
|
||||
|
||||
Reference in New Issue
Block a user