Add log-only BB account sync login hook

This commit is contained in:
2026-06-08 03:59:27 -04:00
parent f8d50b3ab7
commit fe97a0dda4
2 changed files with 22 additions and 0 deletions
+13
View File
@@ -35,4 +35,17 @@ inline void notify_player_state_saved(
filename.c_str());
}
inline void notify_bb_login_start(
uint32_t account_id,
const std::string& bb_username,
int64_t character_slot,
uint8_t connection_phase) {
std::fprintf(stderr,
"[AccountSync] event=bb_login_start account_id=%010u bb_username=%s character_slot=%lld connection_phase=%u\n",
static_cast<unsigned int>(account_id),
bb_username.c_str(),
static_cast<long long>(character_slot),
static_cast<unsigned int>(connection_phase));
}
} // namespace AccountSync
+9
View File
@@ -27,6 +27,7 @@
#include "StaticGameData.hh"
#include "Text.hh"
#include "BrutalPeeps.hh"
#include "AccountSync.hh"
const char* BATTLE_TABLE_DISCONNECT_HOOK_NAME = "battle_table_state";
const char* QUEST_BARRIER_DISCONNECT_HOOK_NAME = "quest_barrier";
@@ -1672,6 +1673,14 @@ static asio::awaitable<void> on_93_BB(std::shared_ptr<Client> c, Channel::Messag
co_return;
}
if (c->login->account && c->login->bb_license) {
AccountSync::notify_bb_login_start(
c->login->account->account_id,
c->login->bb_license->username,
c->bb_character_index,
c->bb_connection_phase);
}
std::string version_string = c->bb_client_config.as_string();
phosg::strip_trailing_zeroes(version_string);
// If the version std::string starts with "Ver.", assume it's Sega and apply the normal version encoding logic. Otherwise,