NoSteamManager: Update include + native.
This commit is contained in:
		
							parent
							
								
									9160564c8e
								
							
						
					
					
						commit
						c73a8f9c97
					
				| @ -1,82 +0,0 @@ | |||||||
| #pragma semicolon 1 |  | ||||||
| 
 |  | ||||||
| #include <sourcemod> |  | ||||||
| #include <RevEmuAPI> |  | ||||||
| 
 |  | ||||||
| #pragma newdecls required |  | ||||||
| 
 |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| // Purpose: |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| public Plugin myinfo = |  | ||||||
| { |  | ||||||
| 	name         = "NoSteamManagerFailSafe_RevEmu", |  | ||||||
| 	author       = "Neon", |  | ||||||
| 	description  = "FailSafe to prevent No-Steam clients from getting admin access.", |  | ||||||
| 	version      = "1.0.0" |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| // Purpose: |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| public void OnClientPostAdminCheck(int client) |  | ||||||
| { |  | ||||||
| 	if(IsFakeClient(client) || IsClientSourceTV(client)) |  | ||||||
| 		return; |  | ||||||
| 
 |  | ||||||
| 	if(!CheckCommandAccess(client, "sm_admin", ADMFLAG_GENERIC, true)) |  | ||||||
| 		return; |  | ||||||
| 
 |  | ||||||
| 	if(!IsSteam(client)) |  | ||||||
| 	{ |  | ||||||
| 		char sConnectionType[32]; |  | ||||||
| 		GetConnectionType(client, sConnectionType, sizeof(sConnectionType)); |  | ||||||
| 
 |  | ||||||
| 		LogMessage("%L got admin access while not being authentiated with steam (type: %s). Attempting to kick.", sConnectionType); |  | ||||||
| 		LogAction(client, -1, "\"%L\"got admin access while not being authentiated with steam (type: %s). Attempting to kick.", sConnectionType); |  | ||||||
| 		KickClient(client, "Security Validation failed. Please contact an Administrator."); |  | ||||||
| 		return; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| // Purpose: |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| public void GetConnectionType(int client, char[] sConnectionType, int iMaxLength) |  | ||||||
| { |  | ||||||
| 	char sConnectionTypeInternal[32]; |  | ||||||
| 
 |  | ||||||
| 	RevEmu_UserType PlayerType = RevEmu_GetPlayerType(client); |  | ||||||
| 	if (PlayerType == Unknown) |  | ||||||
| 		sConnectionTypeInternal = "Error"; |  | ||||||
| 	else if (PlayerType == SteamLegitUser) |  | ||||||
| 		sConnectionTypeInternal = "SteamLegit"; |  | ||||||
| 	else if (PlayerType == SteamCrackedUser) |  | ||||||
| 		sConnectionTypeInternal = "SteamCracked"; |  | ||||||
| 	else if (PlayerType == RevEmuUser) |  | ||||||
| 		sConnectionTypeInternal = "RevEmu"; |  | ||||||
| 	else if (PlayerType == RevEmuUserOld) |  | ||||||
| 		sConnectionTypeInternal = "RevEmuOld"; |  | ||||||
| 	else if (PlayerType == SettiSRCScanBot) |  | ||||||
| 		sConnectionTypeInternal = "SettiSRCScanBot"; |  | ||||||
| 	else if (PlayerType == RevEmuUserV74) |  | ||||||
| 		sConnectionTypeInternal = "RevEmuV74"; |  | ||||||
| 	else if (PlayerType == RevEmuUserVeryOld) |  | ||||||
| 		sConnectionTypeInternal = "RevEmuVeryOld"; |  | ||||||
| 	else if (PlayerType == UnknownUser) |  | ||||||
| 		sConnectionTypeInternal = "Unknown"; |  | ||||||
| 	else if (PlayerType == Steam2Legit) |  | ||||||
| 		sConnectionTypeInternal = "Steam2Legit"; |  | ||||||
| 	else if (PlayerType == Steam2Cracked) |  | ||||||
| 		sConnectionTypeInternal = "Steam2Cracked"; |  | ||||||
| 
 |  | ||||||
| 	strcopy(sConnectionType, iMaxLength, sConnectionTypeInternal); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| // Purpose: |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| public bool IsSteam(int client) |  | ||||||
| { |  | ||||||
| 	return (RevEmu_GetPlayerType(client) == SteamLegitUser); |  | ||||||
| } |  | ||||||
| @ -104,7 +104,7 @@ public Action Command_DisplaySteamStats(int client, int args) | |||||||
| 				if(IsClientInGame(i) && !IsFakeClient(i) && !RevEmu_IsPlayerSteam(i)) | 				if(IsClientInGame(i) && !IsFakeClient(i) && !RevEmu_IsPlayerSteam(i)) | ||||||
| 				{ | 				{ | ||||||
| 					char sConnectionType[32]; | 					char sConnectionType[32]; | ||||||
| 					GetConnectionType(i, sConnectionType, sizeof(sConnectionType)); | 					RevEmu_GetPlayerType(i, sConnectionType, sizeof(sConnectionType)); | ||||||
| 					Format(aBuf, sizeof(aBuf), "%s%L %s \n", aBuf, i, sConnectionType); | 					Format(aBuf, sizeof(aBuf), "%s%L %s \n", aBuf, i, sConnectionType); | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| @ -173,7 +173,7 @@ public Action OnClientPreAdminCheck(int client) | |||||||
| 	if(!RevEmu_IsPlayerSteam(client)) | 	if(!RevEmu_IsPlayerSteam(client)) | ||||||
| 	{ | 	{ | ||||||
| 		char sConnectionType[32]; | 		char sConnectionType[32]; | ||||||
| 		GetConnectionType(client, sConnectionType, sizeof(sConnectionType)); | 		RevEmu_GetPlayerType(client, sConnectionType, sizeof(sConnectionType)); | ||||||
| 		LogMessage("%L was not authenticated with steam (type: %s), denying admin.", client, sConnectionType); | 		LogMessage("%L was not authenticated with steam (type: %s), denying admin.", client, sConnectionType); | ||||||
| 		NotifyPostAdminCheck(client); | 		NotifyPostAdminCheck(client); | ||||||
| 
 | 
 | ||||||
| @ -237,7 +237,7 @@ public void TQueryCB(Database db, DBResultSet results, const char[] error, any d | |||||||
| 	GetClientIP(client, sCurrentIP, sizeof(sCurrentIP)); | 	GetClientIP(client, sCurrentIP, sizeof(sCurrentIP)); | ||||||
| 
 | 
 | ||||||
| 	char sCurrentConnectionType[32]; | 	char sCurrentConnectionType[32]; | ||||||
| 	GetConnectionType(client, sCurrentConnectionType, sizeof(sCurrentConnectionType)); | 	RevEmu_GetPlayerType(client, sCurrentConnectionType, sizeof(sCurrentConnectionType)); | ||||||
| 
 | 
 | ||||||
| 	int iTimestamp = GetTime(); | 	int iTimestamp = GetTime(); | ||||||
| 
 | 
 | ||||||
| @ -274,40 +274,6 @@ public void TQueryCB(Database db, DBResultSet results, const char[] error, any d | |||||||
| 	g_hDatabaseAntiSpoofing.Query(SQL_DoNothing, sQuery, GetClientUserId(client)); | 	g_hDatabaseAntiSpoofing.Query(SQL_DoNothing, sQuery, GetClientUserId(client)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| // Purpose: |  | ||||||
| //---------------------------------------------------------------------------------------------------- |  | ||||||
| public void GetConnectionType(int client, char[] sConnectionType, int iMaxLength) |  | ||||||
| { |  | ||||||
| 	char sConnectionTypeInternal[32]; |  | ||||||
| 
 |  | ||||||
| 	RevEmu_UserType PlayerType = RevEmu_GetPlayerType(client); |  | ||||||
| 	if (PlayerType == Invalid) |  | ||||||
| 		sConnectionTypeInternal = "Error"; |  | ||||||
| 	else if (PlayerType == SteamLegitUser) |  | ||||||
| 		sConnectionTypeInternal = "SteamLegit"; |  | ||||||
| 	else if (PlayerType == SteamCrackedUser) |  | ||||||
| 		sConnectionTypeInternal = "SteamCracked"; |  | ||||||
| 	else if (PlayerType == RevEmuUser) |  | ||||||
| 		sConnectionTypeInternal = "RevEmu"; |  | ||||||
| 	else if (PlayerType == RevEmuUserOld) |  | ||||||
| 		sConnectionTypeInternal = "RevEmuOld"; |  | ||||||
| 	else if (PlayerType == SettiSRCScanBot) |  | ||||||
| 		sConnectionTypeInternal = "SettiSRCScanBot"; |  | ||||||
| 	else if (PlayerType == RevEmuUserV74) |  | ||||||
| 		sConnectionTypeInternal = "RevEmuV74"; |  | ||||||
| 	else if (PlayerType == RevEmuUserVeryOld) |  | ||||||
| 		sConnectionTypeInternal = "RevEmuVeryOld"; |  | ||||||
| 	else if (PlayerType == UnknownUser) |  | ||||||
| 		sConnectionTypeInternal = "Unknown"; |  | ||||||
| 	else if (PlayerType == Steam2Legit) |  | ||||||
| 		sConnectionTypeInternal = "Steam2Legit"; |  | ||||||
| 	else if (PlayerType == Steam2Cracked) |  | ||||||
| 		sConnectionTypeInternal = "Steam2Cracked"; |  | ||||||
| 
 |  | ||||||
| 	strcopy(sConnectionType, iMaxLength, sConnectionTypeInternal); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| //---------------------------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------------------------- | ||||||
| // Purpose: | // Purpose: | ||||||
| //---------------------------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------------------------- | ||||||
|  | |||||||
| @ -3,21 +3,6 @@ | |||||||
| #endif
 | #endif
 | ||||||
| #define _RevEmuAPI_included
 | #define _RevEmuAPI_included
 | ||||||
| 
 | 
 | ||||||
| enum RevEmu_UserType |  | ||||||
| { |  | ||||||
|     Invalid = -1, |  | ||||||
|     SteamLegitUser = 0, |  | ||||||
|     SteamCrackedUser, |  | ||||||
|     RevEmuUser, |  | ||||||
|     RevEmuUserOld, |  | ||||||
|     SettiSRCScanBot, |  | ||||||
|     RevEmuUserV74, |  | ||||||
|     RevEmuUserVeryOld, |  | ||||||
|     UnknownUser, |  | ||||||
|     Steam2Legit, |  | ||||||
|     Steam2Cracked |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| /** | /** | ||||||
|  * Check if clients usertype is legit. |  * Check if clients usertype is legit. | ||||||
|  * |  * | ||||||
| @ -32,11 +17,13 @@ native bool RevEmu_IsPlayerSteam(int client); | |||||||
|  * Retrieve clients usertype. |  * Retrieve clients usertype. | ||||||
|  * |  * | ||||||
|  * @param clients           The client index. |  * @param clients           The client index. | ||||||
|  |  * @param type              The buffer to write to. | ||||||
|  |  * @param maxlength         The maximum buffer length. | ||||||
|  * |  * | ||||||
|  * @return                  The clients usertype. |  * @return                  True on success, false otherwise. | ||||||
|  * @error                   Invalid client index, not connected or fake client. |  * @error                   Invalid client index, not connected or fake client. | ||||||
|  */ |  */ | ||||||
| native RevEmu_UserType RevEmu_GetPlayerType(int client); | native bool RevEmu_GetPlayerType(int client, char[] type, int maxlength); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| public Extension __ext_RevEmuAPI = | public Extension __ext_RevEmuAPI = | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user