Как работает WinShield
Система состоит из трёх частей: плагина на прокси, дашборда (winshield.fun / dash.winshield.fun) и страницы проверки (captcha.winshield.fun).
Поток проверки игрока
- Игрок подключается к прокси. Плагин решает, нужна ли проверка: включена ли капча (вручную или адаптивной защитой), есть ли игрок в кеше прошедших, какая стадия триггера выбрана.
- Плагин создаёт сессию проверки. На captcha.winshield.fun уходит запрос с ником, IP и лицензионным ключом. В ответ приходит персональная ссылка вида
captcha.winshield.fun/<id>?s=<site_key>— в ссылке зашит публичный ключ сервера. - Игрок проходит капчу в браузере. Страница сама определяет, какой тип капчи показать этому серверу и этому посетителю (см. Типы капчи). В режиме limbo игрок в это время ждёт в виртуальном мире и видит таймер.
- Плагин узнаёт результат. Каждые несколько секунд плагин опрашивает статус сессии:
PASSED— игрок пропускается (и попадает в кеш на N часов),BLOCKED— кик и временный бан по IP. - Результат попадает в статистику. Каждая проверка записывается и видна в 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 и адрес прокси. Дальше проверка идёт каждую секунду:
- если ключ начали использовать с другого сервера — в дашборде загорается оранжевый алерт key mismatch (с IP нарушителя), а плагин пишет оранжевый WARN в консоль;
- если ключ невалиден (например, после ротации) — плагин пишет красный ERROR
license key does not match the backend; - Rotate keys в дашборде мгновенно убивает старый ключ и сбрасывает привязку — новый сервер привяжется заново.
Fail-closed
Если плагин не может связаться с WinShield, защита отключается и игроки проходят свободно — сервер никогда не станет недоступным из-за недоступности капчи.
WinShield — защита Minecraft-серверов от ботов. Вопросы: support@winshield.fun