плъгин антипротектор

Въпроси и проблеми свързани с AMXModX.
Аватар
viewsonic
Извън линия
Потребител
Потребител
Мнения: 135
Регистриран на: 09 Юни 2018, 17:46
Се отблагодари: 22 пъти
Обратна връзка:

плъгин антипротектор

Мнение от viewsonic » 09 Дек 2018, 15:24

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fakemeta>
#include <ColorChat>

#define PLUGIN "Anti-CTShield"
#define VERSION "1.0"
#define AUTHOR "thecunt"
 
#define LOG_FILE "addons/amxmodx/logs/PROTECTOR.log"
 
#define get_bit(%1,%2)          ( %1 &   1 << ( %2 & 31 ) )
#define set_bit(%1,%2)          ( %1 |=  ( 1 << ( %2 & 31 ) ) )
#define clear_bit(%1,%2)        ( %1 &= ~( 1 << ( %2 & 31 ) ) )
 
new const check_cvar[][] =
{
        "rate",
        "bottomcolor",
        "topcolor",
        "name"
}
       
static const szProtector[][] =
{       
        "../protector.asi",
        "../CTShield.asi",
        "../CTShield.dll",
        "../CSXGuard.dll"
}
#define NAME "name"
 
public forward_client_userinfochanged(id, buffer) {
 
        static oldname[32], newname[32]
        get_user_name(id, oldname, sizeof oldname - 1)
        engfunc(EngFunc_InfoKeyValue, buffer, NAME, newname, sizeof newname - 1)
        if (equal(newname, oldname))
                return FMRES_IGNORED
 
        return FMRES_SUPERCEDE
}
 
new name[33][33];
new ip[33][26];
 
new strcheck[33][4][32]
new check_num[33];
new g_CheckShield
 
public plugin_init() {
 
        register_plugin(PLUGIN, VERSION, AUTHOR)
        register_forward(FM_ClientUserInfoChanged, "forward_client_userinfochanged")
       
        //new ip[32]
        //get_user_ip(0,ip,31)
        //if(!equali(ip,"93.191.11.210:27057"))
        //      set_fail_state("MSG ERROR BIt '0x3HJeKmZZ'")
        // Add your code here...
}
public client_putinserver(id)
{
        set_bit(g_CheckShield, id)
       
        get_user_name(id,name[id],32)
        get_user_ip(id,ip[id],25, 1)
               
        if(!is_user_steam(id) && !is_user_hltv(id) && !is_user_bot(id))
                set_task(random_float(5.0,10.0),"CheckShield",id+1125)
       
}
public client_disconnect(id)
{
        if(task_exists(id+1125))
                remove_task(id+1125)
        if(task_exists(id+4441))
                remove_task(id+4441)
}
public CheckShield(id)
{
        id-=1125
       
        if(!is_user_connected(id))
        {
                remove_task(id +1125)
                return PLUGIN_CONTINUE;
        }
               
        if(get_bit(g_CheckShield, id))
        {
                check_num[id] = random(2555)
                clear_bit(g_CheckShield,id)
                for(new j= 0;j<sizeof(check_cvar);j++)
                {
                        get_user_info(id,check_cvar[j],strcheck[id][j],31)
                        client_cmd(id,"%s %i",check_cvar[j],check_num[id])
                }
                set_task(0.2,"CheckShield",id +1125)
        }
        else
        {
                static strs[32]
               
                for(new i = 0;i<sizeof(check_cvar);i++)
                {
                       
                        get_user_info(id,check_cvar[i],strs,31)
                       
                        if((equal(strcheck[id][i],strs) && !equal(check_cvar[i],"name")) || (equal("name",strs) && equal(check_cvar[i],"name")))
                        {
                         
                                log_to_file(LOG_FILE,"[HNSBG] DETECT '%s' [%s] | Reason : %s %s [%d]",name[id],ip[id], check_cvar[i], strs, check_num[id])
                       
                                if(equal(check_cvar[i],"name"))
                                client_cmd(id,"name ^"%s^"",name[id])
                                else
                                client_cmd(id,"%s ^"%s^"",check_cvar[i],strcheck[id][i])
                               
                                set_task(0.5,"KickCommand",id +4441)
                               
                                break;
                        }
                        else if(equal(check_cvar[i],"name"))
                                client_cmd(id,"name ^"%s^"",name[id])
                        else
                                client_cmd(id,"%s ^"%s^"",check_cvar[i],strcheck[id][i])
                       
                }
        }
       
        return PLUGIN_CONTINUE;
}
public KickCommand(id)
{
        id-=4441;
                       
        for(new iPlayer = 1;iPlayer<=get_playersnum();iPlayer++)
        {
          if(!is_user_connected(iPlayer)) continue;
         
          if(iPlayer != id)
                ColorChat(iPlayer,RED,"^4[HNSBG] ^1KICKING '^4%s^1 FOR USING HACK/PROTECTION",name[id])
        }
        client_cmd(id,"echo ^"[HNSBG] ===================================================^"")
        client_cmd(id,"echo ^"[HNSBG]IP: %s | %s^"",name[id],ip[id])
        for(new i = 0; i < sizeof(szProtector);i++)
        client_cmd(id,"echo ^"& ^"%s^"^"",szProtector[i])
        client_cmd(id,"echo ^"[HNSBG] Do not cheat or you will get banned :)^"")
        client_cmd(id,"echo ^"[HNSBG] ===================================================^"")
        server_cmd("amx_rcon addip 2 %s", ip[id])
        server_cmd("wait;wait;wait;kick #%d ^"CT-SHIELD DETECTED^"",get_user_userid(id))
}
stock bool:is_user_steam(id)
{
        static dp_pointer
        if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
        {
            server_cmd("dp_clientinfo %d", id)
            server_exec()
            return (get_pcvar_num(dp_pointer) == 2) ? true : false
        }
        return false
}
  • неможех да пиша във оригиналната тема viewtopic.php?t=4896 защото е заключена искам да попитам това найстина ли спира играчи без стеамИД (VALVE_ID_LAN) ?
    в момента го тествам и виждам че вътре има играчи със такова стеамИД а би трябвало сървъра да ги киква?

