Fresh Bans

amxx Fresh Bans 1.4.6

Нет прав для скачивания
Для CS 1.6
C++:
Файлы .amxx:
admin_loader_ХX.amxx - служит для загрузки админов из БД (последние цифры-поддерживаемая версия AmxModX)
fb_web_online.amxx - файл для online банов с веб морды AmxBans/CS:Bans.
fresh_bans_XX.amxx - файл бан-системы FreshBans (последние цифры-поддерживаемая версия AmxModX)
Файлы .cfg:
main.cfg - основной конфигурационный файл.
reason.cfg - настройка причин банов.
time.cfg - настройка времени банов.
Файлы Web-морды:
config.inc.php - поддержка русских причин бана и названия сервера.
ban_list.php и layer_banedit_banlist.tpl - возможность редактировать бан из банлиста.
Архив fb_forwards.rar
Плагин для снятия скриншотов и дополнительным HUD/Chat

Файлы .txt:
fresh_bans.txt - файл локализации Fresh Bans.(возможность добавлять любые языки для стран - сейчас имеется RU/EN) + тут редактируется, также настройка вывода текста игроку в консоле при бане.
time.txt - стандартный файл локализации времени.(для нормального и правильного отображения локализации freshbans.txt)
Остальные файлы:
Остальные файлы .txt - полное описание/инструкция настроек/кваров/файлов Fresh Bans.
C++:
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 :)
C++:
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 неплохо

C++:
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 для управления админами)
C++:
fb_sql_table "amx_table" //Название таблицы БД для банов
fb_use_sql 2
fb_sql_clear 180 - очистка истекших банов старее чем fb_sql_clear дней, рекомендуемо для sqlite т.к. они не имеют веб морды где это можно сделать нажав на кнопку =) Да и для mysql неплохо
C#:
Если у вас, при включенной настройке fb_russian 0, отображаются иероглифы:
В папке CS:BANS идем по пути /protected/config/
Открываем там файл main.php и ищем строку " 'db'=>array( " чуть ниже него находим строку " 'charset' "
Меняем значение с "utf8" на "latin1".
C++:
В архиве будет находится плагин fb_forwards со встроенным снятием скриншотов и дополнительным HUD/Chat
Настройки
Код:
#define DHUD // Раскомментируйте для использования DHUD (В исходнике)

fb_ss_website "ваш сайт" // ссылка на ваш сайт
fb_ss_msgtype "3" // Сообщения на скринах: 0 - не показывать chat/hud, 1 - только chat, 2 - только hud, 3 - показывать chat/hud
fb_ss_hudcolor "255255255" // Цвет Hud/Dhud сообщения в RGB
fb_ss_interval "1.0" // Инитервал между скриншотами
fb_ss_number "3" // Количество скриншотов

C++:
fb_kick_delay "3" - Задержка перед киком игрока в секундах(в случае если делаются скриншоты перед баном, то рекомендуемо 3-5с).
fb_server_ip "IP" - IP Вашего сервера.
fb_server_port "port" - Порт Вашего сервера.
fb_server_name "name" - Имя админа при банах сервером(например, при voteban'е).

fb_sql_host "" - Имя/Адрес хоста БД.
fb_sql_user "" - Ваш логин к БД.
fb_sql_pass "" - Ваш пароль к БД.
fb_sql_db "" - Название используемой БД(при использовании Amx Bans - указать его БД).
fb_sql_table "amx_bans" - Название таблицы БД(при использовании 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" - Флаги для возможности разбана всех банов
// Также настроить отдельные права для админов, вы можете в файле addons/amxmodx/configs/cmdaccess.ini

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" - Удалять из файла баны старше чем fb_nvault_clear дней.
fb_force_check "0" - Выбор момента проверки(пораньше или попозже): 1 - на client_connect, 0 на putinserver).
fb_cachetime "5" - Время(в минутах) жизни банкеша(только для кика).
fb_oldkickinfo "1" - Выводить старую информацию по бану игроку о кике в консоль игроку.(0 - выкл., 1 - вкл.).

fb_logtype "1" - Тип логов(отдельная папка(значение 1) или стандартный лог(значение 0), папку FB лучше создать руками в папке amxmodx/logs иначе на хостингах могут случиться сложности).
// fb_logtype, начиная с версии 0.8b, может принимать значение 2, при значении 2 идет запись в файл \cstrike\addons\amxmodx\logs\FB\*.log, но функция работает гораздо быстрее чем стандартная.
// Тест на 1000 записях в лог прошел за 0 сек. против 5-13 сек при значении квара = 1

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" - Очистка истекших банов старее чем fb_sql_clear дней, рекомендуемо для sqlite т.к. они не имеют веб морды где это можно сделать нажав на кнопку. Да и для mysql неплохо.

----------------------- СЕКЦИЯ БАНОВ ПОДСЕТИ ----------------------------
// Пускать с UCP игроков из забаненной подсети
fb_subnet_except_ucp "0"

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
// Т.е. вы должны посчитать сумму тех значений, которые хотите банить таким баном.
// Подробное описание бан-подсети, можете почитать тут - Fresh Bans
fb_rec_snet "0" - Значения 0/1/2/3 (по умолчанию 0). Система автоматического бана подсети, если из этой сети часто обходят бан.
// 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 "1" - Подтверждение при бане в чат(0 - выкл., 1 - вкл.).
// Описание квара тут - Fresh Bans

fb_locknames "1" - Значения: 0/1/2(по умолчанию 1).
// 0 - Отключено
// 1 - Запрет смены ника пока у админа открыто меню с никами
// 2 - То же самое что и 1, только выполняет клиенту команду возврата на прошлый ник, что позволяет ему сменить ник обратно, но может быть расценено дебильными раскрутками как слоухакинг.
// Описание квара тут - Fresh Bans

fb_newmenu "0" - Меню с отступами или без.(0 - без отступов, 1 - с отступами).
// Описание квара тут - Fresh Bans
// Скриншоты нового меню тут - Fresh Bans

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"
// fb_customreason_flag по умолчанию "d" (т.е. отключено т.к. это флаг бана и у есть всех, кто может вызывать меню\команды ).
// fb_customreason_flag "l" - только админ с флагом l сможет вводить свою причину.

// Добавление префикса к нику.
fb_plugin_prefix "3" - Включить/отключить добавление префикса за вывод приставки в чат при бане.
// 1 - это Fb приставка
// 2 - это [Fb] приставка
// 3 - это FreshBans приставка
// 4 - Если поставить 4 то приставки вообще не будет и в cfg файле вы сможете поставить свою приставку
// Пример
// fb_chatinfo "%1%[%4%Бан система%1%] Игрок [%3%%player%%1%] забанен на [%4%%lenght%%1%] с причиной [%3%%reason%%1%]"

fb_plugin_hprefix "0" // Включить/отключить добавление префиксов.
fb_menu_nick_addons "31" - (1 = команда, 2 = прошлые баны, 4 = бот, 8 = HLTV, 16 = Админ, 32 = Steam, по умолчанию все кроме стима - прописать надо сумму значений).

fb_acp_admin_uid "0" - Интеграция с ACP

// Если он равен 1 то кикнет всех с этого айпи с сервера (в течение 30 сек после бана). Сообщение в консоли будет просто что этот айпи забанен, при перезаходе будет уже причину писать нормально.
fb_kick_all_from_ip "0"

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)


