Sourcebans 1.4.6 rus - доводим до ума
Скачать русифицированный web-интерфейс можно отсюда. Помимо русификации внесены небольшие оптимизирующие код изменения и слегка изменен интерфейс (окно логина).
Теперь немного о том, как отредактировать скрипт под свой сайт.
1. Обычно необходимо добавить дополнительные ссылки в хедер - на форум, на главную страницу сайта и т.п. для этого в файле /includes/system-functions.php примерно на строке 176 добавляем необходимые кнопки:
2. Чтобы изменить бекграунд сайта достаточно перекрасить файл themes/default/images/bk.gif. А для замены логотипа - заменяем файл images/logos/sb-large.png. Ну вот и все, наслаждайтесь русифицированным sourcebans в цветовой гамме вашего сайта, с нужными кнопками и вашим логотипом.
3. Очень рекомендую отключить протесты и предложения банов, работают совершенно неэффективно. В этих целях лучше использовать форум.
4. Советую изменить формат времени в настройках на такой -
5. Страна забаненого определяется с помощью файла \includes\IpToCountry.csv. В версии, скачиваемой с официального сайта он сильно устарел, поэтому я обновил его до актуальной версии. Свежайшую версию этого файла также всего можно скачать по этой ссылке.
Теперь переходим к самому плагину. Да-да, его тоже можно, и даже нужно отредактировать.
1. Перманентные баны могут давать только те админы, у которых стоит флаг "Unban player". Как написано на офсайте, это не баг, это фича. Но, на мой взгляд, какая-то сомнительная.
Исправление: редактируем sourcebans.sp, примерно на строке 892 удаляем строку
2. Русифицируем сроки банов: изменяем кодировку файла sourcebans.sp на "ANSI as UTF8", она же "UT8 без BOM", и переводим строки с 892 по 899. Там же при желании можно отредактировать длительность выдаваемых банов.
3. Бан выдается ИЛИ по IP, ИЛИ по Steam_id. На лицензионных серверах это не вызывает никаких проблем, а вот на пиратках надежнее банить и по тому, и по другому. Чтобы так сделать, по файлу sourcebans.sp делаем следующие замены:
"type = 1" на "" (5 совпадений)
"type = 0" на "" (5 совпадений)
Без кавычек, то есть просто удаляем записи с type =. Это позволяет скрипту не смотреть на тип бана, а сразу проверять на совпадение все стимы и IP из базы данных.
4. При выдаче бана, помимо записи в базу данных, забаненный банится еще и непосредственно на сервере, командой banid. В результате, иногда, после того как выходит время бана, на сервере он по прежнему забанен. Чтобы этого избежать, удаляем строки примерно на линии 2101:
Format(buffer, sizeof(buffer), "banid %d %s", ProcessQueueTime, auth);
ServerCommand(buffer);
Чтобы убрать добавление бана на сервере после попытки захода, удаляем 2 строки где то на 1470й строчке:
ServerCommand(buffer);
Если база временно недоступна, опять таки, добавляется бан на самом сервере. У кого база на локалхосте - можно смело убирать весть блок else на строке 1393, то есть полностью удаляем следующее:
// the insert failed so we leave the record in the queue and increase our temporary ban
FormatEx(buffer, sizeof(buffer), "banid %d %s", ProcessQueueTime, auth);
ServerCommand(buffer);
}
Скачать уже скомпилированный файл с вышеперечисленными изменениями можно отсюда. Однако в нем удален срок бана перманент, он заменен сроком в один год.
Инструкцию по начальной установке sourcebans можно найти тут.
- Просмотров: 13 616