outcommented kick and post method. now just logging everything

This commit is contained in:
jenz 2024-06-01 21:35:36 +02:00
parent 258a880da5
commit c5a201ab8a

View File

@ -41,8 +41,10 @@ public void OnPluginStart()
SetFailState("Failed to detour CGameClient::ExecuteStringCommand()"); SetFailState("Failed to detour CGameClient::ExecuteStringCommand()");
// And a post hook. // And a post hook.
/*
if (!DHookEnableDetour(hExecuteStringCommand, true, Detour_OnExecuteStringCommand_Post)) if (!DHookEnableDetour(hExecuteStringCommand, true, Detour_OnExecuteStringCommand_Post))
SetFailState("Failed to detour ExecuteStringCommand post."); SetFailState("Failed to detour ExecuteStringCommand post.");
*/
// Setup quick hack to get the client index of the IClient this pointer in the detour callback. // Setup quick hack to get the client index of the IClient this pointer in the detour callback.
StartPrepSDKCall(SDKCall_Raw); StartPrepSDKCall(SDKCall_Raw);
@ -52,38 +54,46 @@ public void OnPluginStart()
delete conf; delete conf;
} }
/*
public MRESReturn Detour_OnExecuteStringCommand_Post(Address pThis, Handle hReturn, Handle hParams) public MRESReturn Detour_OnExecuteStringCommand_Post(Address pThis, Handle hReturn, Handle hParams)
{ {
int client = SDKCall(hGetPlayerSlot, pThis) + 1; int client = SDKCall(hGetPlayerSlot, pThis) + 1;
char sBuffer[512]; char sBuffer[2048];
DHookGetParamString(hParams, 1, sBuffer, sizeof(sBuffer)); DHookGetParamString(hParams, 1, sBuffer, sizeof(sBuffer));
if((sBuffer[0] == 'r' && sBuffer[1] == 'p' && sBuffer[2] == 't')) if((sBuffer[0] == 'r' && sBuffer[1] == 'p' && sBuffer[2] == 't'))
{
if(IsClientInGame(client) && !IsClientSourceTV(client))
{ {
if(IsClientInGame(client) && !IsClientSourceTV(client)) LogMessage("client: %N wanted command pre: %s", client, sBuffer);
{ KickClient(client, "DO NOT USE EXPLOITS ON THIS SERVER");
LogMessage("client: %N wanted command pre: %s", client, sBuffer);
KickClient(client, "DO NOT USE EXPLOITS ON THIS SERVER");
}
} }
}
} }
*/
public MRESReturn ExecuteStringCommand(Address addrThis, Handle hReturn, Handle hParams) public MRESReturn ExecuteStringCommand(Address addrThis, Handle hReturn, Handle hParams)
{ {
int client = SDKCall(hGetPlayerSlot, addrThis) + 1; int client = SDKCall(hGetPlayerSlot, addrThis) + 1;
char cmd[512]; char cmd[512];
DHookGetParamString(hParams, 1, cmd, 512); DHookGetParamString(hParams, 1, cmd, 512);
// "rpt", "rpt_" char sSID[64];
if((cmd[0] == 'r' && cmd[1] == 'p' && cmd[2] == 't')) GetClientAuthId(client, AuthId_Steam2, sSID, sizeof(sSID));
{
if(IsClientInGame(client) && !IsClientSourceTV(client)) LogMessage("client: %N. steamid: %s. command: %s", client, sSID, cmd);
{ /*
LogMessage("client: %N wanted command pre: %s", client, cmd); // "rpt", "rpt_"
KickClient(client, "DO NOT USE EXPLOITS ON THIS SERVER"); if((cmd[0] == 'r' && cmd[1] == 'p' && cmd[2] == 't'))
} {
} if(IsClientInGame(client) && !IsClientSourceTV(client))
return MRES_Ignored; {
LogMessage("client: %N wanted command pre: %s", client, cmd);
KickClient(client, "DO NOT USE EXPLOITS ON THIS SERVER");
}
}
*/
return MRES_Ignored;
} }