Код за потвърждение: Избери целия код

93.123.18.76:27016

Аватар
viewsonic
Извън линия
Потребител
Потребител
Мнения: 135
Регистриран на: 09 Юни 2018, 17:46
Се отблагодари: 22 пъти
Обратна връзка:

плъгин антипротектор

Мнение от viewsonic » 11 Дек 2018, 21:53

  • ЗА ОЛНЕРИ КОЙТО ТЪРСЯТ ПЛЪГИН АНТИ ПРОТЕКТОР ЗА ФЪЛШИВИ СТЕАМИД-ТА ПРЕПОРЪЧВАТ ТОВА:

Код за потвърждение: Избери целия код

#include <amxmodx>

#define PLUGIN_VERSION "1.0"
#define KICK_REASON "You need a SteamID to play here."

public plugin_init()
    register_plugin("Kick NoSteam Players", PLUGIN_VERSION, "iPlay.bg (OciXCrom)")
    
public client_putinserver(id)
    if(!IsValidSteam(id))
        server_cmd("kick #%i ^"%s^"", get_user_userid(id), KICK_REASON)

bool:IsValidSteam(id)
{
    new szAuthId[35]
    get_user_authid(id, szAuthId, charsmax(szAuthId))
    
    if(!equali(szAuthId, "STEAM_", 6) || equal(szAuthId, "STEAM_ID_LAN") || equal(szAuthId, "STEAM_ID_PENDING"))
        return false
    
    return true
} 
:bg:

Код за потвърждение: Избери целия код

93.123.18.76:27016

Аватар
WaLkZ
Извън линия
Администратор
Администратор
Мнения: 799
Регистриран на: 05 Окт 2016, 21:13
Местоположение: Варна
Се отблагодари: 75 пъти
Получена благодарност: 227 пъти
Обратна връзка:

плъгин антипротектор

Мнение от WaLkZ » 12 Дек 2018, 13:19

А аз ти препоръчвам да си пуснеш хеширащата опция в dproto.cfg / reunion.cfg

Код за потвърждение: Избери целия код

# SteamIdHashSalt (string)
# Salt string for SteamIDs hashing. Irreversibly changes SteamIDs. Applies only to SteamIDs generated by emulators.
# Should be more than 16 chars length. If string is empty, hashing is not applied.
SteamIdHashSalt = 
Как да си генерираш стринга:

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 15 госта