Русское сообщество по скриптингу

Бан подсетей (Subnet Ban Plugin)

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

Бан подсетей (Subnet Ban Plugin)

Сообщение Expade » 08 ноя 2011, 13:19

Subnet Ban Plugin

Автор: Zetex
Версия: 1.8.32

Ссылки на оф. странички:

Команды:
  • sb_ban <подсеть в CIDR формате> - забанить подсеть.
  • sb_unban <подсеть в CIDR формате> - разбанить подсеть.
  • sb_banlist <страница> - показать список забаненых подсетей.
  • sb_who - показать IP игроков на сервере.

Квары:
  • sb_ignore_steam "0/1" - выкл./вкл. иммунитет для Steam игроков.
  • sb_notification_connected "0/1" - выкл./вкл. оповещение о подключающихся игроках.
  • sb_logging "0/1" - выкл./вкл. логирование в файл .../subnet_ban.log

Требования:
  • Metamod модуль dproto, начиная с версии 0.4.4 и больше (или запретите использование модуля с помощью опции компиляции).

Установка:
  • Скопируйте файл "subnet_ban.amxx" в папку plugins.
  • Скопируйте файл "subnet_ban.txt" в папку data/lang.
  • Добавьте строчку "subnet_ban.amxx" (без кавычек) в файл "config/plugins.ini".

Отдельное спасибо:
  • Lev, Zefir, NSR, makcumka, rfc1, mazdan.

Лог изменений:
    v1.0 [20.10.2011]
    - Бета версия.
    v1.1 [24.10.2011]
    - Добавлен новый квар "sb_kick_reason".
    v1.2 [28.10.2011]
    - Добавлен новый квар "sb_ignore_steam".
    v1.3 [02.11.2011]
    - Добавлен мультиязычный файл.
    v1.4 [05.11.2011]
    - Релиз версия.
    - Маленькая оптимизация кода.
    - Исправление ошибок в тексте.

    v1.5 [11.03.2012]
    - Редактирован перевод на английский.
    - Исправлены незначительные баги.
    - Добавлен новый квар "sb_notification_connected".

    v1.5.1 [15.03.2012]
    - Исправлен баг с неправильным определением принадлежности IP к подсети.
    v1.6 [17.03.2012]
    - Полностью переделан принцип работы плагина. Подсети хранятся в CIDR формате.
    - Добавлен новый квар "sb_logging".

    v1.7 [16.04.2012]
    - Убран квар "sb_kick_reason", причина удаления игрока хранится в мультиязычном файле.
    - Добавлен иммунитет для ботов и HLTV.
    - Список забаненых подсетей выводится как в amx_help.

    v1.8 [21.05.2012]
    - Добавлена проверка на правильность подсетей.
    v1.8.32 [10.11.2012]
    - Исправлены незначительные баги.
    - Исправлена кодировка файла "subnet_ban.txt".

Утверждено. //Leonidddd
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Expade 11 ноя 2012, 11:23, всего редактировалось 43 раз(а).
Аватара пользователя
Expade
 
Сообщения: 38
Зарегистрирован: 14 май 2011, 19:32
Откуда: Астрахань
Благодарил (а): 21 раз.
Поблагодарили: 3 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life 1

Re: Бан подсетей (Subnet Ban)

Сообщение Dusty » 16 мар 2012, 17:25

Expade, у Вас переполнение типа в текущей версии. Поэтому при обработке ip-адресов начиная с 128.0.0.0 появятся проблемы.
Аватара пользователя
Dusty
 
Сообщения: 1
Зарегистрирован: 16 мар 2012, 14:24
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Бан подсетей (Subnet Ban)

Сообщение Expade » 17 мар 2012, 17:51

v1.6 [17.03.2012]
- Полностью переделан принцип работы плагина. Подсети хранятся в CIDR формате.
- Добавленно логирование.
Аватара пользователя
Expade
 
Сообщения: 38
Зарегистрирован: 14 май 2011, 19:32
Откуда: Астрахань
Благодарил (а): 21 раз.
Поблагодарили: 3 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life 1

Re: Бан подсетей (Subnet Ban)

Сообщение KoMeHDaHT » 19 мар 2012, 19:46

Новую версию не тестил, признаюсь.. Мне уже неактуально - используем свои доработки на сервере..

Хотел сказать только по поводу старых недочётов, возможно - они ещё имеют место:
1) При использовании консольной команды sb_ban, если в консоль ввести пустое значение (тоесть просто саму команду без подсети), плагин добавляет в subnets.ini пустую строчку; после нескольких таких действий сбиваются строки, - там появляются почему-то пробелы перед записями сетей, и проверка перестает работать.
Решение: простое, не вводить вхолостую команду sb_ban, но всё-таки хотелось бы чтобы он блокировал пустую строку..

2) Использование cvar'а в качестве причины для кика - имхо, не лучшее решение. Причина может быть длИнной (до 120 символов и более), в cvar такую не записать - проверено - она обрезается на половине и отображается неверно. Рекомендую Вам заменить cvar на строку из lang-файла или вшитый #define

3) Список подсетей по команде sb_banlist очень тяжело читать, при кол-ве сетей 50 и более. Если возможно, может сделать так, чтобы они упорядочивались по значениям IP? (по возрастанию, к примеру)

Может скажете, что некритичные вещи, но всё же..
Аватара пользователя
KoMeHDaHT
 
