▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
VeloAuth

VeloAuth

Плагин VeloAuth для Velocity - это система аутентификации с автовходом для премиум-игроков и регистрацией/логином для пиратов. Защищает ники, шифрует пароли BCrypt и работает с любой limbo-сервером.

Оцените первым
6.0K
16

VeloAuth

VeloAuth - это полноценный плагин аутентификации для прокси-сервера Velocity. Он решает главную проблему любого сервера, где играют и лицензионные, и пиратские игроки: как пустить первых без лишних телодвижений, а вторых заставить зарегистрироваться, при этом не дать украсть чужой ник. Всё это происходит на уровне прокси, до того как игрок попадёт на твой лобби или выживание.

Что это и зачем нужно

Если ты держишь сервер Майнкрафт с Velocity, то рано или поздно столкнёшься с тем, что пираты могут занять ник лицензионного игрока. Или наоборот - премиум-игроки будут проходить регистрацию каждый раз, хотя могли бы залетать автоматически. VeloAuth разруливает оба сценария: проверяет аккаунт через Mojang, кэширует статус в три слоя (память → база данных → внешний API) и пускает премиум-игроков без ввода пароля. Пиратам же придётся пройти /register и /login - пароли хранятся в BCrypt с защитой от брутфорса.

Ключевые возможности

  • Умная защита ников - премиум-ники резервируются за их владельцами, если их уже не занял пират
  • Автовход для премиума - владельцы лицензионного Minecraft пропускают логин автоматически
  • Автоматическое обновление ника - если игрок сменил имя в Mojang, VeloAuth сам обновит запись в базе
  • Безопасная аутентификация - BCrypt-хэширование паролей + защита от перебора
  • Поддержка Floodgate - Bedrock-игроки могут пропустить сервер аутентификации (опционально)
  • Forced Hosts - если игрок заходит через pvp.server.com, его направят на нужный сервер после логина
  • Умное скрытие команд - /login и /register исчезают из tab-completion после входа
  • Высокая производительность - трёхуровневый кэш премиум-статуса: память → БД → внешний API, статус хранится 24 часа
  • Опциональная 2FA (TOTP) - поддержка Google Authenticator, Authy, Aegis (RFC 6238)
  • Решение конфликтов - админские инструменты для управления спорными никами (/vauth conflicts)
  • Мульти-БД - MySQL, PostgreSQL, H2, SQLite
  • 17 языков - EN, PL, DE, FR, RU, TR, SI, FI, ZH_CN, ZH_HK, JA, HI, VI, KO, TH, ID, PT_BR
  • Совместимость с LimboAuth - 100% совместимость баз данных (миграция не нужна)
  • Discord-уведомления - вебхуки для событий безопасности
  • Virtual Threads - построен на Java 21 для максимальной производительности
  • bStats - анонимная статистика использования

Когда стоит использовать VeloAuth

  • У тебя Velocity-прокси с одним или несколькими бэкенд-серверами, и нужна аутентификация на уровне прокси (не на каждом сервере отдельно)
  • Ты принимаешь и премиум, и пиратских игроков - хочешь, чтобы первые залетали без логина, а вторые проходили регистрацию через BCrypt
  • Ты уже используешь LimboAuth и хочешь перейти без потери данных - VeloAuth читает ту же схему БД
  • Тебе нужна предсказуемая производительность - премиум-статус резолвится через трёхуровневый кэш (память → БД → Mojang/Ashcon API), виртуальные потоки и нулевое блокирование на событиях Velocity

Если у тебя один сервер (Paper/Spigot/Folia) без прокси - VeloAuth не нужен, используй плагин аутентификации на самом сервере.

Рекомендуемые профили настройки

VeloAuth поставляется с тремя режимами работы. Все настройки живут в premium: в plugins/VeloAuth/config.yml.

Профиль 1 - Строгий смешанный (по умолчанию, рекомендуется)

premium:
  check-enabled: true
  allow-cracked-on-premium-nicks: false

