fix(Core): Instance Reset Exploit Fix (#12459)

* fix(Core): Fix Instance Reset Exploit

* Whitespace fix

* Remove unnecessary include

* Check player instance save IDs when adding to map

* Only compare playerBind during login
This commit is contained in:
ZhengPeiRu21
2022-07-24 11:37:42 -06:00
committed by GitHub
parent 33d0321a02
commit 631686be7e
2 changed files with 8 additions and 2 deletions

View File

@@ -2959,6 +2959,11 @@ bool InstanceMap::AddPlayerToMap(Player* player)
return false;
}
}
else if (player->GetSession()->PlayerLoading() && playerBind && playerBind->save != mapSave)
{
// Prevent "Convert to Raid" exploit to reset instances
return false;
}
else
{
playerBind = sInstanceSaveMgr->PlayerBindToInstance(player->GetGUID(), mapSave, false, player);