Релиз Amxbans GM 1.6

Keb

Писатель
Регистрация
19 Июл 2011
Сообщения
5
Реакции
0
AMXBans # Gm 1.6


Измененные файлы:

Web

include/

amxx_langs.inc.php
config.inc.php
GeoIP.dat
admin/
admin_ban_add.php
admin_ban_add_online.php
user/
user_bd.php

language/

*

templates/

darkgold/
css/
paginator.css
style.css
js/
amxbans.js.php
admin_in.tpl
admin_sv.tpl
ban_list.tpl
main_footer.tpl
motd.tpl
search.tpl
user_bd.tpl

default/
css/
style.css
js/
amxbans.js.php
admin_in.tpl
admin_sv.tpl
main_footer.tpl
motd.tpl

Plugin

configs/

amxbans.cfg
amxbans.ini [+]

data/lang/

amxbans.txt
amxbans_ssban.txt [+]

scripting/

Изменения:

Глобальные изменения

Убраны пустые переменные которые встречаются почти после всех SQL запросов.
Расставлены все ArrayDestroy() и SQL_FreeHandle().
Общая косметика кода для лучшей читабельности.

amxbans_core.sma
const -> define
temp[1024] @ 293 строка. Убрано, т.к. не используется.
prepare_prefix -> replace_all. Супер костыли?
SQL_Execute -> SQL_ThreadQuery

amxbans_flagged.sma
Теперь сообщение показывается ТОЛЬКО один раз при входе флагнутого игрока
sizeof() -> charsmax() (-1 забыли добавить)
SteamID в сообщении заменено на IP

amxbans_main.sma
const -> define
Убраны лишние переменные из delayed_kick()
Изменен код логов ошибок SQL
Добавлены оффсеты к set_task()'ам
Перемещены запуски проверок prebanned() и flagged(), что должно решить трабл с "Thread worker unable to start"
Добавлен квар для принудительного выбора типа бана
Добавлен квар и возможность автоматически делать скрин перед баном
Добавлен квар оффсета разницы во времени между базой данных и игровым сервером
Убрано get_modname() из plugin_init()

check_flag.inl
Исправлены небольшие непонятки с отпревлением оставшегося времени флага через форвард

check_player.inl
Проверка игрока теперь идет на 0.25 секунд позже (чтобы дать отработать остальным плагинам в client_authorized() и зря не проводить проверку)
Добавлен IP игрока в сообщении о количестве предыдущих банов
Исправлен трабл с русским текстом в консоли игрока
Кик теперь сразу после проверки (вспомним трабл с редиректом, когда некоторым выдавало "Вы забанены" при частых попытках войти на сервер)

cmd_ban.inl
Анти дабл-бан теперь работает корректно
Исправлены нестыковки в размерах переменных
Чистка хостнейма от "левых" символов снова рабочая
Исправлено обрезание причин от античитов
Убрана функция insert_ban_cmd() (нигде не используется)

color_chat.inl
Добавлена возможность задавать цвета !g — зеленый !t — цвет команды !y — нормальный

global_vars.inl
const -> define

init_functions.inl
Теперь русские хостнейм и причины отображаются нормально без вмешательства в конфиг MySQL
Убран id который тащился через все функции и который ниразу небыл использован
timestamp теперь задает MySQL
Добавлен инклюд reason_checker.inl
Позволяет вырезать части причнин (к примеру от античитов)
Позволяет изменять ник админа в зависимости от причины (только для серверных банов)
См. amxbans.ini

amxbans.txt
Исправлен русский язык
Добавлен отсутсвующий ключ FLAGGED_PLAYER в английский и русский


28.03.2011 15:41
Re-check и доработка.

amxbans_core.sma
Передача форварда инициализации sql перенесена на окончание кеширования админов

