re-applying beginauthsession and endauthsession

This commit is contained in:
jenz 2026-02-16 14:14:42 +00:00
parent 0b5306f689
commit 3a126db081

View File

@ -324,6 +324,15 @@ DETOUR_DECL_MEMBER9(CBaseServer__ConnectClient, IClient*, netadr_t&, address, in
SH_MANUALHOOK_RECONFIGURE(MHook_BeginAuthSession, g_nBeginAuthSessionOffset, 0, 0);
SH_ADD_MANUALHOOK(MHook_BeginAuthSession, g_pSteam3Server->m_pSteamGameServer, SH_STATIC(Hook_BeginAuthSession), true);
void** vtable = *((void***)g_pSteam3Server->m_pSteamGameServer);
g_pBeginAuthSession.SetAddress(vtable[g_nBeginAuthSessionOffset]);
int endAuthOffset = 0;
if (g_pGameConf->GetOffset("ISteamGameServer__EndAuthSession", &endAuthOffset))
{
g_pEndAuthSession.SetAddress(vtable[endAuthOffset]);
}
g_pLastHookedSteamGameServer = g_pSteam3Server->m_pSteamGameServer;
}
@ -374,7 +383,7 @@ DETOUR_DECL_MEMBER9(CBaseServer__ConnectClient, IClient*, netadr_t&, address, in
g_pSM->LogMessage(myself, "entered async retry. %s", aSteamID);
AsyncWaiting = true;
//reject async nosteamers (althought this statement is not reached even as async nosteamers are rejected with invalid ticket)
//reject async nosteamers or async steam player who is not authenticated
if (Storage.SteamAuthFailed)
{
//we are only here in async state when server is 64/64.