|
Member
|
09-29-2017
, 13:46
Re: SMAC by-pass hack?
|
#29
|
Makes sense. Just did a bit of checking with below:
Spoiler
Code:
#pragma newdecls required
#pragma semicolon 1
#include <sourcemod>
public Plugin myinfo = {
name = "[TF2] ClientAuthTestStuff",
author = "TheXeon",
description = "Small plugin to test spec stuff.",
version = "0.0.1",
url = "https://www.neogenesisnetwork.net/"
}
public void OnClientConnected(int client)
{
CreateTimer(10.0, AuthCheckTimer, GetClientUserId(client));
}
public Action AuthCheckTimer(Handle timer, int userid)
{
int client = GetClientOfUserId(userid);
if (!IsClientInGame(client))
{
PrintToServer("An extraneous check: client is not in-game.");
return;
}
char auth[24];
if (!GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth)))
{
PrintToServer("[1] GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth)) is false.");
if (!IsClientAuthorized(client))
{
PrintToServer("[2] IsClientAuthorized(client) is false."); // Yea, this is always true
}
}
PrintToServer("Make sure we reached [2] here, otherwise inconsistent.");
if (StrContains("STEAM_ID_STOP_IGNORING_RETVALS", auth, false) != -1)
{
PrintToServer("[3] String contains STEAM_ID_STOP_IGNORING_RETVALS");
}
PrintToServer("If we reached [3], but not [1] and [2], then GetClientAuth can return true even when RETVALS was obtained.");
}
and it seemed to reach 3 consecutively. Do you know if downned Steam servers might trip up GetClientAuthId? If it does, then would kicking also false-positive?
|
|
|
|