Revert "antihacks: Patch fast/teleport vulnerability when attached to an entity"
* This reverts commit d99faef084aa89741b9192414fcb6c6d7785fa22. due unable to have the required structure of the more advanced code so leave as is and impleent antihacks into mods (in any case, this hack only if for x/z axis, not for y axis
This commit is contained in:
parent
d99faef084
commit
32fd156585
@ -1373,34 +1373,12 @@ std::string PlayerSAO::getPropertyPacket()
|
|||||||
|
|
||||||
bool PlayerSAO::checkMovementCheat()
|
bool PlayerSAO::checkMovementCheat()
|
||||||
{
|
{
|
||||||
if (m_is_singleplayer ||
|
if (isAttached() || m_is_singleplayer ||
|
||||||
g_settings->getBool("disable_anticheat")) {
|
g_settings->getBool("disable_anticheat")) {
|
||||||
m_last_good_position = m_base_position;
|
m_last_good_position = m_base_position;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (UnitSAO *parent = dynamic_cast<UnitSAO *>(getParent())) {
|
|
||||||
v3f attachment_pos;
|
|
||||||
{
|
|
||||||
int parent_id;
|
|
||||||
std::string bone;
|
|
||||||
v3f attachment_rot;
|
|
||||||
getAttachment(&parent_id, &bone, &attachment_pos, &attachment_rot);
|
|
||||||
}
|
|
||||||
|
|
||||||
v3f parent_pos = parent->getBasePosition();
|
|
||||||
f32 diff = m_base_position.getDistanceFromSQ(parent_pos) - attachment_pos.getLengthSQ();
|
|
||||||
const f32 maxdiff = 4.0f * BS; // fair trade-off value for various latencies
|
|
||||||
|
|
||||||
if (diff > maxdiff * maxdiff) {
|
|
||||||
setBasePosition(parent_pos);
|
|
||||||
actionstream << "Server: " << m_player->getName()
|
|
||||||
<< " moved away from parent; diff=" << sqrtf(diff) / BS
|
|
||||||
<< " resetting position." << std::endl;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
// Player movement is locked to the entity. Skip further checks
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
bool cheated = false;
|
bool cheated = false;
|
||||||
/*
|
/*
|
||||||
Check player movements
|
Check player movements
|
||||||
|
Loading…
x
Reference in New Issue
Block a user