Fresh Bans

amxx Fresh Bans 1.4.8

Нет прав для скачивания
Установка
Файлы .amxx:
  • fresh_bans_XX.amxx - файл бан-системы FreshBans (последние цифры-поддерживаемая версия AmxModX)
Файлы .cfg:
  • main.cfg - основной конфигурационный файл.
  • reason.cfg - настройка причин банов.
  • time.cfg - настройка времени банов.
Файлы .txt:
  • fresh_bans.txt - файл локализации Fresh Bans.(возможность добавлять любые языки для стран - сейчас имеется RU/EN) + тут редактируется, также настройка вывода текста игроку в консоле при бане.
  • time.txt - стандартный файл локализации времени.(для нормального и правильного отображения локализации freshbans.txt)
Остальные файлы:
  • Остальные файлы .txt - полное описание/инструкция настроек/кваров/файлов Fresh Bans.
1. Установить amxbans (предпочтительно GM 1.6) или csbans
1.1. Поставить веб морду​
1.2. Поставить плагины
1.3. Убедиться что сервер появился в веб морде

2. Установить fresh_bans
2.1. Файл fresh_bans.amxx скопировать в /addons/amxmodx/plugins​
2.2. Файлы main.cfg, print_console.cfg, reason.cfg, time.cfg скопировать в заранее созданную папку fb в /addons/amxmodx/configs
2.2.1 Отредактируйте конфиги под свои нужды, на то они и конфиги!
2.3. Добавить в файл amxx.cfg строку: exec "addons/amxmodx/configs/amxbans.cfg" (если используете amxbans_core для управления админами)
2.4. прописать плагин в plugins.ini :)
Код:
fb_sql_host "host" // Имя/адрес хоста БД
fb_sql_user "user" // Ваш логин к БД
fb_sql_pass "pass" // Ваш пароль к БД
fb_sql_db "bd_name" // Название используемой БД
fb_sql_table "amx_table" //Название таблицы БД для банов
fb_use_sql 1
fb_sql_clear 180 - очистка истекших банов старее чем fb_sql_clear дней, рекомендуемо для sqlite т.к. они не имеют веб морды где это можно сделать нажав на кнопку =) Да и для mysql неплохо
1.1. Поставить веб морду
1. Установить fresh_bans
1.0 вписать в amxmodx/configs/modules.ini строку sqlite​
После этого могут быть проблемы с mysql плагинами, но раз вы используете sqlite то и mysql не нужен :)​
1.1. Файл fresh_bans.amxx скопировать в /addons/amxmodx/plugins​
1.2. Файлы main.cfg, print_console.cfg, reason.cfg, time.cfg скопировать в заранее созданную папку fb в /addons/amxmodx/configs​
1.2.1 Отредактируйте конфиги под свои нужды, на то они и конфиги!
1.4. прописать плагин в plugins.ini​
1.5. Добавить в файл amxx.cfg строку: exec "addons/amxmodx/configs/amxbans.cfg" (если используете amxbans_core для управления админами)​
Код:
fb_sql_table "amx_table" //Название таблицы БД для банов
fb_use_sql 2
fb_sql_clear 180 - очистка истекших банов старее чем fb_sql_clear дней, рекомендуемо для sqlite т.к. они не имеют веб морды где это можно сделать нажав на кнопку =) Да и для mysql неплохо
Если у вас, при включенной настройке fb_russian 0, отображаются иероглифы:
В папке CS:BANS идем по пути /protected/config/
Открываем там файл main.php и ищем строку " 'db'=>array( " чуть ниже него находим строку " 'charset' "
Меняем значение с "utf8" на "latin1".
Настройки
Код:
fb_kick_delay "5"                // Задержка перед киком игрока в секундах(в случае если делаются скриншоты перед баном, то рекомендуеся 3-5с)
fb_server_ip ""                    // IP сервера
fb_server_port ""                // Порт сервера
fb_server_name "server"            // Имя админа при банах самим сервером(античит и т.д)
fb_sql_host ""                    // IP адрес базы данных
fb_sql_user ""                    // Логин базы данных
fb_sql_pass ""                    // Пароль к базе данных
fb_sql_db ""                    // Имя базы данных
fb_sql_table "amx_bans"            // Таблица базы данных
fb_servers_table "amx_serverinfo"    // Название таблицы БД, при добавлении сервера в список серверов.
fb_sql_log_table "amx_logs"        // Название таблицы БД, при разбанах.
fb_ip_ban_time "300"            // Время дополнительного бана(в минутах) по IP в минутах для созданных банов длительностью больше данного значения.
fb_showhud "1"                    // Отображать худ-сообщение при бане(0 - выкл., 1 - вкл.).
fb_offline_time "50"            // Время(в минутах), на которое системой банов запоминается игрок, для осуществления бана после его дисконекта от сервера.(Для оффлайн банов)
fb_unban_self "b"                // Флаги для возможности разбанивать свои баны.
fb_unban_all "l"                // Флаги для возможности разбана всех банов
fb_oldmap_players "64"            // Число оффлайн строк с игроками для переноса на следующую карту(из минусов: туда же попадают и онлайн игроки т.к. делают дисконнект).
fb_bantime_access "l"            // Флаг для лимита времени бана(если флага нету, то лимит есть).
fb_adminrcon_flag "l"            // Флаг доступа Администратора, для возможности бана всех в т.ч. и Администраторов с иммунитетом.
fb_bantime_limit "40320"        // Время(в минутах) для лимита(по умолчанию - неделя).
fb_use_sql "1"                    // Значения 0/1/2(по умолчанию(1) - база данных MySql).
// 0 - файл
// 1 - базу данных MySql
// 2 - базу данных SqLite // При использовании SqLite желательно прописать в configs/modules.ini строки sqlite и mysql. Баны будут храниться в файле \cstrike\addons\amxmodx\data\sqlite3\fresh_bans.sq3
fb_nvault_clear "90"            // Удалять из файла баны старше чем 90 дней.
fb_force_check "0"                // Выбор момента проверки на существующий бан(пораньше или попозже): 1 - на client_connect, 0 на putinserver).
fb_cachetime "5"                // Время(в минутах) жизни банкеша(только для кика).
fb_oldkickinfo "1"                // Выводить старую ифнормацию по бану игроку о кике в консоль игроку.(0 - выкл., 1 - вкл.).
fb_logtype "1"                    // Тип логов(отдельная папка(значение 1) или стандартный лог(значение 0)
fb_loglevel "2"                    // Уровень ведения логов от 0 до 10, 1 - обычный режим.
// 0 - Критичные ошибки + баны/разбаны.
// 1 - Всякий шлак + ошибки неважнецкие.
// 2 - Кики за баны.
// 3 - Кики кэшбан.
// 5 - Сервисные логи.
// 10 - Дебаг логи.
fb_logdays "30"                    // Время хранения лог файлов, старше чем этот квар в днях будут удаляться(только для fb_logtype 1).
fb_use_russian 0                // Если вы тру админ, то не используете русские причны и название сервера, выставьте переменную в 0(по умолчанию 1), это позволит убрать два лишних mysql запроса.(0 - выкл., 1 - вкл.).
fb_sql_clear 300                // Очистка истекших банов старее чем 300 дней, рекомендуемо для sqlite т.к. они не имеют веб морды где это можно сделать нажав на кнопку. Да и для mysql неплохо.
fb_subnet_except_ucp "0"        // Пускать с UCP игроков из забаненной подсети
fb_subnet_clients "0"            // Бан клиентов с определёнными эмуляторами с подсетей.(0 - выкл., 1 - вкл.).
// Бан подсети имеет вид бана с ником SUBNETBAN в STEAM_ID указывается конечный айпи адрес, в IP начальный айпи адрес. Все клиенты из этого диапазона и попадающие под действие квара будут забанены.
fb_prefix_clients "0"            // Клиенты для проверки со старым префиксом. Нужно, если вы изменили(или хотите изменить) настройку префиксов в связи со всяким софтом подмены стимайди, но не хотите потерять старые баны Настраивать так же, как и квар fb_subnet_clients.(0 - выкл., 1 - вкл.).
// Для кваров fb_subnet_clients и fb_prefix_clients используется слудующий принцип настройки:
// dproto client [1]: "Dproto" - 2
// dproto client [2]: "Native Steam" - 4
// dproto client [3]: "SteamEmu" - 8
// dproto client [4]: "RevEmu" - 16
// dproto client [5]: "Old RevEmu" - 32
// dproto client [6]: "HLTV" - 64
// dproto client [7]: "SteamClient2009" - 128
// dproto client [8]: "AVSMP" - 256
// dproto client [9]: "SXEI" - 512
// dproto client [10]: "RevEmu2013" - 1024
// Чтобы заблокировать RevEmu и Old RevEmu введите 32 + 16 = 48 => fb_subnet_clients 48
// Т.е. вы должны посчитать сумму тех значений, которые хотите банить таким баном.
// Подробное описане бан-подсети, можете почитат тут - https://c-s.net.ua/forum/ipb.html?s=&sh...st&p=529824
fb_rec_snet "0"                    // Значения 0/1/2/3 (по умолчанию 0). Cистема автоматического бана подсети, если из этой сети часто обходят бан.
// 0 - Отключено.
// 1 - Только кикать при обнаружении. (проверка при коннекте)
// 2 - Банить подсеть через FreshBans. (если за время fb_rec_snet_time из какой-то подсети будет больше чем fb_rec_snet_count банов, то подсеть банится на время fb_rec_snet_bt)
// 3 - То же самое что и 2, только бан через addip.
// P.S. Остальные квары, зависящие от квара fb_rec_snet, при том если значения стоят 1/2/3, т.к. по умолчанию данный квар включен, то и квары эти - недействительны и всё-равно какое значение.
fb_rec_snet_time 300             // Время, за которое нужно просуммировать баны из одной подсети.
fb_rec_snet_count 3             // Число банов из одной подсети
fb_rec_snet_bt 60                 // Для fb_rec_snet 2 или 3 - Время на которое банить в минутах.
fb_subnet_recheck 10             // Время в секундах после бана подсети для выполнения перепроверки всех игроков (в зависимости от шустрости вашей БД)
fb_rec_snet_level 1             // 1 - для бана подсети /24(по умолчанию), 2 - для бана подсети /16, других значений не понимает.
fb_cachetime_kick "5"            // Аналогично fb_cachetime, только для кика.
fb_cacheonly "0"                // Отключает занесение банов на короткое время в БД(экномит ресурсы).(по умолчанию 1)
// 0 - Все баны ЗАНОСЯТСЯ в БД
// 1 - Если время бана меньше чем fb_cachetime то бан НЕ ЗАНОСИТСЯ в БД.(т.е. если у вас квар fb_cachetime равен 5, то все баны на 5 минут не будут заноситься в БД).
// 2 - Если время бана меньше чем fb_cachetime то бан НЕ ЗАНОСИТСЯ в БД, если смена карты планируется ранее чем через fb_cachetime то бан ЗАНОСИТСЯ в БД.
fb_showchat "1"                    // Отображение информации о бане в чат(0 - выкл., 1 - вкл.).
fb_chatinfo "Игрок [%4%%player%%1%] забанен на [%4%%lenght%%1%] с причиной [%4%%reason%%1%]" // Стоит по умолчанию.
// Можно изменить формат вывода в чат. Понимает команды:
// %admin%
// %reason%
// %lenght%
// %player_steam%
// %player_ip%
// %player%
// Цвет текста:
// %1%
// %2%
// %3%
// %4%
fb_hudinfo "Игрок %player% %n%Время %lenght% Причина %reason%" // Стоит по умолчанию.
// Понимает команды:
// %admin%
// %reason%
// %lenght%
// %player_steam%
// %player_ip%
// %player%
// %n% - перенос строки
fb_hudcolor "250 250 0"            // Формат R G B
fb_hudpos "0.05 0.3"            // x y - Кординаты расположения hud'a при бане.
fb_serveronly "0"                // Для учета сервера при банах(одна таблица, разные баны для разных серверов).
// Чтобы на сервере только этого сервера баны учитывались ставим 1, иначе 0. По умолчанию 0.
fb_confirmchat "0"                // Подтверждение при бане в чат(0 - выкл., 1 - вкл.)
fb_locknames "1"                // Значения: 0/1/2(по умолчанию 1).
// 0 - Отключено
// 1 - Запрет смены ника пока у админа открыто меню с никами
// 2 - То же самое что и 1, только выполняет клиенту команду возврата на прошлый ник, что позволяет ему сменить ник обратно, но может быть расценено дебильными раскрутками как слоухакинг.
fb_newmenu "0"                    // Меню с отступами или без.(0 - без отступов, 1 - с отступами).
fb_show_bb "0"                    // Значения 0/1/2/3/4 (по умолчанию 0). Оповещения о том, бывал ли какой-то либо игрок в бане или нет(как с причиной так и без)
// 0 - Отключены.
// 1 - Оповещения показываются всем.
// 2 - Оповещения показываются, только лишь Администраторам.
// 3 - Оповещения показываются с причиной бана всем.
// 4 - Оповещения показываются с причиной бана, только лишь Администраторам.
fb_noip_as_allip "1"            // Баны с сайта будут действовать на всех серверах.
fb_longtime_allservers "0"        // Баны со временем > чем fb_longtime_allservers будут действовать на всех серверах (по умолчанию 0 т.е. - отключено, время в минутах).
fb_force_bantype_ip "0"            // Банить всех, только по IP.
fb_no_confirm "d"                // Админ с флагом из квара не будет подтверждать баны. Если значение не указано - Все подтверждают баны.
fb_lock_def_time ""                // При указании времени по умолчанию для причины из reason.cfg его можно запретить менять всем кроме тех, у кого есть флаги из квара. Если значение не указано - все могут менять время по умолчанию.
fb_customreason_first "0"        // Чтобы поднять пункт своей причины на первую строку в меню измените значение на 1.
fb_customreason_flag "d"        // По умолчанию "d" (т.е. отключено т.к. это флаг бана и у есть всех, кто может вызывать меню\команды ).
// При значении "l" - только админ с флагом l сможет вводить свою причину.
fb_plugin_prefix "3"            // Добавление префикса в чате
// 1 - это Fb
// 2 - это [Fb]
// 3 - это FreshBans
// 4 - откл.
// Если вместо цифры прописать текст, то он будет использован как префикс.
fb_plugin_hprefix "0"            // Добавление префикса в HUD
// 0 - это Fb
// 1 - это [Fb]
// 2 - это FreshBans
// 3 - откл.
// Если вместо цифры прописать текст, то он будет использован как префикс.
fb_menu_nick_addons "31"         // (1 = команда, 2 = прошлые баны, 4 = бот, 8 = HLTV, 16 = Админ, 32 = Steam, по умолчанию все кроме стима - прописать надо сумму значений).
fb_acp_admin_uid "0"            // Интеграция с ACP
fb_kick_all_from_ip "0"            // При значении 1 после бана в течение 30 секунд кикнет всех игроков с сервера, тех, кто играет с такого же ip адреса
fb_positive_cache_mc "1"        // Значения 0/1 (0 выключено, по умолчанию). При включении не будет проверять игроков при смене карты (пишет в лог с уровнем 10). (если игрок был проверен и он чист, то плагин не обращается к БД).
fb_adminban_flag "d"            // Указывает с каким флагом имеется доступ к бан меню
fb_skip_bots 1                  // не проверять ботов
fb_skip_hltv 1                  // не проверять HLTV
fb_kick_check 0                 // Включить форвард для проверки кика игрока (fbans_active_ban_check(форвард, позволяющий подавить кик игрока по активному бану (например, если игрока перезашёл с клиентским античитом))).
fb_sql_charset "utf8"            // Выставить кодировку соединения с БД ( только для 1.8.3+ )
fb_menusort "w"                    // Для активации сортировки нужно прописать что-либо из параметров, если пусто, то работает как и раньше. Маленькая буква параметра - по убывающей, большая по возрастающей
// i - сортировка по ID игрока (32,31,30...1). Соответственно I (1,2,3,4....32)
// t - команда (1 - кт, 2-тт, 3 - спектр, 4 - не выбрана)
// f - число фрагов
// k - число смертей
// w - игрок за которым идёт наблюдение (1 = тот игрок, 0 = не тот)
// n - первая буква имени (может криво работать с русскими буквами, пожалуй, я не тестировал)
// "w" - тот за кем следим - первый в списке
// "fI" - сортировка по числу фрагов (от больших к меньшим), если число фрагов одинаково, то по id.
// "wTfKI"
// "TfKI"
// "wfKI"
fb_menufilters                    // Фильтрация в меню по флагам. Можно поставить "hc" чтобы исключить ботов и hltv.
// "a" - do not include dead clients
// "b" - do not include alive clients
// "c" - do not include bots
// "d" - do not include human clients
// "h" - do not include HLTV proxies
// "i" - include connecting clients
fb_menu_prefix                    // Префикс для меню, что написано, то и будет как префикс. Добавлена расширенная кастомизация меню выбора игроков, активируется кваром fb_newmenu 2 и настраивается в lang файле ключами FBM_MENU_
// \admin\ - если админ, строка FBM_MENU_PLAYER_ADMIN
// \name\ - имя игрока
// \oldbans\ - есть ли старые баны
// \steam\ - если игрок стим
// \bot\
// \hltv\
// \team\- команда игрока
// \immun\ - иммунитет
fb_old_replace_time 0             // Заменить ip + steamid в банах старше чем fb_old_replace_time минут
// используется чтобы не снимать старые баны, для комбинации с бан системами типа dopban, бан остается в БД активным
// при нахождении меток игрока кикает
fb_old_replace_ip ""             // Установить айпи, например 127.0.0.2
fb_old_replace_id ""              // Установить айди, например STEAM_1:2:3
API
Код:
/**
* @section Shared forwards
*/

