diff --git a/html/Game/PlaceLauncher.php b/html/Game/PlaceLauncher.php index 6fd656f..bd4e68d 100644 --- a/html/Game/PlaceLauncher.php +++ b/html/Game/PlaceLauncher.php @@ -122,7 +122,7 @@ if ($requesttype == "RequestGame") //start new server or join existing one if (Game::UserAccess($gameID, $user->id)) { - $ispbs = false;//(bool)$gInfo->isPersonalServer; + $ispbs = (bool)$gInfo->isPersonalServer; //check for open servers $query = "SELECT * FROM open_servers WHERE gameID = :i AND (status = 0 OR status = 1) ORDER BY status DESC LIMIT 1"; diff --git a/html_api/game/management/manageJob.php b/html_api/game/management/manageJob.php index 11cb1f0..0f00eda 100644 --- a/html_api/game/management/manageJob.php +++ b/html_api/game/management/manageJob.php @@ -33,6 +33,12 @@ else //doesnt have any return data, so we set message to true $jobClose = new RccServiceHelper($GLOBALS['gamesArbiter']); $jobClose->CloseJob($jobid); + + $q = $pdo->prepare("UPDATE open_servers SET status = 0 WHERE gameID = :pid AND jobid = :jid AND status = 1"); + $q->bindParam(":pid", $placeid, PDO::PARAM_INT); + $q->bindParam(":jid", $jobid, PDO::PARAM_STR); + $q->execute(); + $message = true; } diff --git a/luascripts/game/gameserver.lua b/luascripts/game/gameserver.lua index e4ebe25..dc56f92 100644 --- a/luascripts/game/gameserver.lua +++ b/luascripts/game/gameserver.lua @@ -178,4 +178,10 @@ game:GetService("RunService"):Run() game:HttpGet(baseurl .. "/Game/RegisterServer?jobId=" .. game.JobId) -- Remove server OnClose -- -game.OnClose = function() sendKillJobSignal() end -- register game as closed when datamodel shutdowns \ No newline at end of file +game:GetService('Players').PlayerAdded:wait() +while wait(1) do + if(game:GetService('Players').NumPlayers == 0) then + sendKillJobSignal() + end +end +--game.OnClose = function() sendKillJobSignal() end -- register game as closed when datamodel shutdowns \ No newline at end of file