Спам Discord

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Увидел эту тему Спам подключений игрока.
И у самого на серверах начался этот спам, в связи с этим сделал блокировку вот таким образом

C-подобный:
char
    sFile[PLATFORM_MAX_PATH];

public Plugin myinfo =
{
    name = "Check Connect",
    author = "Nek.'a 2x2 | ggwp.site ",
    description = "Блировка подключения с ников Дискорда",
    version = "1.0.2",
    url = "https://ggwp.site/"
}

public void OnPluginStart()
{
    BuildPath(Path_SM, sFile, sizeof(sFile), "logs/check_block.log");

    HookEvent("player_disconnect", OnConn, EventHookMode_Pre);
    HookEvent("player_connect", OnConn, EventHookMode_Pre);
    
    if(HookEventEx("player_connect_client", OnConClient, EventHookMode_Pre))
        HookEvent("player_connect_client", OnConClient, EventHookMode_Pre);
}

Action OnConClient(Handle event, const char[] name, bool dontBroadcast)
{
    SetEventBroadcast(event, true);   
    return Plugin_Handled;
}

Action OnConn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));

    if(!(0 < client <= MaxClients))
        return Plugin_Continue;

    if(IsFakeClient(client))
        return Plugin_Continue;
        
    char sName[MAX_NAME_LENGTH];
    GetClientName(client, sName, sizeof(sName));
    if(StrContains(sName, "discord.gg") != -1)
    {
        LogToFile(sFile, "Ник игрока %N вывод остановлен", client);
        return Plugin_Handled;
    }

    return Plugin_Continue;
    //else
    //    LogToFile(sFile, "Ник игрока %N плагин информирует", client);
}
 

Вложения

  • check_connect.sp
    1.4 КБ · Просмотры: 37
  • check_connect.smx
    4.4 КБ · Просмотры: 11

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
Работает почти идеально. раз в 2 минуты +-30 сек проскакивает сообщение о подключении этого discord ника, хотя в логи пишет что вывод заблокирован. Ксс 34
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Работает почти идеально. раз в 2 минуты +-30 сек проскакивает сообщение о подключении этого discord ника, хотя в логи пишет что вывод заблокирован. Ксс 34
Такое ощущение, что код не отрабатывает на какой то раз. Очень странно, может кто из гуру хлмода подскажет
 

StormX

Участник
Сообщения
891
Реакции
302
37.76.180.220
78.132.223.25

Использует 2 подсети

Вот еще:
"Derek" "STEAM_0:0:0" "78.132.223.25" connected.
Использует разные ники с маской Steamid (STEAM_0:0:0)

Дал подсеть и забыл + антиVPN.
 
Последнее редактирование:

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
Такое ощущение, что код не отрабатывает на какой то раз. Очень странно, может кто из гуру хлмода подскажет
Этот код и не решает проблему флуда подключениями.
Боюсь, что это просто мусорный плагин, поскольку другие плагины по-прежнему реагируют на этот флуд (включают игрока в список, подгружают данные и т.д.) и с потенциальным игроком ничего не происходит.

Как вариант, можете выдавать тайм-ауты по: нику, networkid, ip и всему тому, что известно на этапе подключения, чтобы пресечь явный флуд.
Правьте плагины, которые выполняют запросы, при подключении игрока, к базам данных/веб ресурсам, до момента авторизации.
Банально, как-то, временно хранить данные об игроке, после отключения.
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Этот код и не решает проблему флуда подключениями.
Если из 30 подключений может отобразить 1, то всё же решает, пусть и не полностью
поскольку другие плагины по-прежнему реагируют на этот флуд
Цель была убрать стандартное отображение, а не влияние на другие плагины. Другим плагинам можно добавить проверку и так же заблокировать отображение
Только вот вопрос от чего иногда проходит одно оповещение..
 

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
Если из 30 подключений может отобразить 1, то всё же решает, пусть и не полностью
В том то и дело, что все, что делает этот плагин - блокирует месседж о подключении/отключении, т.е. Вы из обычного флудера сделали флудера латентного.

Цель была убрать стандартное отображение, а не влияние на другие плагины. Другим плагинам можно добавить проверку и так же заблокировать отображение
У вас единственная проверка - это проверка на подстроку "discord.gg", все потенциальные игроки имеющие "discord.gg" в нике, Вами, расцениваются, как латентные флудеры.


Все что делает этот плагин - меняет цель вывода всё тех же сообщений, бесконтрольно засирая дисковое пространство бесполезными записями.

C-подобный:
char
    sFile[PLATFORM_MAX_PATH];

public Plugin myinfo =
{
    name = "Check Connect",
    author = "Nek.'a 2x2 | ggwp.site ",
    description = "Блировка подключения с ников Дискорда",
    version = "1.0.3",
    url = "https://ggwp.site/"
}

public void OnPluginStart()
{
    BuildPath(Path_SM, sFile, sizeof(sFile), "logs/check_block.log");

    HookEvent("player_disconnect", OnConn, EventHookMode_Pre);
    HookEvent("player_connect", OnConn, EventHookMode_Pre);
}

Action OnConn(Event event, const char[] name, bool dontBroadcast)
{  
    char sName[MAX_NAME_LENGTH];
    event.GetString("name", sName, sizeof(sName));
   
    if(StrContains(sName, "discord.gg") != -1)
    {
        event.SetBool("silent", true);
        event.BroadcastDisabled = true;

        char buffer[PLATFORM_MAX_PATH];
        event.GetString("networkid", buffer, sizeof(buffer));

        LogToFile(sFile, "Event '%s' broadcast disabled. username: '%s'; network: '%s'; userid: %d", name, sName, buffer, event.GetInt("userid"));
        return Plugin_Handled;
    }

    return Plugin_Continue;
}
 
Последнее редактирование:

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
Если из 30 подключений может отобразить 1, то всё же решает, пусть и не полностью

Цель была убрать стандартное отображение, а не влияние на другие плагины. Другим плагинам можно добавить проверку и так же заблокировать отображение
Только вот вопрос от чего иногда проходит одно оповещение..
Плагин в полне справляется, если логи убрать то уже лучше становится. Как вариант могу предложить поставить KAC античит от Myarena и увеличить время проверки с 2 сек до минуты - 2 (Вот команда kac_antispam_connect "2"). Но это отразится и на игроках, что само собой не очень хорошо. Так же выше видел человек советовал антивпн, он онлайн очень хорошо сливает и на его восстановку потребуется много времени (А это и является целью спамера)
 
Сверху Снизу