/**
* Called when FreshBans connected to database.
*
* @param db    A newly created tuple handle to be used in connection routines.
*
* @return      This forward ignores the returned value.
*/
forward fbans_sql_connected(const Handle: db);

/**
* Called when the connected player passed the ban check.
*
* @note Will only be called if the client don't have a ban.
*
* @param id        Client index
* @param userid    Client userid
*
* @return          This forward ignores the returned value.
*/
forward fbans_player_checked(const id, const userid);

/**
* Called after the ban when client displays the MOTD window.
*
* @param id        Client index
* @param userid    Client userid
* @param banid     Client banid
*
* @return          This forward ignores the returned value.
*/
forward fbans_ban_motdopen(const id, const userid, const banid);

/**
* Called when DopBan request to check the banid which does not exists. Needed to inform DopBan.
*
* @param id        Client index
* @param userid    Client userid
* @param banid     Client banid
*
* @return          This forward ignores the returned value.
*/
forward fbans_ban_not_found(const id, const userid, const banid);

/**
* Called before the client is banned.
*
* @param id             Client index
* @param userid         Client userid
* @param steamid        Client steamid
* @param ip             Client IP
* @param name           Client name
* @param admin_ip       Admin IP
* @param admin_steamid  Admin steamid
* @param admin_name     Admin name
* @param ban_type       Ban type
* @param reason         Reason for ban
* @param bantime        Ban time (in minutes)
*
* @return               This forward ignores the returned value.
*
*/
forward fbans_player_banned_pre(
    const id, const userid, const steamid[],
    const ip[], const name[], const admin_ip[],
    const admin_steamid[], const admin_name[], const ban_type[],
    const reason[], const bantime);

