• Добро Пожаловать к нам на Форум Гость! Если вы еще не зарегистрировались просим вас зарегистрироваться!

  • Для того что бы скачивать с нашего форума, нужно зарегистрироватся!

  • Цены на серверах: Админка 35грн/мес Випка 20грн/мес.

  • Девушкам играющим на сервере Випка Бесплатно!

AdminLoad, Ускоренная загрузка админов из базы (файла) с дополнительными плюшками

qpi3ik

Создатель
Команда форума
Гл.Администратор
Лучшие ответы
1
Автор: Fant0M
Актуальная версия: 3.8.3.1
Благодарности: сообществу GоldSrс. А также a2., h1k3 и другим за помощь в тестировании
Поддержка: AmxBans 1.6 GM, AmxBans 6.13, FreshBans
Поддержка amxmodx версии 1.8.2 и выше
Список серверов которые используют: http://www.gametracker.com

Краткое описание: Плагин написан чтобы ускорить загрузку администраторов с базы/файла, а также делать бэкапы на случай, если база/файл будут недоступны.

Преимущества:
- Оптимизация
- Совместимость
- Автоматические бэкапы
- Возможность указать время окончания админки в users.ini
- Нет дублей в логах
- Автоопределение многих функций
- Простота в настройке
- Расширенное API
- Возможность дополнительной проверки никнейма, если адмника прописана по SteamID или ip (для тех, кому надоедает, когда админы меняют ники и потом ищешь в логах кто есть кто)
"<name|ip|steamid>" "<password>" "<access flags>" "<account flags>" <static bantime> <expired> "<nickname>"
; nickname - никнейм админа
; ip - ip админа
; steamid - steamid админа
; password - пароль админа
; access flags - флаги админа
; account flags - флаги типа админки
; static bantime - 1 или 0. Может ли админ выбирать время бана ( для фрешбанс не имеет значения )
; expired - время когда истекает админка в формате 01.01.2017 или 0 если никогда
; Если у админки закончился срок действия, то плагин просто не будет читать эту строку
; Поля nickname, static bantime, nickname не обязательны
; Если пароль пустой, то укажите просто ""
; Если вам надо, чтобы админ, прописанные по SteamID или ip играл только под одним ником (например maksim),
; то нужно прописать в account flags дополнительный флаг l ( буква L ), написать нужно букву L - маленькую ( l )
; Например:
; "STEAM_0:0:123456" "" "t" "el" "0" "01.01.2017" "maksim"
; Остальные примеры
"loopback" "" "abcdefghijklmnopqrstuv" "de"
"STEAM_0:0:123456" "" "t" "e" "1" "01.01.2017"
"maksim" "12345" "abcdefghijklmnopqrstu" "a" "0" "0"
Список команд:
amx_reloadadmins - перезагрузка админов без смены карты (доступ по флагу h - ADMIN_CFG)
amx_admins - показать список загруженных админов (доступ по флагу h - ADMIN_CFG)
3.8.1 (25.04.2016)
- Добавлено поддержку форварда из FreshBans от Mazdan для большей совместимости
3.8
- Добавлено значение квара adminload_backup_timecheck "-1". Бэкап будет делаться только после команды amx_reloadadmins
- Исправлена загрузка с файла (никнейм и комментарии)
- Ошибки теперь записываются в (пример) error_20160822.log с тегом [AdminLoad]
- Изменён алгоритм прописывания админов в users.ini. Смотрим пример.

