KVA Project
Документация // SETUP

Подними свой Minecraft-сервер в сети KVA

Регистрация площадки в KVA даёт твоему серверу единый auth, анти-чит из коробки, криптозащиту от cracked-клиентов и место в публичном каталоге. Ниже — путь от нуля до verified за пять шагов.

00Что это даёт

  • Единый auth — игроки регистрируются один раз и заходят везде через KVA Launcher.
  • Анти-чит из коробки — Java-agent встроен в лаунчер, ловит Wurst / Meteor / Sigma и десятки других, HWID-баны.
  • Криптозащита от cracked — vanilla MC физически не пройдёт handshake на твоём сервере.
  • Discovery — попадаешь в публичный каталог серверов сразу после verification.

01Лаунчер и аккаунт

Скачай KVA Launcher, запусти и нажми «Регистрация» — твой аккаунт сразу даёт доступ к management-панели.

02Создать сервер

Открой /admin/instances/new и заполни:

  • ID — slug в URL (a-z, 0-9, дефис).
  • Название, описание, MOTD — это увидят игроки.
  • MC-версия + loader — NeoForge / Fabric / Forge / Quilt / Vanilla.
  • Адрес сервера — публичный host:port для подключения.
  • Discord / Website (опц.) — покажутся на странице сервера.
i
После создания сервер в статусе pending — виден только тебе, не в публичном каталоге, пока не пройдёт verification.

03Настройка MC-сервера

Полная инструкция — на странице instance (вкладка setup-guide). Кратко:

3.1 — Скачай authlib-injector

terminalcopy
wget https://auth.kva-project.ru/api/launcher/authlib-injector.jar

Положи jar в одну папку с server.jar.

3.2 — server.properties

server.propertiescopy
online-mode=true
enforce-secure-profile=false

3.3 — start.sh

start.shcopy
java \
  -javaagent:authlib-injector.jar=https://auth.kva-project.ru/yggdrasil \
  -Xms4G -Xmx8G \
  -XX:+UseG1GC \
  -jar server.jar nogui

3.4 — Проверь логи

В первых строках запуска должно быть:

лог сервера
[authlib-injector] [INFO] Version: 1.2.7
[authlib-injector] [INFO] Authentication server: https://auth.kva-project.ru/yggdrasil
[authlib-injector] [INFO] Transformed [com.mojang.authlib.HttpAuthenticationService] ...

04Verification

Когда сервер работает и принимает игроков, открой setup-guide и нажми «Проверить». Наш probe подключится как vanilla-клиент с фейковым accessToken — если authlib-injector правильно направляет hasJoined на нас, probe увидит callback за 8 секунд → статус verified.

После verified сервер появляется в публичном каталоге и игроки могут его найти.

05Модпак (опционально)

Если у тебя моды — игроки получат их автоматически через лаунчер. На странице instance → раздел «Моды» загрузи jar'ы и нажми «Пересобрать манифест». Лимит: 100 МБ на файл, 5 ГБ суммарно на владельца.

06Частые вопросы

Зачем нужен authlib-injector?
Он патчит Mojang authlib в JVM сервера при запуске, направляя auth-запросы на наш yggdrasil вместо sessionserver.mojang.com. Это позволяет работать в online-mode=true с нашими аккаунтами вместо Mojang.
Что если сервер не прошёл verification?
«online-mode=true, но сервер не зовёт наш yggdrasil» = authlib-injector не подцепился: проверь путь к jar в -javaagent: и URL без опечаток. «online-mode=false» = поправь server.properties.
Анти-чит работает автоматически?
Да. Лаунчер инжектит kva-anticheat.jar в JVM клиента при каждом запуске MC. Детектит ~50 известных cheat-клиентов + bytecode-паттерны. При обнаружении — кик и HWID авто-бан. Серверу делать ничего не надо.
Можно блокировать конкретных игроков?
Да, стандартными MC-инструментами: /ban <name>. Auth-уровень — наш, модерация в игре — твоя.
Можно ли сторонние anti-cheat плагины (Polar / Karhu / Vulcan)?
Да, рекомендуется как доп. слой. Наш agent ловит cheat-клиенты в JVM, server-side плагин ловит подозрительное движение/пакеты. Оба независимы и складываются.

07Правила и ограничения

  • Сервер должен реально использовать наш yggdrasil (verification обязательна).
  • Storage quota — 5 ГБ суммарно на твои instances (через лимит upload mods).
  • 5 регистраций сервера в сутки на юзера (anti-spam).
  • SSRF: server_addr не может быть приватным IP / .local / localhost.
  • Re-probe ежедневно: отключишь authlib-injector — мы это поймаем и снимем verified.