/**
* Called before the client is banned.
*
* @note For backward compatibility.
*
* @param id       Client index
* @param banid    Client banid
*
* @return         This forward ignores the returned value.
*/
forward amxbans_player_banned(const id, const banid);

/**
* Called after the client is banned.
*
* @param id        Client index
* @param userid    Client userid
* @param banid     Client banid
*
* @return          This forward ignores the returned value.
*/
forward fbans_player_banned_post(const id, const userid, const banid);

/**
* Called if requested from external ban is active and player gets kicked
* created (and used) for DopBan
*
* @param id        Client index
* @param userid    Client userid
* @param banid     Client banid
*
* @return          This forward ignores the returned value.
*/
forward db_reqp_kicked(const id, const userid, const banid);

/**
* Called when when active ban for player is checked.
* !Important! Called only when cvar fb_kick_check is not 0.
*
* @param id                Client index
* @param userid            Client userid
* @param banid             Client banid
* @param ban_created       Ban creation time (unix timestamp)
* @param ban_length_int    Ban duration in seconds
* @param ban_reason        Ban reason
* @param admin_name        Admin name
* @param admin_steamid     Admin steamid
* @param player_name       Client name
* @param player_steamid    Client steamid
* @param player_ip         Client IP
* @param ban_type          Ban type
*
* @return          PLUGIN_CONTINUE to let the command continue
*                  PLUGIN_HANDLED to cancel the player's kick.
*/
forward fbans_active_ban_check(
    const id, const userid, const banid,
    const ban_created, const ban_length_int, const ban_reason[],
    const admin_name[], const admin_steamid[], const player_name[],
    const player_steamid[], const player_ip[], const ban_type[]);

/**
* @endsection Shared forwards
*/
Сверху Снизу