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

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

Здесь описан основной интерфейс подключения модуля к Authum.
Он определяет экспортируемые функции запуска и остановки, а также метаданные модуля: имя, версию и ABI.
  • Экспорт authum_module_api (start / stop) + authum_module_info (имя, версия, ABI)
  • Символ: AUTHUM_MODULE_API_SYM = "authum_module_api"

В этом разделе собраны основные API для взаимодействия модулей с хостом.
Они включают работу с путями и окружением, криптографию, песочницу, события, команды и логирование.
  • Пути / Окружение: authum_host_env_*, authum_path_* (game, addons, modules, module dir)
  • Основное: authum_host_get_game_dir, server_print, server_command, authum_host_kick
  • Криптография: Rijndael+ SHA через authum_host_crypto
  • Песочница: per-module память (authum_sandbox_*, authum_array_*)
  • События: authum_host_subscribe / authum_host_publish
  • Команды: authum_host_command_add / add_all→ authum <module> <name> ...
  • Логирование: authum_host_log_line + модульный <authum/logger.h>

Здесь перечислены события жизненного цикла клиента, которые хост передаёт подписанным модулям. Также описаны структура данных события и механизм взаимодействия между модулями через forwards и queries.
СобытиеКогда
authum.client.connectпосле auth; можно allow=false + reject_reason
authum.client.put_in_serverигрок в игре
authum.client.info_changeduserinfo
authum.client.disconnectвыход

Payload: authum_event_client_t (index, userid, name, address, auth_id, times, allow, reject_reason).
Шина модулей: forwards / queries по имени (<module>.*), без dlsym между .so.

Раздел описывает работу с конфигурационными файлами в формате key = value.
API позволяет открывать конфигурацию, применять её параметры и получать значения разных типов.
  • Одиночный key = value
  • authum_cfg_open / apply_items / get_* (bool, i32, cstr, …)

Здесь описан интерфейс работы с базами данных SQLite и MySQL через единый API.
Он поддерживает выполнение запросов, подготовленные выражения, передачу параметров и чтение результатов без прямого подключения заголовков SQLite.
  • authum_sql_open_sqlite / authum_sql_open_mysql (MySQL через dlopen)
  • exec, prepare, bind/step/column — без #include <sqlite3.h>

Раздел содержит API для извлечения отдельных значений из JSON-объектов.
Вместо полноценного DOM-представления доступны простые геттеры для строк и целых чисел.
  • Плоские геттеры: authum_json_object_get_cstr / get_i32 (не полный DOM)

Здесь описан единый вход для управления Authum через консоль и RCON.
Он позволяет получать информацию о системе, управлять загрузкой модулей и вызывать их команды через общий префикс authum.
authum status|info|load|unload|reload|help|version
authum <module> <cmd> [args]
Назад
Верх