3.7dev
- Убраны макросы ENABLE_CLANTAGS и CHECK_ADMIN_NICK. теперь вычисляются автоматически
- Макрос HASH_PASSWORD заменен на CVAR-ы adminload_hash_db и adminload_hash_file
- Добавлено автоопределение порта сервера в CVAR-е adminload_server_address (можно указать только IP, порт будет 27015)
- Добавлен макрос DISCONECT_FWD который использует client_disconnect на AMXX 1.8.3 (По стандарту отключен)
- Добавлено значение CVAR-а adminload_load_type 3 - загрузка из бэкапа
- Добавлен CVAR adminload_hash_db - способ проверки паролей в базе (0 - обычный пароль, 1 - md5 пароль, 2 - автоопределение)
- Добавлен CVAR adminload_hash_file - способ проверки паролей в файле (0 - обычный пароль, 1 - md5 пароль, 2 - автоопределение)
- Добавлен CVAR adminload_log_type - способ ведения логов (0 - обычное логирование AMXX , 1 - в каталог logs/adminload/ отдельным файлом)
3.6
- Исправлен баг со сменой ника
- Исправлена запись в логах (спасибо pUzzlik)
- Добавлена автоостановка admin.amxx и amxbans_core.amxx (идея wopox1337)
- Добавил проверку в нативах (спасибо serfreeman1337)
- Оптимизация и мелкие фиксы
3.5
- Убран макрос AMXBANS_COMPABILITY
- Добавлен макрос HASH_PASSWORD - Включает/Отключает проверку на хэш паролей с базы (на AmxBans 6.13 нужно отключить)
- Добавлено значение для cvar-а adminload_load_type 2. Гибридная загрузка (сначала грузит с базы, потом с файла)
- Исправлен баг с первыи запуском сервера на AMXX 1.8.2 (загрузка конфига amxx.cfg)
- Исправлен баг с клан-тэгами
- Исправлены нативы и форварды
- Добавлен форвард adminload_sql_fail. Вызывается при ошибке соединения/запроса к БД
- Добавлен натив adminload_get_daysleft - Возвращает количество дней которое осталось до окончания админки
- Исправлен баг с бэкапом (когда загрузка админок неудачна, но процесс беэкапа уже начался)
- Бэкап теперь делается не только админов загруженных с базы но и с файла
- Добавлена поддержка русских ников
3.4
- Исправлена загрузка с файла users.ini
- Добавлены необязательные поля при загрузке с файла
3.3
- Макрос BACKUP_TIMECHECK заменен на CVAR adminload_backup_timecheck
- Добавлена возможность указать как интервал между повторными бэкапами базы так и бэкапам после каждой смены карты
3.2
- Исправления для AMXX 1.8.2
- Добавлен флаг L
3.1
- Релиз
Установка:
1. Отключить все плагины которые загружают админов
2. Скомилировать плагин компилятором из той версии AMXX, на которой он будет работать
3. Скопировать файл adminload.amxx в папку plugins
4. Добавить строку adminload.amxx в файл plugins.ini (Желательно вверху)
5. Сменить карту или перезапустить сервер
Ищем функцию
PHP:
displayMenu(id, pos)
В ней меняем
PHP:
new len = format(menuBody, 511,
g_coloredMenus ? "\yAMX Mod X Menu\R%d/%d^n\w^n" : "AMX Mod X Menu %d/%d^n^n" , pos + 1, (g_menusNumber / MENUITEMSPERPAGE) + (((g_menusNumber % MENUITEMSPERPAGE) > 0) ? 1 : 0))
На
PHP:
new exp = adminload_get_daysleft(id)
new left[32]
if (exp == 0) {
   format(left, 31, "Бессрочная")   
} else {
   num_to_str(exp, left, 31)
}
 
new len = format(menuBody, charsmax(menuBody),
 
g_coloredMenus ? "\yМеню админа\R%d/%d^nАдминка истекает через, дн.: %s^n\w^n" : "Меню админа %d/%d^nАдминка истекает через,  дн: %s.^n^n" , pos + 1, (g_menusNumber / MENUITEMSPERPAGE) + (((g_menusNumber % MENUITEMSPERPAGE) > 0) ? 1 : 0), left)
Также меняем
PHP:
show_menu(id, keys, menuBody)
На
PHP:
show_menu(id, keys, menuBody, -1, "AMXMODXMENU")
Ищем ближе к концу файла строчку
PHP:
register_menucmd(register_menuid("AMX Mod X Menu"), 1023, "actionMenu")
И заменяем на
PHP:
register_menucmd(register_menuid("AMXMODXMENU"), 1023, "actionMenu")
Также добавляем в начало файла после [HASHTAG]#include[/HASHTAG] <amxmisc>
PHP:
#include <adminload>
Копируем файл adminload.inc в папку scripting/include и компилируем файл. Заменяем оригинальный (перед этим сделайте бэкап). После чего меняем карту или перезагружаем сервер
Ркзультат
menufrontpng4895ae3fdb5ba21e6ff4a80df4d5c921.png
Проверено на AMXX 1.8.2 и 1.8.3].
Обязательно компилируйте плагин компилятором из той версии AMXX, на которой он будет работать.
Отключите другие плагины, которые выдают админки: например, admin.amxx.
Если у Вас уже установлен плагин старой версии, то удалите файл cstrike/addons/amxmodx/data/users.bak
 

Вложения

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху