На классическом 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