otland / forgottenserver

A free and open-source MMORPG server emulator written in C++
https://otland.net
GNU General Public License v2.0
1.58k stars 1.05k forks source link

Fix session table in schema #4745

Closed ArturKnopik closed 3 months ago

ArturKnopik commented 3 months ago

Pull Request Prelude

Changes Proposed

Fix session table default value for expired_at field.

Issues addressed:

https://github.com/otland/forgottenserver/blob/7011488166d1b6a398a51fc56fe854702a69a160/src/protocolgame.cpp#L429

    auto result = db.storeQuery(fmt::format(
        "SELECT `a`.`id` AS `account_id`, INET6_NTOA(`s`.`ip`) AS `session_ip`, `p`.`id` AS `character_id` FROM `accounts` `a` JOIN `sessions` `s` ON `a`.`id` = `s`.`account_id` JOIN `players` `p` ON `a`.`id` = `p`.`account_id` WHERE `s`.`token` = {:s} AND `s`.`expired_at` IS NULL AND `p`.`name` = {:s} AND `p`.`deletion` = 0",
        db.escapeString(sessionToken), db.escapeString(characterName)));

is checks if expired_at is null(must be null), Xampp for example set default value to 0000-00-00 00:00:00