| 2089 | } |
| 2090 | |
| 2091 | void CPlayer::UpdateAuthIds() |
| 2092 | { |
| 2093 | if (m_IsAuthorized || (!SetEngineString() && !SetCSteamID())) |
| 2094 | return; |
| 2095 | |
| 2096 | // Now cache Steam2/3 rendered ids |
| 2097 | if (IsFakeClient()) |
| 2098 | { |
| 2099 | m_Steam2Id = "BOT"; |
| 2100 | m_Steam3Id = "BOT"; |
| 2101 | return; |
| 2102 | } |
| 2103 | |
| 2104 | if (!m_SteamId.IsValid()) |
| 2105 | { |
| 2106 | if (g_HL2.IsLANServer()) |
| 2107 | { |
| 2108 | m_Steam2Id = "STEAM_ID_LAN"; |
| 2109 | m_Steam3Id = "STEAM_ID_LAN"; |
| 2110 | return; |
| 2111 | } |
| 2112 | else |
| 2113 | { |
| 2114 | m_Steam2Id = "STEAM_ID_PENDING"; |
| 2115 | m_Steam3Id = "STEAM_ID_PENDING"; |
| 2116 | } |
| 2117 | |
| 2118 | return; |
| 2119 | } |
| 2120 | |
| 2121 | EUniverse steam2universe = m_SteamId.GetEUniverse(); |
| 2122 | const char *keyUseInvalidUniverse = g_pGameConf->GetKeyValue("UseInvalidUniverseInSteam2IDs"); |
| 2123 | if (keyUseInvalidUniverse && atoi(keyUseInvalidUniverse) == 1) |
| 2124 | { |
| 2125 | steam2universe = k_EUniverseInvalid; |
| 2126 | } |
| 2127 | |
| 2128 | char szAuthBuffer[64]; |
| 2129 | ke::SafeSprintf(szAuthBuffer, sizeof(szAuthBuffer), "STEAM_%u:%u:%u", steam2universe, m_SteamId.GetAccountID() & 1, m_SteamId.GetAccountID() >> 1); |
| 2130 | |
| 2131 | m_Steam2Id = szAuthBuffer; |
| 2132 | |
| 2133 | // TODO: make sure all hl2sdks' steamclientpublic.h have k_unSteamUserDesktopInstance. |
| 2134 | if (m_SteamId.GetUnAccountInstance() == 1 /* k_unSteamUserDesktopInstance */) |
| 2135 | { |
| 2136 | ke::SafeSprintf(szAuthBuffer, sizeof(szAuthBuffer), "[U:%u:%u]", m_SteamId.GetEUniverse(), m_SteamId.GetAccountID()); |
| 2137 | } |
| 2138 | else |
| 2139 | { |
| 2140 | ke::SafeSprintf(szAuthBuffer, sizeof(szAuthBuffer), "[U:%u:%u:%u]", m_SteamId.GetEUniverse(), m_SteamId.GetAccountID(), m_SteamId.GetUnAccountInstance()); |
| 2141 | } |
| 2142 | |
| 2143 | m_Steam3Id = szAuthBuffer; |
| 2144 | } |
| 2145 | |
| 2146 | bool CPlayer::SetEngineString() |
| 2147 | { |
no test coverage detected