Como veran por ahi anda rondando un bug.
Que bugea el say del server y causa que todos los players les salga un error quedando el server sin gente en fin , Estos 2 plugin detienen dicho exploit, Como veran en el video como funciona el exploit aunque diga "Se dice que es Freeze all players" pero es falso.
Desgraciadamente en el vídeo aparece que lo esta ejecutando con una cfg.
Aca el code
PARTE (2)
Se que ya hay un plugin hecho por sPECTRUM pero yo quise aportar el que de en verdad me funciono y mas nunca me jodieron
Si no quieres utilizar los 2 PLUGINS de amxx, He agregado los src de los plugins metamod .
Código PHP:
name "1#Cstrike_GIGN_Label #Cstrike_GIGN_Label"
name "1#Cstrike_Spetsnaz_Label #Cstrike_GIGN_Label"
say #Cstrike_Spetsnaz_Label #Cstrike_Spetsnaz_Label"
say 1#Cstrike_GIGN_Label #Cstrike_GIGN_Label
say #Spec_Help_Text #Spec_Duck
say %s0
Que bugea el say del server y causa que todos los players les salga un error quedando el server sin gente en fin , Estos 2 plugin detienen dicho exploit, Como veran en el video como funciona el exploit aunque diga "Se dice que es Freeze all players" pero es falso.
Desgraciadamente en el vídeo aparece que lo esta ejecutando con una cfg.
Aca el code
Código PHP:
#include <amxmodx>
#include <fakemeta>
#define CHECK_CHAT
#pragma ctrlchar '\'
public plugin_init()
{
register_plugin("Fix #", "0.1", "PRoSToTeM@");
register_forward(FM_ClientUserInfoChanged, "ClientUserInfoChanged_Pre", false);
#if defined CHECK_CHAT
register_clcmd( "say", "CheckChat" );
register_clcmd( "say_team", "CheckChat" );
#endif
}
public ClientUserInfoChanged_Pre(const iClient, const pszInfoBuffer)
{
new szNetName[32];
pev(iClient, pev_netname, szNetName, charsmax(szNetName));
new szBufferName[32];
engfunc(EngFunc_InfoKeyValue, pszInfoBuffer, "name", szBufferName, charsmax(szBufferName));
if (szNetName[0] != '\0' && equal(szNetName, szBufferName))
{
return FMRES_IGNORED;
}
new bool:fChanged;
for (new i = 0; szBufferName[i] != '\0'; i++)
{
if (szBufferName[i] == '#' || (szBufferName[i] == '+' && !('0' <= szBufferName[i + 1] <= '9')))
{
szBufferName[i] = ' ';
fChanged = true;
}
}
if (fChanged)
{
trim(szBufferName);
engfunc(EngFunc_SetClientKeyValue, iClient, pszInfoBuffer, "name", szBufferName);
}
return FMRES_IGNORED;
}
#if defined CHECK_CHAT
public CheckChat(id)
{
static szMsg[191];
read_args( szMsg, charsmax(szMsg) );
if( contain( szMsg, "#" ) != -1 )
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
#endif
PARTE (2)
Código PHP:
#include <amxmodx>
#define PLUGIN "Fix 2"
#define VERSION "1.0"
#define AUTHOR "PRoSToTeM@"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say" , "BlockSay");
register_clcmd("say_team" , "BlockSay");
register_cvar("fix_log", "1");
}
new block[][] =
{
"#Cstrike_",
"#Career_",
"#CZero_",
"#Alias_",
"#Game_",
"#GameUI_",
"#Spec_",
"#Team_",
"#Title_"
}
public BlockSay(id)
{
static szMsg[191], i;
new name[32]
get_user_info(id, "name", name,31)
read_args( szMsg, charsmax(szMsg) );
for(i = 0; i < sizeof block; i++)
{
if( containi( szMsg, block[i] ) != -1 )
{
new gLog;
gLog = get_cvar_num("fix_log")
if(gLog)
{
new gracz[32],sAuthid[35], ipt[32]
new fo_logfile[42],data[64],maxtext[100]
get_user_name(id,gracz,31)
get_user_ip(id,ipt,31, 1);
get_user_authid(id,sAuthid,34)
get_time("%d/%m/%Y - %H:%M:%S",data,63)
format(maxtext, charsmax(maxtext), "%s: [Say] '%s' [%s] [%s]",data,gracz,ipt,sAuthid)
format(fo_logfile, 41, "addons/amxmodx/logs/exploit.txt")
server_cmd("kick #%d Exploit Detectado!",get_user_userid(id))
write_file(fo_logfile,maxtext,-1)
}
else
{
server_cmd("kick #%d Exploit Detectado!",get_user_userid(id))
}
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public client_infochanged(id)
{
new name[32]
get_user_info(id, "name", name,31)
for(new i = 0; i < sizeof(block); i++)
{
if(containi(name, block[i]) != -1)
{
new gLog;
gLog = get_cvar_num("fix_log")
if(gLog)
{
new gracz[32],sAuthid[35], ipt[32]
new fo_logfile[42],data[64],maxtext[100]
get_user_name(id,gracz,31)
get_user_ip(id,ipt,31, 1);
get_user_authid(id,sAuthid,34)
get_time("%d/%m/%Y - %H:%M:%S",data,63)
format(maxtext, charsmax(maxtext), "%s: [Name] '%s' [%s] [%s]",data,gracz,ipt,sAuthid)
format(fo_logfile, 41, "addons/amxmodx/logs/exploit.txt")
server_cmd("kick #%d Exploit Detectado!",get_user_userid(id))
write_file(fo_logfile,maxtext,-1)
}
else
{
server_cmd("kick #%d Exploit Detectado!",get_user_userid(id))
}
}
}
return PLUGIN_CONTINUE
}
Se que ya hay un plugin hecho por sPECTRUM pero yo quise aportar el que de en verdad me funciono y mas nunca me jodieron
Si no quieres utilizar los 2 PLUGINS de amxx, He agregado los src de los plugins metamod .