// Настройка для плагина admin_loader.amxx. Если вы заменяете amxbans_core.amxx, то раскомментируйте и настройте квары. - Квары уже настроены по умолчанию для AmxBans.
// amx_password_field "_pw"
// amx_amxadmins_table "amx_amxadmins"
// amx_admins_table "amx_admins_servers"
// Если вы испытываете проблему с amxbans_core.amxx, то можете попробовать вариант с admin_loader.amxx(служит для загрузки админов из БД Amxbans, по сути служит для замены amxbans_core.amxx).
// Более подробно можете почитать здесь - Fresh Bans
// Для корректной работы amxbans_core.amxx при его использовании, нужно добавить в файл amxx.cfg строчку - exec "addons/amxmodx/configs/amxbans.cfg"
amx_al_ubans 0 // использовать запрос как для таблиц ubans (1 - включено, по умолчанию 0)
//Кроме того, нужно указать другие таблицы в кварах
//amx_amxadmins_table "amx_users"
//amx_admins_table "amx_users_servers"

amx_al_case_sens 1 // Для ников использовать case sensetive или нет (1 - включено, по умолчанию 1)


C#:
/**
 * @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
 */

C++:
fb_menu или amx_banmenu // Бан меню.

fb_ban <time in mins> <#userid> <reason> // Бан игрока

amx_ban <time in mins> <steamID or nickname or #authid or IP> <reason> // Тоже бан.
Важно отметить, что команда fb_ban работает только с %userid% и желательно использовать её, особенно в античитах.

fb_unban [ часть ника | стимайди | айпи ] // Разбан игроков.
amx_unban - аналог fb_unban

fb_bb // Просмотр истекших банов игроков.

fb_offban или amx_bandisconnectedmenu // Меню Offline банов(тех, кто отсоединился).
Фильтрация:
fb_offban pla // Покажет только тех, у кого в нике было pla или pLA

fb_flushcache // Очистить кэш банов.
При разбане игрока серверной командой по IP, требуется так-же разбан по SteamID и наоборот, либо выполнение fb_flushcache.

fb_showchat 1 // Показ сообщения при бане в чате(0 - выкл., 1 - вкл.).

fb_add_replace_admin <reason> <admin name> // При бане с причиной <reason> ник админа будет выставлен как <admin_name>.
C++:
/fb - Откроет меню бана.
Примеры использования:
/fb pro100 1440 MAT
Предложит меню для подтверждения бана игрока pro100 на "Бан на 1 день" с причиной "Мат / оскорбления".
Если pro100 это часть ника игрока и с этими символами есть ещё игроки онлайн - выдаст меню с именами игроков при совпадении ников, далее необходимо выбрать требуемого игрока и подтвердить бан).
Вместо времени в минутах можно указать нативное время, например, 1y2m - выдаст бан на 1 год и 2 месяца.

/fb_sayban - Откроет меню бана - аналог /fb, но сделана для того чтобы можно было забиндить на кнопочку.
Например: bind F7 "messagemode fb_sayban" // После этого вводим команду бана, например: PL 1y wh
По такой команде система понимает, что нужно забанить игрока megaPLayer на 1 год за Wallhack.
При вводе pl плагин соответственно предложит выбрать время и причину для бана. Если на сервере несколько игроков с pl в нике, то соответственно надо будет выбрать конкретного из них.
Сверху Снизу