Fix parallel research exploit (#143)

* Fix parallel building exploit via race condition

* Fix parallel research exploit via race condition

---------

Co-authored-by: hdmaniak <bombo15.forum@gmail.com>
Co-authored-by: Catalin Novgorodschi <1140613+Shadowss@users.noreply.github.com>
This commit is contained in:
hdmaniak2
2026-03-24 13:25:46 +01:00
committed by GitHub
parent e83985e7f7
commit 2e5f9f6169
2 changed files with 76 additions and 46 deletions
+12
View File
@@ -4568,6 +4568,18 @@ References: User ID/Message ID, Mode
mysqli_query($this->dblink, "SELECT RELEASE_LOCK('build_village_$wid')");
}
function getResearchLock($wid) {
$wid = (int) $wid;
$result = mysqli_query($this->dblink, "SELECT GET_LOCK('research_village_$wid', 10) AS locked");
$row = mysqli_fetch_assoc($result);
return $row['locked'] == 1;
}
function releaseResearchLock($wid) {
$wid = (int) $wid;
mysqli_query($this->dblink, "SELECT RELEASE_LOCK('research_village_$wid')");
}
/**
* Get the time required to build a specified building
*