From 17b3ee0255e711705e0222b8123ace8613959330 Mon Sep 17 00:00:00 2001 From: neon <> Date: Sun, 9 Sep 2018 19:16:30 +0200 Subject: [PATCH] NoSteamManager: start filling the anti-spoofing database --- NoSteamManager/scripting/NoSteamManager.sp | 44 +++++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/NoSteamManager/scripting/NoSteamManager.sp b/NoSteamManager/scripting/NoSteamManager.sp index 7803406b..a00b183f 100644 --- a/NoSteamManager/scripting/NoSteamManager.sp +++ b/NoSteamManager/scripting/NoSteamManager.sp @@ -11,7 +11,8 @@ ConVar g_hCvar_BlockAdmin; ConVar g_hCvar_BlockVoice; /* DATABASE */ -Database g_hDatabase; +Database g_hDatabaseSB; +Database g_hDatabaseAntiSpoofing; //---------------------------------------------------------------------------------------------------- // Purpose: @@ -41,15 +42,18 @@ public void OnPluginStart() AutoExecConfig(); char sError[256]; - if (SQL_CheckConfig("sourcebans")) - { - g_hDatabase = SQL_Connect("sourcebans", true, sError, sizeof(sError)); - } - if (g_hDatabase == null) - { + if (SQL_CheckConfig("sourcebans")) + g_hDatabaseSB = SQL_Connect("sourcebans", true, sError, sizeof(sError)); + + if (g_hDatabaseSB == null) + LogError("Could not connect to database: %s", sError); + + if (SQL_CheckConfig("antispoofing")) + g_hDatabaseAntiSpoofing = SQL_Connect("antispoofing", true, sError, sizeof(sError)); + + if (g_hDatabaseAntiSpoofing == null) LogError("Could not connect to database: %s", sError); - } } //---------------------------------------------------------------------------------------------------- @@ -155,10 +159,22 @@ public Action OnClientPreAdminCheck(int client) char sQuery[512]; Format(sQuery, sizeof(sQuery), "SELECT * from sb_admins WHERE authid = '%s'", sSteamID); - SQL_TQuery(g_hDatabase, TQueryCB, sQuery, GetClientUserId(client)); + SQL_TQuery(g_hDatabaseSB, TQueryCB, sQuery, GetClientUserId(client)); return Plugin_Handled; } + else + { + char sIP[32]; + GetClientIP(client, sIP, sizeof(sIP)); + + int iTimestamp = GetTime(); + + char sQuery[512]; + Format(sQuery, sizeof(sQuery), "INSERT INTO authenticated_steam_ids (steam_auth, last_ip, last_connect) VALUES ('%s', '%s', %d) ON DUPLICATE KEY UPDATE last_ip = '%s';", sSteamID, sIP, iTimestamp, sIP); + SQL_TQuery(g_hDatabaseAntiSpoofing, TQueryCB2, sQuery, GetClientUserId(client)); + + } return Plugin_Continue; } @@ -200,4 +216,12 @@ public void TQueryCB(Handle owner, Handle rs, const char[] error, any data) LogMessage("%L tried to join with an Admin-SteamID while not being authentiated with steam.", client); KickClient(client, "Trying to join with an Admin-SteamID while not being authentiated with steam."); } -} \ No newline at end of file +} + +//---------------------------------------------------------------------------------------------------- +// Purpose: +//---------------------------------------------------------------------------------------------------- +public void TQueryCB2(Handle owner, Handle rs, const char[] error, any data) +{ + +}