Авторы:
Благодарность:
Требования:
Мультиязычность:
Благодарность:
- Metamod-P / HLSDK — хост-плагин.
- cJSON — JSON API; SQLite — sql.h.
Требования:
- классический HLDS Linux (версия 8684 или 10211)
- Metamod-P версии 1.21p109
- AMX Mod X не нужен, но может работать параллельно
Мультиязычность:
- EN
- RU
Authum — современный модульный загрузчик плагинов для Counter-Strike 1.6, разработанный как альтернатива AMX Mod X. Он предоставляет нативный C API и гибкую модульную архитектуру для разработки расширений и изменения функциональности игрового сервера.
В отличие от AMX Mod X, модули Authum — это обычные нативные библиотеки (.so) на C. Нет компилятора Pawn и виртуальной машины, а значит нет и их ограничений. Хост сам загружает модули, даёт каждому собственный API и подчищает всё после выгрузки.
Возможности
В отличие от AMX Mod X, модули Authum — это обычные нативные библиотеки (.so) на C. Нет компилятора Pawn и виртуальной машины, а значит нет и их ограничений. Хост сам загружает модули, даёт каждому собственный API и подчищает всё после выгрузки.
Возможности
- Загрузка модулей из modules.list или автоматически из папки modules/. Модули загружаются и выгружаются прямо на работающем сервере командой authum load/unload.
- Фасад хоста (authum_host_t). Каждый модуль получает при старте единую точку доступа к логированию, движку, окружению, криптографии, событиям и командам. Для типовых задач (каталог игры, вывод, команды, кик) HLSDK не нужен.
- Sandbox-память. У каждого модуля своё дерево владения памятью. После stop хост освобождает всё, что модуль выделил, и утечки при выгрузке исключены. Поддерживаются вложенные песочницы и деструкторы для файлов и сокетов.
- Шина событий. Модули никогда не вызывают друг друга напрямую. Они обмениваются событиями (forward) и запросами (query) через хост. Хост сам публикует события игроков (authum.client.*).
- Команды. Одна консольная команда authum, в которую модули добавляют свои подкоманды
authum <модуль> <команда>. - Connect gate. Модули могут перехватывать подключение игроков и принимать по нему решение.
- Готовые утилиты: конфиги key = value, пути, строки, массивы, JSON (cJSON), SQL (SQLite и MySQL), криптография.
- Стабильный ABI для клиентских модулей (authum/client.h). Модулю достаточно подключить заголовки и слинковаться с authum_client.
- Escape hatch. Если модулю нужно больше, он может подключить любые библиотеки в свой .so приватно, не затрагивая хост.