AMX Subnet Ban (AMXBans version), бан подсети, бан подсетей, subnet ban, скрипт бана подсетей |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
AMX Subnet Ban (AMXBans version), бан подсети, бан подсетей, subnet ban, скрипт бана подсетей |
Kirby Magicman |
14.1.2013, 13:04
Сообщение
|
|
AMX Subnet Bans (AMXBans version) v.1.4.1 Автор: Lev Адаптация серверной части: mazdan Адаптация веб-части: Jungle, он же Kirby Magicman Описание: блокирует подсеть игрока, тем самым прикрывает возможность зайти на сервер используя динамический ip-адрес. Возможности: Код 1. Бан как через веб-часть так и непосредственно на сервере 2. Интеграция с dproto - допуск на сервер разрешенных клиентов по выбору (Steam, SteamEmu, RevEmu, OldEmu, HLTV, SC2009, AVSMP) 3. "Вайт-лист", а именно допуск на сервер по nick+pass/steam/ip указанных через amxbans 4. Как sql так и no-sql версии (no-sql версия не тестировалась) 5. Возможность указать причину бана и вывести её в консоле игрока 6. Запись времени последнего входа с данной подсети и вывод в админ-панель amxbans 7. Автоматическое создание базы данных и нужных таблиц (данные коннекта те же что и в amxbans, менять ничего не надо, особенно название и префиксы таблиц amx_subnetbans и amx_players) 8. Логирование в файл (дополнительный дебаги можно включить, раскомментировавши соответсвующие строки) 9. Информирование о коннекте нового игрока и его страны (указываются отдельным кваром) 10. Допуск по флагам (указываются отдельным кваром) 11. Показ ссылки на скачивание клиента (ссылка так же указана в кваре) Требования: - Модуль GeoIpMax: geoipmax_amxx.dll (Windows) / geoipmax_amxx_i386.so (Linux) (если вы не хотите использовать GeoIP вы можете отключить через исходник); - Если вы хотите использовать whois откройте TCP порт 43 с работающим DNS клиентом; Комманды (по-дефолту флаг доступа к ним 'n') Цитата sb_help - выводит инфу о доступных коммандах; sb_ban - бан игрока Код sb_ban: <steamID | nickname | user ID | IP> [allowed clients flags] [reason] <start IP> <end IP> [allowed clients flags] [reason] <subnet in CIDR format> [allowed clients flags] [reason] sb_unban - розбан подсети Код sb_unban: <IP> [limit (default 1)] <start IP> <end IP> [exact match (default 1)] <subnet in CIDR format> [exact match (default 1)] sb_list - выводит список забаненных подсетей по указанным параметрам Код sb_list: <IP> [limit (default 0)] <start IP> <end IP> [exact match (default 0)] <subnet in CIDR format> [exact match (default 0)] sb_search - поиск подсети по указанной причине бана (дибильная штука, чесно говоря, поиск по причине бана... как-то бредово звучит) Код sb_search <reason> sb_whois - делает запрос в базу на получение информации об игроке Код sb_whois <steamID | nickname | user ID | IP> sb_stat - выводит инфу об игроках которые на сервере, а именно их user id, ник, IP, использованый протокол клиента, провайдер, страна, город, название подсети, дополнительная инфа с базы (последним двум нужно sb_use_whois_on_connect "1", из-за чего будет лагать при подключении игрока). Квары: Код sb_def_allowed_clients "bdgh" // Разрешенные клиенты, которые будут использованы в команде бана, если их не указать ("bdgh" = Native Steam, RevEmu, SC2009 и AVSMP) sb_allowed_flags "ab" // Флаги, имея которые игрок не проверяется sb_downloadurl "http://aghl.ru/files/patches/updater.exe" // Ссылка на скачивание нового клиента sb_download_clienttype "d" // Тип клиента, который указан в ссылке sb_announce_connected "1" // Вкл./Выкл. hud-сообщения о коннекте нового игрока sb_use_whois_on_connect "0" // Вкл./Выкл. использования whois при коннекте игрока sb_use_whois_for_ban "1" // Вкл./Выкл. использования whois для определения подсети при бане Установка: Код Серверная часть: 1. Раскинуть все по папкам 2. Для неверующих проверить исходник на наличие бекдоров и шлюх и скомпилить его 3. Прописать в plugins.ini amxbans_subnets.amxx или amxbans_subnets_sql.amxx, в зависимости какой вы скомпилировали ([b]нельзя использовать сразу два плагина[/b]) 4. Рестартнуть сервер и подождать пока плагин сделает нужные запросы в бд Веб-часть: 1. В зависимости какой у вас amxbans выбрать файли из соответствующих папок и залить на веб-сервер с заменой (Файлы взяты с оригинальных дистрибутивов. Если у вас есть какие-то свои переделки кода (не диза, а именно кода) - делайте все сами и вручную) 2. Если запросы не исполнились, вручную отправьте запросы через phpmyadmin, или navicat, или что вы там используете. Запросы указаны ниже под спойлерами. Дополнительно Константы Dproto Код #define DP_AUTH_NONE 0 // flag // "N/A" - slot is free #define DP_AUTH_DPROTO 1 // a // dproto #define DP_AUTH_STEAM 2 // b // Native Steam #define DP_AUTH_STEAMEMU 3 // c // SteamEmu #define DP_AUTH_REVEMU 4 // d // RevEmu #define DP_AUTH_OLDREVEMU 5 // e // Old RevEmu #define DP_AUTH_HLTV 6 // f // HLTV #define DP_AUTH_SC2009 7 // g // SteamClient2009 #define DP_AUTH_AVSMP 8 // h // AVSMP При бане указывать буквами, например, bcdh = Steam+SteamEmu+RevEmu+AVSMP. SQL-запросы (если плагин сам не создал их) - Код CREATE DATABASE IF NOT EXISTS `название бд` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; - Создание таблицы с подсетями: Код CREATE TABLE IF NOT EXISTS `amx_subnetbans` ( `id` int(5) NOT NULL AUTO_INCREMENT, `startip` int(10) unsigned NOT NULL, `endip` int(10) unsigned NOT NULL, `allowedclients` tinyint(3) unsigned NOT NULL, `datetimebanned` int(10) unsigned NOT NULL, `datetimelastblocked` int(10) unsigned NOT NULL, `reason` varchar(64) NOT NULL, `comments` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `startip_endip` (`startip`,`endip`), KEY `startip` (`startip`), KEY `endip` (`endip`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Banned subnets' AUTO_INCREMENT=5; - Создание таблицы с разрешенными игроками: Код CREATE TABLE IF NOT EXISTS `amx_players` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ident` varchar(32) NOT NULL, `password` varchar(32) NOT NULL, `type` int(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Allowed Players' AUTO_INCREMENT=3; - Добавление прав администратора на просмотр и редактирование: Код ALTER TABLE amx_levels ADD COLUMN `subnets_view` enum('yes','no') DEFAULT 'no' AFTER `amxadmins_edit` ALTER TABLE amx_levels ADD COLUMN `subnets_edit` enum('yes','no') DEFAULT 'no' AFTER `subnets_view` Ченджлог Код v0.6a [2009.10.28] Alpha release. v0.7a [2009.11.17] + Added: ini supporting version. v0.8a [2009.11.18] + Added: now store reason for a ban. v0.9a [2009.11.20] + Added: sb_whois command. + Added: sb_stat command. + Added: log commands usage. v1.0a [2009.11.20] + Added: announce about newly connected user. + Added: now store datetime subnet was banned, last datetime connection from subnet was blocked. v1.0b [2009.11.21] Beta release. v1.0b [2009.11.21] + Added: compile option: USING_GEOIP. v1.1b [2009.12.22] ! Fixed: ban stopped if sb_use_whois 0. + Added: now two cvars to control use of whois. v1.2b [2009.04.08] ! Fixed: sb_stat command now correctly working with new auth type (HLTV) and also with feature auth types. v1.3 [2011.02.15] Release vesion. + Added: support for new dproto authproviders: SC2009 and AVSMP. Recommended DB update: UPDATE `subnetbans` SET `allowedclients`=202 WHERE `allowedclients`=10 ! Fixed: client now will be kicked if disconnect will not do work. ! Fixed: small potential bugs. ! Fixed: small texts corrections. ! Changed: default clients in CVAR sb_def_allowed_clients now are (used for ban): "bdgh". + Added: new CVAR sb_download_clienttype - used to show download URL if that client type is allowed. ! Fixed: ban command parameters parsing (in case client flags are empty). + Added: sb_search command - search for specified reason substring. Update DB with: ALTER TABLE `subnetbans` CHANGE `reason` `reason` VARCHAR( 64 ) CHARACTER SET latin COLLATE latin1_general_ci NOT NULL v1.4 [2011.02.23] + Added: CVAR sb_sql_create_db - use it to automatically create database and(or) table for bans. ! Fixed: little correction to help text. v1.4.1 [2013.01.14] + Added: Integration with AMXBans # Gm 1.6 and AMXBans 6.0.3. + Added: Some code into plugin. Ссылка на скачку -> amxbans_subnets.rar ( 10,56 мегабайт ) Кол-во скачиваний: 281 Ах да, чтобы вас не кидало на страницу с банлистом после установки этого дополнения, перезайдите в amxbans под своей учётной записью. |
Поблагодарили 13 раз
|
|
mazdan |
14.1.2013, 13:07
Сообщение
|
|
я как обычно сделал костыльными методами - не ругайтесь :D
Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
Поблагодарили 2 раз
|
|
Vitaliy |
14.1.2013, 17:47
Сообщение
|
|
С dop_ban.amxx от маздан. Есть смысл ставить? Будет ли работать
PHP / JS / Java / JavaFX
SVV Monitor Engine - Продажа мониторинга игровых серверов, подробнее: профиль / лс / контакты |
|
|
Kirby Magicman |
14.1.2013, 18:19
Сообщение
|
|
|
|
|
mazdan |
14.1.2013, 19:03
Сообщение
|
|
совершенно верно, плагины разные перекликаться не будут.
Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
|
|
Paster |
15.1.2013, 11:06
Сообщение
|
|
Тут такое дело!
Начал подключать плагин (правил в исходе amxbans_subnets_sql.sma) в БД amx_ban, в логах пишет: Код L 01/15/2013 - 10:25:29: [amxbans_subnets_sql.amxx] Ошибка при создании таблицы. L 01/15/2013 - 10:25:29: [amxbans_subnets_sql.amxx] Ошибка при выполнении запроса! L 01/15/2013 - 10:25:29: [amxbans_subnets_sql.amxx] Ошибка многопоточного запроса, точка кода: 9 L 01/15/2013 - 10:25:29: [amxbans_subnets_sql.amxx] Текст сообщения: Duplicate column name 'subnets_edit' (1060) Далее выполнил sql запросы как написано выше: создал таблицы amx_players и amx_subnetbans В плагине выставил "sb_sql_create_db", "0" создавать БД уже не нужно. Что касается вебки, все скопировал, в АЦ бан листа появились доп. функции на панельке, скрин прилагается. Но при клике на Управление банами подсетей или Вайт-лист игроков идет сброс на ban_list.php Тестово через скрин в консоле сервера добавил пару банов подсетки, в БД добавило, т.е. плаг БД видет, скрин прилагается. Возможно дело в том, что я подсовую БД amx_ban и надо править все скрипты к примеру в admin_subnet.php В настройках бан листа: Код $config->db_host = "localhost"; $config->db_user = "amx_ban"; $config->db_pass = "password"; $config->db_db = "amx_ban"; $config->db_prefix = "amx"; Или что не так делаю?
Отредактировал: Paster, - 15.1.2013, 13:19
Прикрепленные файлы:
|
|
|
mazdan |
15.1.2013, 11:38
Сообщение
|
|
запросы нужно там менять, примерно так
Код "ALTER TABLE amx_levels ADD COLUMN `subnets_view` enum('yes','no') DEFAULT 'no' AFTER `amxadmins_edit`" на Код "IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'amx_levels' AND COLUMN_NAME = 'subnets_view') BEGIN ALTER TABLE amx_levels ADD COLUMN `subnets_view` enum('yes','no') DEFAULT 'no' AFTER `amxadmins_edit` END" и второй так же Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
|
|
Paster |
15.1.2013, 12:16
Сообщение
|
|
В базе данных, в таблице уровней для 1го уровня стоит так, см. скрин
Но все равно скидывает на бан лист при клике
Прикрепленные файлы:
|
|
|
Kirby Magicman |
15.1.2013, 13:00
Сообщение
|
|
Ты права на доступ к подсетям для своего левела поставил (админка-веб сайт-редакт левелов)? И зачем ты редактируешь файл admin_subnet.php? Исходнить трогать не надо. Он берет данные коннекта из sql.ini
Отредактировал: Kirby Magicman, - 15.1.2013, 13:06
|
|
|
Paster |
15.1.2013, 13:09
Сообщение
|
|
Ты права на доступ к подсетям для своего левела поставил (админка-веб сайт-редакт левелов)? Да для 1-го уровня, в к-м нахожусь... Ты права на доступ к подсетям для своего левела поставил (админка-веб сайт-редакт левелов)? И зачем ты редактируешь файл admin_subnet.php? Исходнить трогать не надо. Он берет данные коннекта из sql.ini У меня просто данные БД не с sql.cfg считываются...
Отредактировал: Paster, - 15.1.2013, 13:07
Прикрепленные файлы:
|
|
|
Kirby Magicman |
15.1.2013, 13:09
Сообщение
|
|
|
Поблагодарили 1 раз
|
|
Paster |
15.1.2013, 17:10
Сообщение
|
|
|
|
|
Kirby Magicman |
15.1.2013, 19:05
Сообщение
|
|
|
|
|
Paster |
16.1.2013, 15:58
Сообщение
|
|
Скинь сюда свой admin_ms.tpl и кинь мне данные доступа по фтп и админки банса в ЛС Данные сейчас вышлю!
Прикрепленные файлы:
|
|
|
Kirby Magicman |
16.1.2013, 16:20
Сообщение
|
|
|
|
|
Paster |
16.1.2013, 16:59
Сообщение
|
|
забыл сказать, перезайди в админку под своим логином и прочитай ЛС Вот!
Прикрепленные файлы:
|
|
|
Paster |
16.1.2013, 17:41
Сообщение
|
|
|
|
|
Kirby Magicman |
16.1.2013, 18:04
Сообщение
|
|
Ну что смотрел? В admin_ul.tpl после Код <td>{html_options name=amxadmins_edit values=$choose1 output=$output1|lang selected=$levels.amxadmins_edit}</td> добавь Код <td>{html_options name=subnets_view values=$choose1 output=$output1|lang selected=$levels.subnets_view}</td>
<td>{html_options name=subnets_edit values=$choose1 output=$output1|lang selected=$levels.subnets_edit}</td>
Отредактировал: Kirby Magicman, - 16.1.2013, 18:19
|
|
|
Paster |
16.1.2013, 20:29
Сообщение
|
|
В admin_ul.tpl после Код <td>{html_options name=amxadmins_edit values=$choose1 output=$output1|lang selected=$levels.amxadmins_edit}</td> добавь Код <td>{html_options name=subnets_view values=$choose1 output=$output1|lang selected=$levels.subnets_view}</td> <td>{html_options name=subnets_edit values=$choose1 output=$output1|lang selected=$levels.subnets_edit}</td> Все так же сбрасывает на бан лист Помогай ) |
|
|
Kirby Magicman |
16.1.2013, 22:00
Сообщение
|
|
|
Поблагодарили 1 раз
|
|