Данный плагин является дополнительным опциональным модулем для основного плагина (ядра), - Bypass Guard.
Что умеет плагин?
Плагин не обязателен, но в случае установки повышает защищённость сервера. Основная задача плагина: автоматическое выявление последовательных атак типа "обход бана". Концепция следующая: у плагина есть два режима работы. Пассивный, когда он ничего не ограничивает, и активный, когда он ограничивает вход...
Я особо эту поделку не тестировал. Буду рад багрепортам и отзывам об использовании. Значения таймеров и лимитов счётчиков взяты навскидку, возможно для боевого сервера нужны будут другие значения.
L 09/23/2023 - 02:18:58: [SQL] Can't connect to server [0.01]
L 09/23/2023 - 02:18:58: [SQL] Error #2003, Can't connect to MySQL server on '127.0.0.1' (111)
RU>
Я сделал это, я думаю, что это потому, что моя база данных, предлагаемая хостером, не имеет ip, но имеет имя и порт astralis.neopanel.ro:3306 для fb_ban все работает просто отлично.
Я указал astralis.neopanel.ro:3306, имя пользователя, пароль и базу данных, но mysql говорит, что не может подключиться к 127.0.0.1, что странно, потому что я изменил 127.0.0.1 на astralis.neopanel.ro:3306.
EN>
I did, I think it's because my database offered by host has no ip but a name and port astralis.neopanel.ro:3306 for fb_ban all works just fine.
I put astralis.neopanel.ro:3306, username, password and database but mysql says can't connect to 127.0.0.1 wich is weird cause i changed 127.0.0.1 to astralis.neopanel.ro:3306.
muppet92, если не ошибаюсь (я конкретно замечал), что при старте сервера (после включения/перезапуска) квары считывает с исходного кода, а после смены карты уже с самого конфиг файла. Запустите сервер, смените карту и проверьте.
BlackSignature do you plan to add pruning option for bg_sv_whitepasses and bg_sv_bans, but as row expires (daily check)?
Also, what does mean this in bg_sv_bans?
It seems like it didn't recognize ASN. What is banned in this case?
edit:
Could you explain how these three function work:
Код:
// How many minutes each ban will affect the ban counter for an AS number
bg_sv_bans_exp_time_as "720"
// Value of the ban counter at which entry from an AS number will be restricted (set to 0 to disable new restrictions)
bg_sv_count_to_strict_as "3"
// How many minutes an AS number will be restricted after the introduction of an automatic restriction (set to 0 to disable new restrictions)
bg_sv_restrict_duration_as "1440"
I don't understand difference between bg_sv_bans_exp_time_as and bg_sv_restrict_duration_as
Is it working as: "After 720 mins, if nobody has been banned with that AS number, ban counter will be cleared" ?
Also, how much time is needed for player who plays on server to get status "known"?
Could it be maintained?
each ban has until_global and until_as, these values determine how long entry affects global/asn counters. When counter reach treshhold, restriction will be applied
no, because I don’t see any practical sense in it. too small amounts of data. But this can be done quite easily
global only as N/A is invalid ASN
nothing is actually cleared.
each ban has until_global and until_as, these values determine how long entry affects global/asn counters. When counter reach treshhold, restriction will be applied
Последнее время много жалоб на какого-то персонажа, который выносит с мясным читом популярные паблики. Надоело в личных беседах объяснять одно и то же, напишу здесь общий алгоритм действий. Заодно, ещё раз, на пальцах, принцип работы Supervisor рассмотрим.
На сервер установили Supervisor
Supervisor работает в пассивном режиме (ничего не ограничивает)
Я зашёл на сервер
Петя зашёл на сервер
Коля зашёл на сервер
Василий на сервер не заходил
Теперь сервер знает меня, Петю, и Колю
Василия сервер не знает
Supervisor так или иначе переходит в активный режим (я подразумеваю здесь, что в глобальный, т.е. для всех AS-номеров)
Я, Петя, Коля - можем зайти на сервер, потому что сервер нас знает
Василий зайти не может, потому что сервер его не знает
Т.е. пассивный режим - учёт тех, кто побывал на сервере
Активный режим - побывавшие на сервере допускаются на сервер, новички (не побывавшие на сервере) войти на сервер не могут
Действия по защите для тех, кто ничего не понимает, но решить вопрос хочет:
Ниже описаны два варианта. Оба варианта самостоятельны (независимы друг от друга), но так же не исключают друг друга (т.е. можно применять оба по отдельности).
1) У вас должна стоять бансистема, поддерживаемая Supervisor'ом (смотрите требования). Без этого ничего работать не будет.
2) Собираете AS-номера данного персонажа. Взять AS-номер напрямую можно в amxmodx/logs/bypass_guard в ALLOW/DENY логах. Так же AS-номер можно получить через ядро БГ введя в консоль сервера bg_get_as_by_ip "ip" где "ip" это ip-адрес игрока (вводите без порта). Ну, или через любой whois-сервис можно по IP узнать AS-номер.
3) Если видите, что у игрока каждый раз разный AS-номер, и по итогу AS-номеров у него получается много, то отсекать его баном AS-номеров (и, тем более, баном подсетей) нет никакого смысла. Единственный вариант - Supervisor.
4) Устанавливаете supervisor. Даёте поработать какое-то время, чтобы он собрал постоянных игроков в базу (пол дня, хотя бы).
5) В конфиге supervisor'а меняем значение квара bg_sv_count_to_strict_global на "1"
6) В конфиге supervisor'а меняем значение квара bg_sv_restrict_duration_global на значение от "15" до "120", на ваш выбор. Не задирайте значение слишком высоко, иначе будете терять новичков (кто ещё не был на сервере), желающих у вас поиграть.
7) Теперь каждый бан, выданный любым админом сервера, будет включать активный режим supervisor'а на # минут (см. пункт 6).
Т.е. вы/ваши админы играете на сервере. Заходит ваш персонаж с читами, вы его баните, supervisor сразу же включает активный режим, и следующие # минут вы сидите без наличия персонажа на сервере. Я понимаю, что хотелось бы его выпилить "на подольше", но если задрать bg_sv_restrict_duration_global слишком высоко, вы начнёте отсекать потенциальных новых игроков. Т.е. человек не был у вас на сервере, но захотел зайти. Заходит, а его не пускает, т.к. у supervisor'а активный режим.
Когда начинается атака обходами бана, нужно написать в консоль сервера bg_sv_rest_add * 15, где 15 - кол-во минут работы активного режима (можно изменить время под себя).
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.