Версия Дата выпуска Скачивания Рейтинг  
3.0.0 4 0,00 звёзд Оценок: 0 Скачать
1.0.2 84 0,00 звёзд Оценок: 0 Скачать
1.0.0 44 0,00 звёзд Оценок: 0 Скачать
Обновление по сравнению с 2.0.2.
Требуется Authum 4.0.0 — со старым Authum модуль не загрузится.

Vellum v2 — важно
Несовместимо со старым raspad-revloader: игрокам нужно обновить его.
  • Билет теперь подписан Ed25519. Ключ игрока хранится в его профиле, подпись покрывает адрес сервера, к которому он подключается, и время, а SteamID выводится из открытого ключа.
  • Подделать чужой SteamID или переиспользовать билет, собранный другим сервером, больше нельзя.
  • Имя компьютера и серийный номер диска игрока больше не передаются.
  • Первый увиденный ключ для SteamID закрепляется в data/vellum_keys.txt; другой ключ для того же SteamID отклоняется.
  • Ключ для банов и длинного authid — теперь 32-байтный открытый ключ.
  • Билеты Vellum v1 (неподписанные) отклоняются.
  • Отклонённые билеты пишутся в лог с причиной: старая версия, неверная подпись, чужой сервер, время, другой ключ. Они больше не уходят в cid_nosteam*.

Новые параметры в qproto.cfg
  • vellum_server_ip — публичные IP сервера (по умолчанию берётся cvar ip).
  • vellum_max_clock_skew — допустимое расхождение часов игрока, по умолчанию 86400 секунд.

Изменено
  • Новая структура папок — всё в addons/authum/modules/qproto/: qproto.so, configs/qproto.cfg, data/vellum_keys.txt, logs/.
  • Логи — через Authum: addons/authum/logs/qproto/ГГГГ-ММ-ДД.log, предупреждения и ошибки ещё и в logs/authum/. Уровни — в authum.cfg (qproto.log_level). Параметры logging_mode и logging_split больше не читаются.
  • Поиск символов движка и перехват Steam_NotifyClientConnect теперь общие из Authum (их используют и другие модули); поведение не изменилось.
  • Модуль собирается и под Windows (MinGW).

Как обновиться
  1. Обновите Authum до 4.0.0.
  2. Положите модуль в addons/authum/modules/qproto/ и перенесите qproto.cfg в её configs/.
  3. Если используете Vellum — заполните vellum_server_ip (если cvar ip не задан) и предупредите игроков, что нужен новый raspad-revloader.
  • Исправлено: после отказа движка больше не вызывается второй SV_RejectConnection — это роняло HLDS на dead netchan (особенно Vellum / non-Steam).
На классическом HLDS клиенты заходят кто как: Steam, RevEmu, SC2009, sXe, Vellum, no-Steam…
Админу и другим системам нужно честно знать: через что человек пролез и пускать ли его.
qproto это и делает. В 2.0 мы выкинули всё лишнее вокруг и оставили сильный протокол + нормальный способ жить рядом с другими модулями.

Что изменилось?

• Весь модуль переведён на чистый C11. Убрали C++, precompiled, лишние зависимости HLSDK/Metamod из самого модуля.
• Код выровняли: единый snake_case, маленькие файлы-кирпичики, без static-каши «всё в одном .cpp».
• Крипта и работа с движком — только через Authum (Rijndael/SHA, server command/print). Свои копии sha/rijndael из модуля убрали.
• Конфиг и пути перевели на API Authum: модуль знает свой каталог, не ищет себя по полсерверу.
• Логи аккуратно в каталог модуля / при желании в общий лог Authum.
• Появилась шина событий: другие модули узнают об авторизации без dlsym и без лезания в чужой .so.
• Появились нормальные команды админа через Authum (без войны с AMXX за имена): кто онлайн, каким эмулятором зашёл, подробности по игроку.
• Модуль можно выключить и включить на лету (unload / load / reload) — хук снимается и ставится обратно.
• Убрали баны из qproto: свой bans.cfg и ban/unban больше не часть протокола. Один модуль — одна задача.
• Добавили тесты и документацию, чтобы это можно было развивать дальше, а не «работает, но трогать страшно».

1.0 и 2.0

• 1.0 — классический плагин Metamod. Он остаётся доступным и рабочим, но больше не развивается: ветку 1.0.0 замораживаем как есть. Баги «жизнь» и новые фичи туда не пойдут.
• 2.0 — модуль Authum. Это основная и единственная линия развития дальше. По сути замена 1.0 для тех, кто идёт с нами.

Нужен привычный одиночный .so в Metamod без Authum — можете жить на 1.0, но обновлений по этой линии не ждите.
Хотите актуальный qproto — ставьте 2.0.

Если нужен «один .so в metamod и забыл» — 1.0.
Если собираете сервер как систему модулей и хотите контролировать вход по-взрослому — 2.0.

Зачем вам это ставить

• Вы наконец видите, через какой эмулятор зашёл игрок — не гадаете по логам.
• Не тащите в протокол баны, кики и админку: это отдельные модули, когда понадобятся.
• Не конфликтуете с AMXX за серверные команды.
• Можете временно вырубить qproto без рестарта сервера.
• Получаете базу, на которой дальше нормально делать баны / логи / антиспам, а не новый зоопарк.

Установка 2.0

1. Authum в Metamod
2. addons/authum/modules/qproto/ — qproto.so и qproto.cfg
3. В modules.list строка: qproto
4. Проверка командами ниже

Ссылки

• https://github.com/darwin128k/raspad-qproto (ветка 2.0.0)
• https://github.com/darwin128k/raspad-authum
Назад
Верх