Как работает WinShield

Система состоит из трёх частей: плагина на прокси, дашборда (winshield.fun / dash.winshield.fun) и страницы проверки (captcha.winshield.fun).

Поток проверки игрока

  1. Игрок подключается к прокси. Плагин решает, нужна ли проверка: включена ли капча (вручную или адаптивной защитой), есть ли игрок в кеше прошедших, какая стадия триггера выбрана.
  2. Плагин создаёт сессию проверки. На captcha.winshield.fun уходит запрос с ником, IP и лицензионным ключом. В ответ приходит персональная ссылка вида captcha.winshield.fun/<id>?s=<site_key> — в ссылке зашит публичный ключ сервера.
  3. Игрок проходит капчу в браузере. Страница сама определяет, какой тип капчи показать этому серверу и этому посетителю (см. Типы капчи). В режиме limbo игрок в это время ждёт в виртуальном мире и видит таймер.
  4. Плагин узнаёт результат. Каждые несколько секунд плагин опрашивает статус сессии: PASSED — игрок пропускается (и попадает в кеш на N часов), BLOCKED — кик и временный бан по IP.
  5. Результат попадает в статистику. Каждая проверка записывается и видна в Overview, Analytics и Live Feed дашборда.

Синхронизация настроек

Плагин опрашивает дашборд каждые N секунд (настройка syncIntervalSeconds, 1–30). Настройки версионируются: если ничего не менялось — ответ пустой и дешёвый, если менялось — плагин применяет новую версию и пишет в консоль, что именно изменилось:

WinShield settings updated (v7): 2 change(s).
WinShield setting changed — verification.passCacheHours: 12 -> 24
WinShield setting changed — bossBars.countdown.color: YELLOW -> RED

Привязка ключа к серверу

При первом контакте плагина секретный ключ привязывается к серверу: запоминаются IP и адрес прокси. Дальше проверка идёт каждую секунду:

Fail-closed

Если плагин не может связаться с WinShield, защита отключается и игроки проходят свободно — сервер никогда не станет недоступным из-за недоступности капчи.

WinShield — защита Minecraft-серверов от ботов. Вопросы: support@winshield.fun