Иконка ресурса

Limit CMD/Anti-Flood 1.0.1

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #1
Nekro добавил(а) новый ресурс:

Limit CMD/Anti-Flood - Anti-Flood/Анти спам командами

Плагин устанавливает лимит на количество используемых команд по времени. То есть например максимум 25 команд за 2 секунды.

1. Файл настроек создаётся автоматически по пути /cfg/sourcemod/limit_cmd.cfg
2. Игроки которые попались пишутся в лог, а так же их ip, id адреса и ник

Узнать больше об этом ресурсе...
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #5
@Nekro L4D2 можно добавить поддержку?
Возможно и так будет работать, попробуйте.
Сообщения автоматически склеены:

к materialadmin сразу давай поддержку,сразу в бан чтобы улетали
Если человек пользуется биндом и пытается купить авп в начале раунда постоянно нажимая на кнопку (одно нажатие где то 14 команд, если покупка полного комплекта снаряжения на одну кнопку), то он отлетит, банить за такое не хотелось бы. Это если только увеличить число команд там до 70 на пример и то в сомнениях.
 

xstage

🏹
Сообщения
726
Реакции
754
Логично бы было это:
C-подобный:
char sSteam[32], ip[16];
GetClientAuthId(client, AuthId_Steam2, sSteam, sizeof(sSteam));
GetClientIP(client, ip, sizeof(ip));

Убрать под условие, дабы попусту не получать.
C-подобный:
if(fFloodCount[client] > GetGameTime() - fFloodCheck && iCountUse[client] >= iCountCmd)
{
    char sSteam[32], ip[16];
    GetClientAuthId(client, AuthId_Steam2, sSteam, sizeof(sSteam));
    GetClientIP(client, ip, sizeof(ip));

    KickClient(client, "[Anti-Flood] Вы привысили лимит спама команд !");
    if(!bLogsSay[client])
    {   
        bLogsSay[client] = true;
        LogToFile(sFile, "Игрок [%s] [%s] [%N] был кикнут за превышения лимита команда [%d] в [%.2f] секунд",
        ip, sSteam, client, iCountUse[client], fFloodCheck);
    }
    return Plugin_Handled;
}
 

Azenot

Токсичный жировик
Сообщения
331
Реакции
365
Небольшое замечание по орфографии:
Вы привысили лимит спама команд ! > Вы превысили лимит спама командами!
Игрок [%s] [%s] [%N] был кикнут за превышения лимита команда [%d] в [%.2f] секунд > Игрок [%s] [%s] [%N] был кикнут за превышение лимита команд [%d] в [%.2f] секунд
Какое количество команд можно отправить в разрешенный период премени > Какое количество команд можно отправить в разрешенный период времени
 

Phrog

Участник
Сообщения
257
Реакции
98
C-подобный:
bool IsValideClient(int client)
{
    return 0 < client <= MaxClients && IsClientInGame(client) && !IsFakeClient(client);
}
А это зачем? В OnClientCommand клиент всегда в игре, а значит и id корректный. IsFakeClient тоже не нужно наверное, но тут не точно.

As of SourceMod 1.3, the client is guaranteed to be in-game.
 

fateful

Участник
Сообщения
34
Реакции
0
Плагин работает, лог пишет, пишет что кикает, но периодически в логе ошибок спамит,:

L 11/16/2023 - 19:54:14: [SM] [1] Line 78, C:\Users\Andrew\Desktop\souremod1.10\scripting\limit_cmd.sp::OnClientCommand
L 11/16/2023 - 19:54:14: [SM] Exception reported: Handle 42a20928 is invalid (error 3)
L 11/16/2023 - 19:54:14: [SM] Blaming: limit_cmd.smx
 

Skippervrn

Участник
Сообщения
19
Реакции
1
Выдает ошибку

L 09/17/2024 - 01:38:24: [SM] [1] Line 78, limit_cmd.sp::OnClientCommand
L 09/17/2024 - 02:20:50: [SM] Exception reported: Handle efb00642 is invalid (error 1)
L 09/17/2024 - 02:20:50: [SM] Blaming: limit_cmd.smx
L 09/17/2024 - 02:20:50: [SM] Call stack trace:
L 09/17/2024 - 02:20:50: [SM] [0] CloseHandle
L 09/17/2024 - 02:20:50: [SM] [1] Line 51, limit_cmd.sp::OnClientConnected
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
  • Автор ресурса
  • #13
Выдает ошибку

L 09/17/2024 - 01:38:24: [SM] [1] Line 78, limit_cmd.sp::OnClientCommand
L 09/17/2024 - 02:20:50: [SM] Exception reported: Handle efb00642 is invalid (error 1)
L 09/17/2024 - 02:20:50: [SM] Blaming: limit_cmd.smx
L 09/17/2024 - 02:20:50: [SM] Call stack trace:
L 09/17/2024 - 02:20:50: [SM] [0] CloseHandle
L 09/17/2024 - 02:20:50: [SM] [1] Line 51, limit_cmd.sp::OnClientConnected
Полагаю 95 строку заменить на
C-подобный:
return Plugin_Continue;
 

Skippervrn

Участник
Сообщения
19
Реакции
1
@Nekro
Новая ошибка
L 09/17/2024 - 20:03:39: [SM] Exception reported: Handle e940084d is invalid (error 3)
L 09/17/2024 - 20:03:39: [SM] Blaming: limit_cmd.smx
L 09/17/2024 - 20:03:39: [SM] Call stack trace:
L 09/17/2024 - 20:03:39: [SM] [0] CloseHandle
L 09/17/2024 - 20:03:39: [SM] [1] Line 78, limit_cmd.sp::OnClientCommand
 
Последнее редактирование:

Skippervrn

Участник
Сообщения
19
Реакции
1
Так что?
L 09/21/2024 - 14:32:09: [SM] Exception reported: Handle 6e00551 is invalid (error 1)
L 09/21/2024 - 14:32:09: [SM] Blaming: limit_cmd.smx
L 09/21/2024 - 14:32:09: [SM] Call stack trace:
L 09/21/2024 - 14:32:09: [SM] [0] CloseHandle
L 09/21/2024 - 14:32:09: [SM] [1] Line 78, limit_cmd.sp::OnClientCommand
L 09/21/2024 - 14:32:11: [SM] Exception reported: Handle 2ea0055b is invalid (error 3)
L 09/21/2024 - 14:32:11: [SM] Blaming: limit_cmd.smx
L 09/21/2024 - 14:32:11: [SM] Call stack trace:
L 09/21/2024 - 14:32:11: [SM] [0] CloseHandle
L 09/21/2024 - 14:32:11: [SM] [1] Line 78, limit_cmd.sp::OnClientCommand
 
Сверху Снизу