Модуль amx.run
Установка за 4 шага
- Скачайте архив и распакуйте его в папку
cstrikeсервера. Внутри уже правильные папки - файлы сами лягут куда нужно:cstrike/ addons/amxmodx/ modules/amxrun_amxx.dll привязка плагинов, Windows modules/amxrun_amxx_i386.so привязка плагинов, Linux modules/amxrun_events_amxx.dll события сервера, Windows (по желанию) modules/amxrun_events_amxx_i386.so события сервера, Linux (по желанию) configs/amxrun.cfg сюда ключи лицензий configs/amxrun_events.cfg настройки событий (из кабинета бота) scripting/include/amxrun.inc для авторов плагинов: лицензии scripting/include/amxrun_events.inc для авторов плагинов: свои событияВ архиве два независимых модуля:amxrun- привязка (лицензии) плагинов,amxrun_events- события сервера для бота. Лишний файл можно не удалять: Windows-сервер берёт.dll, Linux-сервер -.so. - Включите модуль. Откройте
addons/amxmodx/configs/modules.iniи добавьте в конец строку:amxrun
- Пропишите ключи. В
addons/amxmodx/configs/amxrun.cfgпо строке на каждый защищённый плагин: ID товара, ключ и порт сервера.18 AMX-ABCDE-FGHJK-LMNPQ-RSTUV 27015
Ключи и ID товаров - в «Мои лицензии», они появляются сразу после покупки. - Поставьте сам плагин (файл
.amxxиз «Мои покупки») вaddons/amxmodx/plugins/, допишите его вplugins.iniи смените карту или перезапустите сервер.
Как проверить
- В консоли сервера:
amxx modules- в списке есть amx.run License со статусом running. amxx plugins- защищённый плагин в состоянии running, а не bad load.- Через 10 секунд после старта в консоли:
[AMXRUN] лицензия product #18 подтверждена сайтом. - В «Мои лицензии» у ключа появится сервер и время последней проверки.
Если не работает
- Модуля нет в
amxx modules- проверьте строкуamxrunвmodules.iniи что файл лежит вaddons/amxmodx/modules/. Причина будет вaddons/amxmodx/logs/error_*.log. - Плагин «bad load» - модуль не загрузился, см. пункт выше.
- not_found - ключ введён с ошибкой или не для этого товара.
- bound_elsewhere - ключ уже привязан к другому серверу: смените сервер в «Мои лицензии».
- network - сервер не достучался до сайта; плагин продолжит работать по последней проверке ещё до 3 суток.
- Не помогло - напишите в поддержку и приложите строки
[AMXRUN]из консоли.
Частые вопросы
- Какие версии подходят?
- AMX Mod X 1.8.2, 1.9 и 1.10, HLDS и ReHLDS, Windows и Linux. Модулю привязки Metamod не нужен - его не будет в
meta list, и это нормально. Модуль событий работает через Metamod, который уже стоит вместе с AMX Mod X. - Нужен ли модуль для каждого плагина отдельно?
- Нет. Один модуль на сервер, а в
amxrun.cfg- по строке на каждый защищённый плагин. - Что будет, если сайт недоступен?
- Плагин работает по последнему подтверждению ещё до 3 суток, сбой хостинга не остановит сервер.
- Переезжаю на другой сервер
- В «Мои лицензии» нажмите «Сменить сервер» - ключ привяжется к новому при первом запуске.
События сервера в Telegram-боте по желанию
Второй модуль из архива, amxrun_events, сам ловит события сервера и присылает их на сайт, а они запускают сценарии вашего бота (блок «Хук» → «События сервера»): «игрок зашёл», «бан», «/report», «убийство», «бомба», «смена карты», «сервер упал», ошибки сервера, плагинов и игроков и ещё 60 событий. Плагины для этого не нужны. В обратную сторону сайт отправляет серверу команды без RCON-пароля - даже если у сервера нет внешнего порта.
- Включите события в кабинете бота: вкладка «Серверы» → «События сервера (модуль amxrun_events)» → «Включить события».
- Скопируйте готовый текст оттуда в
addons/amxmodx/configs/amxrun_events.cfg(адрес, номер сервера, секретный ключ). - Включите модуль: допишите строку
amxrun_eventsвaddons/amxmodx/configs/modules.ini. - Перезапустите сервер. Через минуту в кабинете появится «на связи», а в консоли сервера команда
amxrun_eventsпокажет, сколько событий отправлено.
События идут пачкой раз в 1-2 секунды, каждая пачка подписана HMAC-SHA256 ключом сервера. Пульс раз в 30 секунд: пропал - бот сообщит «сервер упал». Свои события из других плагинов (баны, VIP, магазин, античит) - одной строкой: amxrun_send_ban(admin, target, 60, "читы"), список стоков - в amxrun_events.inc.
Для авторов плагинов
Подключите amxrun.inc из архива и проверяйте лицензию по ID своего товара:
#include <amxmodx>
#include <amxrun>
#define PRODUCT_ID 18
public plugin_init() {
register_plugin("Мой плагин", "1.0", "amx.run")
set_task(10.0, "lic")
set_task(300.0, "lic", _, _, _, "b") // перепроверка раз в 5 минут
}
public lic() { amxrun_guard(PRODUCT_ID, "Мой плагин") } // нет лицензии - плагин на паузе