Сообщения: 20
Зарегистрирован: 15 фев 2012, 15:41
Откуда: Санкт-Петербург
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: Бан подсетей (Subnet Ban)

Сообщение Expade » 21 мар 2012, 14:08

KoMeHDaHT писал(а):1) При использовании консольной команды sb_ban, если в консоль ввести пустое значение (тоесть просто саму команду без подсети), плагин добавляет в subnets.ini пустую строчку; после нескольких таких действий сбиваются строки, - там появляются почему-то пробелы перед записями сетей, и проверка перестает работать.


Уберу :-)

KoMeHDaHT писал(а):2) Использование cvar'а в качестве причины для кика - имхо, не лучшее решение. Причина может быть длИнной (до 120 символов и более), в cvar такую не записать - проверено - она обрезается на половине и отображается неверно. Рекомендую Вам заменить cvar на строку из lang-файла или вшитый #define


Сделаю причину кика по каждой подсети.
Код: Выделить всё
"подсеть" "причина"


KoMeHDaHT писал(а):3) Список подсетей по команде sb_banlist очень тяжело читать, при кол-ве сетей 50 и более. Если возможно, может сделать так, чтобы они упорядочивались по значениям IP? (по возрастанию, к примеру)


Пытаюсь сделать список, как в amx_help. Но только пытаюсь :-D
Аватара пользователя
Expade
 
Сообщения: 38
Зарегистрирован: 14 май 2011, 19:32
Откуда: Астрахань
Благодарил (а): 21 раз.
Поблагодарили: 3 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life 1

Re: Бан подсетей (Subnet Ban)

Сообщение mazdan » 21 мар 2012, 17:14

относительно по возрастанию - проще базу данных ставить, туда сохранять и читать. Да и вообще я бы делал не так сверку IP если честно. и диапазоны соответственно не так. Айпи это 4 байта. я бы битами оперировал. А для себя бы сделал в mysql через INET_ATON и INET_ATONA.
Но мне проще фаерволом банить диапазоны :)
я не пишу плагины на заказ!
Аватара пользователя
mazdan
 
Сообщения: 739
Зарегистрирован: 12 окт 2010, 14:44
Благодарил (а): 121 раз.
Поблагодарили: 211 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Бан подсетей (Subnet Ban)

Сообщение Expade » 04 апр 2012, 15:47

кому как удобнее, не спорю :-)
Аватара пользователя
Expade
 
Сообщения: 38
Зарегистрирован: 14 май 2011, 19:32
Откуда: Астрахань
Благодарил (а): 21 раз.
Поблагодарили: 3 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life 1

Re: Бан подсетей (Subnet Ban)

Сообщение Expade » 16 апр 2012, 09:32

v1.7 [16.04.2012]
- Убран квар "sb_kick_reason", причина удаления игрока хранится в мультиязычном файле.
- Добавлен иммунитет для ботов и HLTV.
- Список забаненых подсетей выводится как в amx_help.
Аватара пользователя
Expade
 
Сообщения: 38
Зарегистрирован: 14 май 2011, 19:32
Откуда: Астрахань
Благодарил (а): 21 раз.
Поблагодарили: 3 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life 1

Re: Бан подсетей (Subnet Ban)

Сообщение 6ykBaeg » 19 апр 2012, 01:34

извините, что не в тему.
а какая разница как во 2 посте (на 1 стр)
между твоим плагином и Бан подсетей Advanced Subnet Bans :dntknw:
не вижу разницы :dntknw:



Цитата школьника из "Skype"
"а как мне айпи проверить своего айпи"
"Ты че сдох чтоли? ..н-ну, на, полечись. Дибил." (с) к/м фильм Ботан Джо
Аватара пользователя
6ykBaeg
 
Сообщения: 372
Зарегистрирован: 03 дек 2010, 14:56
Благодарил (а): 151 раз.
Поблагодарили: 41 раз.
Языки программирования: WarCraft III Frozen Throne

Re: Бан подсетей (Subnet Ban)

Сообщение Expade » 22 апр 2012, 10:31

Разница огромная:

1. В том плагине неправильное определение принадлежности IP к подсети. (к примеру IP = 150.50.0.0 будет показывать, что он не отностится к диапозону 100.100.0.0/200.0.0.0)

2. В том плагине: проверка, имеет-ли игрок стим-ид или нет, что бы в дальнейшем пропускать его на сервер - бред. А если у меня настроен дпрото, что бы нон-стимерам выдавался стим айди STEAM_0:4blablabla?

3. У меня: более удобное чтение забаненых подсетей. А там если забанить 100500 диапозонов? В одной консольки всё сразу читать нереально. Деление на своеобразные странички спасает :-)

4. И последнее, автор наверное забыл про существование своего плагина, чтобы убирать баги и добавлять новые фичи. Я же занимаюсь этим регулярно.
Аватара пользователя
Expade
 
Сообщения: 38
Зарегистрирован: 14 май 2011, 19:32
Откуда: Астрахань
Благодарил (а): 21 раз.
Поблагодарили: 3 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life 1

Re: Бан подсетей (Subnet Ban)

Сообщение mazdan » 22 апр 2012, 23:00

на mysql может стоит переписать? :)
я не пишу плагины на заказ!
Аватара пользователя
mazdan
 
Сообщения: 739
Зарегистрирован: 12 окт 2010, 14:44
Благодарил (а): 121 раз.
Поблагодарили: 211 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Пред.След.

Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11