Что получаешь: премиум-игроки заходят автоматически со своим реальным Mojang UUID (без /login); пираты проходят /register + BCrypt; премиум-ники зарезервированы за их владельцами. Что теряешь: пиратские клиенты, пытающиеся подключиться с премиум-ником (чужим именем), будут отклонены с сообщением "You are not logged into your Minecraft account." Когда использовать: публичный сервер, принимающий и премиум, и пиратских игроков, где важна защита ников.

Профиль 2 - Только пираты

premium:
  check-enabled: false

Что получаешь: ноль HTTP-запросов к Mojang/Ashcon, ноль записей в PREMIUM_UUIDS, все игроки принудительно в офлайн-режиме с детерминированным офлайн UUID. Все регистрации через /register. Что теряешь: автовход для премиума отключён для всех - даже существующие владельцы премиума с записью PREMIUMUUID будут понижены до офлайн UUID. Защита от кражи ников отсутствует; кто первый зарегистрировал ник - тот и владелец. Когда использовать: сервер только для пиратов, тестовая среда или любая установка, где не нужен Mojang.

Профиль 3 - Либеральный смешанный

premium:
  check-enabled: true
  allow-cracked-on-premium-nicks: true

Что получаешь: существующие владельцы премиума (уже в AUTH с PREMIUMUUID) сохраняют свой премиум UUID и пропускают /login. Пиратские клиенты могут зарегистрировать премиум-подобный ник, если его ещё нет в базе. Что теряешь: новые премиум-игроки, подключающиеся впервые, получают офлайн UUID навсегда - у Velocity нет режима "попробуй онлайн, упади в офлайн" (см. PaperMC/Velocity#1590). Как только ник зарегистрирован как офлайн в VeloAuth, настоящий владелец Mojang больше не может забрать его автоматически - только через /vauth conflicts. Когда использовать: сервер с приоритетом пиратов, который хочет принимать премиум-подобные ники без киков.

Быстрый выбор профиля

Если хочешь...Используй профиль
Максимальная защита, сохранение премиум UUID1 - Строгий смешанный
Без контакта с Mojang, полностью пиратский2 - Только пираты
Принять всех, премиум-ники не резервируются3 - Либеральный смешанный

Нет профиля, который "даёт премиум-владельцам премиум UUID и пускает пиратов на тот же ник" - для этого нужна функция Velocity API, которой пока нет.

Требования

  • Java 21 или новее
  • Velocity proxy (API 3.4.0+)
  • Limbo сервер: NanoLimbo, LOOHP/Limbo, LimboService, PicoLimbo, hpfxd/Limbo или любой другой
  • База данных: MySQL, PostgreSQL, H2 или SQLite

Быстрая установка

  1. Скачай VeloAuth с Modrinth
  2. Помести файл в папку plugins/ твоего Velocity
  3. Запусти Velocity - плагин создаст config.yml
  4. Останови Velocity и настрой базу данных и имя auth-сервера в plugins/VeloAuth/config.yml
  5. Перезапусти Velocity

Важно: поддержка Floodgate отключена по умолчанию. Включай её только если реально используешь Geyser/Floodgate.

Настройка Velocity (velocity.toml)

[servers]
limbo = "127.0.0.1:25566"  # Auth/limbo сервер (NanoLimbo, LOOHP/Limbo и т.д.)
lobby = "127.0.0.1:25565"  # Типичный бэкенд-сервер
survival = "127.0.0.1:25567" # Ещё один бэкенд-сервер

try = ["lobby", "survival"]  # Порядок важен. НЕ ставь 'limbo' сюда.

Настройка VeloAuth (config.yml)

Минимальная конфигурация auth-сервера:

auth-server:
  server-name: limbo
  timeout-seconds: 300  # Секунд до кика неавторизованного игрока. 0 = отключить кик.

Политика сложности пароля (опционально, по умолчанию выключена)

По умолчанию только длина (8-72 символа) - дружелюбно для казуальных серверов и обратно совместимо с LimboAuth.

security:
  min-password-length: 8
  max-password-length: 72
  password-policy:
    min-digits: 0       # 0 = выкл., например 1 = требуется хотя бы одна цифра
    min-uppercase: 0    # 0 = выкл., например 1 = требуется хотя бы одна заглавная буква
    min-lowercase: 0    # 0 = выкл., например 1 = требуется хотя бы одна строчная буква
    min-special: 0      # 0 = выкл., например 1 = требуется хотя бы один спецсимвол (не буква и не цифра)

Отключение уведомлений "нет доступного сервера"

Если у тебя стоит DiscordSRV или другой плагин, который кикает игроков до того, как VeloAuth завершит переброску на бэкенд, можно отключить сообщения в чате "Waiting for a server..." без форка плагина: открой файл языка plugins/VeloAuth/lang/messages_<lang>.properties и поставь пустые значения:

connection.waiting_for_server=
connection.error.no_servers=

Пустое значение = sendMessage подавляется; логи всё ещё пишутся. Попытки переброски продолжаются.

Команды игроков

КомандаОписаниеОграничения
/register <пароль> <подтверждение>Создать новый аккаунтСкрывается после логина. Не для премиум-ников
/login <пароль>Войти в аккаунтСкрывается после логина. Работает для всех
/changepassword <старый> <новый>Сменить парольНужно быть в онлайне
/2fa setupНастроить TOTP аутентификаторНужно быть в онлайне
/2fa verify <код>Подтвердить настройку ИЛИ пройти 2FA при входе-
/2fa disable <код>Отключить 2FA на аккаунтеТребуется валидный код
/2fa qr / /2fa statusПоказать QR / статус 2FAНужно быть в онлайне

Админские команды

КомандаПравоОписание
/unregister <ник>veloauth.adminУдалить аккаунт игрока (решает конфликты)
/vauth reloadveloauth.adminПерезагрузить конфигурацию
/vauth cache-reset [игрок]veloauth.adminОчистить кэш авторизации
/vauth statsveloauth.adminПоказать статистику плагина
/vauth conflictsveloauth.adminСписок конфликтов ников
/vauth 2fa-remove <ник>veloauth.adminСбросить 2FA токен игрока (восстановление)

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

Процесс аутентификации:

  1. Игрок подключается к Velocity.
  2. VeloAuth проверяет кэш авторизации в памяти (мгновенно, без I/O).
  3. Если нет в памяти - проверяет кэш премиума в базе данных (сохраняется между перезапусками).
  4. Если нет в кэше БД - резолвит через Mojang/Ashcon API параллельно на виртуальных потоках.
  5. Если не премиум - игрок отправляется на auth-сервер (если не включён обход для Floodgate Bedrock).
  6. Игрок вводит /login или /register.
  7. VeloAuth проверяет учётные данные через BCrypt.
  8. Игрок перенаправляется на бэкенд-сервер согласно конфигурации try.

Премиум резолвинг (3 слоя):

Подключение → [Кэш в памяти] → [Кэш в БД] → [Mojang/Ashcon API]
              ~0ms                ~1ms                 ~200-500ms

Все API-запросы выполняются параллельно на виртуальных потоках. Результаты кэшируются в БД и переживают перезапуски прокси.

Обнаружение смены ника:

Когда премиум-игрок заходит с другим ником (переименовал аккаунт в Mojang), VeloAuth автоматически обнаруживает несоответствие и обновляет запись в БД без вмешательства админа.

Система защиты ников:

Премиум-ники резервируются за их владельцами (если их уже не занял пират). При конфликтах есть инструменты для админов. Пираты блокируются при попытке использовать премиум-ник.

Миграция с LimboAuth:

VeloAuth полностью совместим с базами данных LimboAuth:

  1. Останови LimboAuth на бэкенд-серверах.
  2. Установи VeloAuth на Velocity.
  3. Настрой VeloAuth на ту же БД, что и LimboAuth.
  4. Запусти Velocity - все существующие аккаунты будут работать автоматически.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x1.12.x1.11.x1.10.x1.9.x1.8.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки

Создатели

Детали

Лицензия:
Опубликован:8 месяцев назад
Обновлён:1 неделю назад
Главная