Gatekeeper — фильтр стран, VPN и защита Steam-аккаунтов для HLDS (модуль Authum)

Gatekeeper — фильтр стран, VPN и защита Steam-аккаунтов для HLDS (модуль Authum) 0.1.0

CS 
Авторы:
darwin128k (Egor Tsyganchuk)

Благодарность:
  • IPHub — за API определения прокси/VPN

Требования:
  • Linux-сервер HLDS (сборка i386)
  • Metamod
  • Authum с ABI 0.3 — версия 0.1.0 НЕ работает с Authum 3.0.0
  • Бесплатный API-ключ IPHub
  • SQLite (ничего ставить не нужно) или MySQL/MariaDB + libmariadb3:i386

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

Знакомая ситуация?

Вы забанили читера, а через минуту он снова на сервере: сменил VPN или переподключился через бесплатный прокси.
Бан по IP не держит, бан по SteamID обходится вторым аккаунтом.

Или так: у постоянного игрока с хорошей репутацией вдруг начинаются странности, потому что его аккаунтом (или сессией Steam) пользуется кто-то другой из другой страны.

Gatekeeper закрывает эти дыры ещё на входе.
Нарушитель отсеивается до того, как попадёт в игру.

Что он делает при каждом подключении

  • 🌍 Проверяет, откуда пришёл игрок. Узнаёт страну, провайдера и тип сети через сервис IPHub.
  • 🚫 Отсекает VPN, прокси и хостинги. IPHub оценивает каждый IP. Домашний интернет пропускается, адрес из дата-центра или VPN блокируется. Порог строгости настраиваете вы.
  • 🗺️ Фильтрует по странам. Можно задать список разрешённых стран (по умолчанию это СНГ и соседи) или, наоборот, список запрещённых.
  • 🛡️ Охраняет Steam-аккаунты (steam_guard). Модуль запоминает, из каких сетей (ASN) обычно заходит каждый SteamID. Если аккаунт внезапно пришёл из новой сети сверх лимита или из другой страны, такой вход блокируется. Так ловятся украденные и «одолженные» аккаунты.
  • ✅ Белый список. Друга с VPN, админа на хостинге или целого провайдера можно пустить в обход фильтра: по IP, ASN, SteamID или оценке блокировки.
  • 💬 Понятная причина кика. Игрок видит не безликое «access denied», а конкретную причину: country XX is not allowed или proxy/VPN is not allowed. Ему понятно, что произошло, а вам меньше вопросов в личку.

Почему это удобно админу

  • Ставится один раз и работает сам. Один файл .so и один конфиг, ручного обслуживания нет.
  • Бережёт лимит IPHub. Ответы сервиса кешируются в базе: каждый IP запрашивается один раз, повторные заходы проверяются мгновенно и бесплатно.
  • Безопасный старт. steam_guard по умолчанию работает в режиме обучения: он только записывает историю и никого не кикает. Когда база наберётся, включаете steam_guard_enforce = 1.
  • SQLite или MySQL на выбор. SQLite работает сразу без настройки. MySQL/MariaDB подходит, если хотите общую базу на несколько серверов. Если MariaDB стартует одновременно с HLDS, модуль подождёт её и переподключится.
  • Работает вместе с другими модулями. Gatekeeper публикует событие gatekeeper.client.resolved со страной, ASN и провайдером игрока. Его можно использовать в других модулях Authum, например в связке с qproto (авторизация non-Steam).
  • Открытый код, лицензия Apache-2.0.
Опубликовал
darwin128K
Скачивания
6
Просмотры
41
Первый выпуск
Обновление

Оценки

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

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

  • Authum — загрузчик модулей для Metamod-P (HLDS)
    Authum — загрузчик модулей для Metamod-P (HLDS)
    Загрузчик модулей со своим API (без HLSDK) для классической HLDS
  • qproto
    qproto
    Metamod-плагин авторизации non-Steam клиентов для классического HLDS (аналог dproto), сборки ~8684 и
  • Scheduler
    Scheduler
    Планировщик выполнения серверных команд по заданному времени
Назад
Верх