amxbans_main.sma
Исправлен срач в хранении данных юзеров
Вместе с этим привязка данных с "admin id -> (player id, player ip, reason...)" изменена на "(admin_id -> player_id) + (player id + admin id -> (reason, time...))"
В client_disconnect() добавлены некоторые remove_task()
Полное исправление русских причин банов
Расставлены проверки дабл-бана во избежание изменения информации в процессе обработки игрока
Все булы (bool) и состояния пользователя заменены на битсумму
Все индентификаторы и состояния пользователя обновляются только по надобности
get_cvar_*() -> get_pcvar_*()
Добавлен квар отключающий флаг-меню и проверку флагов
Добавлен квар отключающий меню истории банов
Условия в функциях расставлены в нужном порядке

check_player.inl
Теперь проверка на бан не осуществляется если на игроке иммунитет

amxbans_ssban.sma
Добавление скрин-меню в amxmodmenu перенесено в соответствующий плагин

web
Немного исправлен русский ланг
Добавлен отсутствующий ключ "ru"

02.04.2011 20:29

amxbans_main.sma
Избавился от трёхмерных массивов
Минимизировал возможность утрату данных в процессе бана
Исправлена ошибка с причиной бана, когда игрок выходил в процессе бана

03.04.2011 04:09
Исправление ошибок, найденых во время тестирования

amxbans_core.sma
Добавлен дефайн SYNC_SQL, закомментировав который будет использован отложенный запрос в базу

amxbans_main.sma
Добавлена возможность автоматически проверять разницу во времени между сервером и MySQL
Фикс обновления ника игрока

menu_stocks.inl
Исправлен небольшой фейл с недоступными игроками

cmd_unban.inl
Исправлена вероятность ошибки при записи анбана в лог

amxbans_ssban.sma
Добавлен мульти-ланг amxbans_ssban.txt

Web
Исправлен подсчет нарушений
Исправлена дата в MOTD
Обновил GeoIP
Изменено название типа бана "SteamID и/или IP" на "IP" чтобы соответсвовало действительности
Исправлен украинский язык


24.04.2011 14:12
Багрепорты

cmd_ban.inl
Исправлена проверка на существующий бан


Небольшая информация


Перед установкой/обновлением рекомендуем прочесть.


Перед компилированием плагинов:


Для использования отложенных запросов — закомментируйте #define SYNC_SQL в amxbans_core.sma. Это увеличит время загрузки админов из базы, однако не будет прерывать игровую синхронизацию. Если вам не важна очень быстрая загрузка админов из базы — рекомендую закомментировать.
Если вы хотите, чтобы при использовании команды amx_unban бан полностью удалялся из базы — расскоментируйте #define UNBAN_GAME_DEL в amxbans_main.sma
Если у вас нормально отображались русские причины банов в ранних версиях — закомментируйте #define SET_NAMES_UTF8 в amxbans_main.sma

Известные баги с #define SET_NAMES_UTF8:

После редактирования бана с русской причиной из веб-части, причина у игрока в консоли может отображатся как "?????"
При добавлении бана из веб-части с русской причиной, причина у игрока в консоли может отображатся как "?????"

Обновление


Игровая часть

Сохранить свой текущий конфиг addons/amxmodx/configs/amxbans.cfg.
Закинуть файлы из папки Plugin в директорию /addons/amxmodx с заменой.
Скомпилировать плагины.
Настроить конфиг amxbans.cfg в соответствии с вашими старыми настройками, в противном случае будет проблема с чтением настроек.

Веб

Закинуть файлы из папки Update в корень амхбанса.
Запустить /upgrade.php, укажите ваши данные от базы данных
"Профит" уже звучит пошло, вульгарно, но тем не менее, это он.


Благодарности

@xPaw FTW!
@Sho0ter FTW! Ну а если серьезно, Шутер переписал всю игровую часть, ченджлог на 128 строчек — его работа :3
@Misaka за помощь с переводом файлов. А еще @Shidla за самый первый перевод, который используется по сей день :3
AMXX.pl Team за огромную помощь в поддержке. Парни, простите, что не включили ваш скрипт импорта — банально не было времени протестировать.

 
Вроде как авторы этого скрипта просили ставить ссылку для скачивания на тему на их сайте, не?
 
Назад
Сверху