Authum — загрузчик модулей для Metamod-P (HLDS)

Authum — загрузчик модулей для Metamod-P (HLDS) 3.0.0

Авторы:

Благодарность:
  • Metamod-P / HLSDK — хост-плагин.
  • cJSON — JSON API; SQLite — sql.h.

Требования:
  • классический HLDS Linux (версия 8684 или 10211)
  • Metamod-P версии 1.21p109
  • AMX Mod X не нужен, но может работать параллельно

Мультиязычность:
  1. EN
  2. RU

Authum — современный модульный загрузчик плагинов для Counter-Strike 1.6, разработанный как альтернатива AMX Mod X. Он предоставляет нативный C 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 приватно, не затрагивая хост.
Опубликовал
darwin128K
Скачивания
89
Просмотры
253
Первый выпуск
Обновление

Оценки

0,00 звёзд Оценок: 0

Другие ресурсы пользователя darwin128K

Последние обновления

  1. Authum 3.0.0 — ABI модулей 1.0, папка на каждый модуль, логи по дням и движок без HLSDK

    Перед обновлением ABI модулей 1.0.0. Модули, собранные под 2.x, нужно пересобрать. Дальше будет...
  2. Authum 2.0.1 — новые события (команды игроков, карта, кадр), хуки движка, исправления MySQL и JSON

    Что нового в 2.0.1 по сравнению с 2.0.0 Обновление совместимое: ABI модулей не изменился...
  3. Authum 2.0.0 — команды, выгрузка модулей на лету, события, SQL и песочница памяти

    Что нового в 2.0.0 по сравнению с 1.0.0 В 1.0.0 Authum умел одно: загрузить модули из...
Назад
Верх