From 7eed767a413ffd982cbc9068f76ae2a56a31211a Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Fri, 12 Sep 2025 07:34:15 -0700 Subject: [PATCH] Backport 1.5 refresh login & login --- database/backported/1.5/loginAccount.php | 50 ++++++++++++++++++++++++ database/getTopPlayers.php | 2 - database/loginAccount.php | 4 ++ 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 database/backported/1.5/loginAccount.php diff --git a/database/backported/1.5/loginAccount.php b/database/backported/1.5/loginAccount.php new file mode 100644 index 0000000..8a31bb5 --- /dev/null +++ b/database/backported/1.5/loginAccount.php @@ -0,0 +1,50 @@ +prepare("SELECT * FROM users WHERE username = ?"); +$stmt->bind_param("s", $username); +$stmt->execute(); +$result = $stmt->get_result(); + +if ($result->num_rows === 0) { + exitWithMessage("-1"); +} + +$user = $result->fetch_assoc(); + +if (!password_verify($password, $user["password"])) { + exitWithMessage("-1"); +} + +$id = $user['id']; +$token = $user['token']; +$ip = getIPAddress(); + +$stmt = $conn->prepare("UPDATE users SET latest_ip = ?, token = ? WHERE id = ?"); +$stmt->bind_param("ssi", $ip, $token, $id); +$stmt->execute(); + +if ($currentHighScore > $user['legacy_high_score']) { + $stmt = $conn->prepare("UPDATE users SET legacy_high_score = ? WHERE id = ?"); + $stmt->bind_param("ii", $currentHighScore, $id); + $stmt->execute(); + $user['legacy_high_score'] = $currentHighScore; +} + +$savedata = json_decode($user['save_data'], true); +$birdColor = $savedata['settings']['colors']['icon'] ?? [255,255,255]; +$overlayColor = $savedata['settings']['colors']['overlay'] ?? [255,255,255]; + +if ($loginType === "0") { + echo encrypt("1" . ":" . $token . ":" . $user['username'] . ":" . $id . ":" . $user['legacy_high_score'] . ":" . ($savedata['bird']['icon'] ?? 1) . ":" . ($savedata['bird']['overlay'] ?? 0) . ":0:0:0:0:0:" . ":" . $birdColor[0] . ":" . $birdColor[1] . ":" . $birdColor[2] . ":" . $overlayColor[0] . ":" . $overlayColor[1] . ":" . $overlayColor[2]); +} elseif ($loginType === "1") { + echo encrypt("1" . ":" . $token . ":" . $user['username'] . ":" . $id); +} +$stmt->close(); +$conn->close(); diff --git a/database/getTopPlayers.php b/database/getTopPlayers.php index 7441961..8b3f908 100644 --- a/database/getTopPlayers.php +++ b/database/getTopPlayers.php @@ -6,8 +6,6 @@ if (isAllowedDatabaseVersion(getClientVersion())) { require __DIR__ . '/backported/1.3-beta2/getTopPlayers.php'; exit; } -} -if (isAllowedDatabaseVersion(getClientVersion())) { if (getClientVersion() == "1.5.0" || getClientVersion() == "1.5.1" || getClientVersion() == "1.5.2") { require __DIR__ . '/backported/1.5/getTopPlayers.php'; exit; diff --git a/database/loginAccount.php b/database/loginAccount.php index 0781803..a797893 100644 --- a/database/loginAccount.php +++ b/database/loginAccount.php @@ -12,6 +12,10 @@ if (isAllowedDatabaseVersion(getClientVersion())) { require __DIR__ . '/backported/1.2-beta2/loginAccount.php'; exit; } + if (getClientVersion() == "1.5.0" || getClientVersion() == "1.5.1" || getClientVersion() == "1.5.2") { + require __DIR__ . '/backported/1.5/loginAccount.php'; + exit; + } } checkClientDatabaseVersion(); $conn = newConnection();