
AlwaysAuth
Плагин AlwaysAuth для Minecraft серверов позволяет игрокам заходить даже при недоступности серверов Mojang, сохраняя онлайн-режим и безопасность.
AlwaysAuth - это решение для аутентификации на серверах Minecraft, которое гарантирует, что ваши игроки смогут зайти, даже если серверы аутентификации Mojang временно недоступны. В отличие от обычных методов работы в офлайн-режиме, AlwaysAuth держит ваш сервер в онлайн-режиме, обеспечивая плавный переход на локальную систему аутентификации.
Как это работает
AlwaysAuth встраивает локальный сервер аутентификации между вашим сервером Minecraft и официальными серверами Mojang:
- Когда игрок пытается зайти, AlwaysAuth сначала отправляет запрос на аутентификацию в Mojang.
- Если Mojang онлайн и отвечает, запрос проходит как обычно.
- Если Mojang недоступен, AlwaysAuth использует свою локальную систему для проверки пользователя.
Такой подход даёт:
- Мгновенное переключение - не нужно ждать периодических проверок. Даже короткие сбои обрабатываются незаметно.
- Онлайн-режим остаётся включённым - вам никогда не придётся переключать сервер в офлайн-режим.
- Надёжная аутентификация при длительных сбоях - долгие отключения обрабатываются так же гладко.
AlwaysAuth против AlwaysOnline
| Особенность | AlwaysAuth | AlwaysOnline |
|---|---|---|
| Spigot | ✅ | ✅ |
| Paper | ✅ | ✅ |
| BungeeCord | ❌* | ✅ |
| Velocity | ✅ | ✅ |
| Sponge | ❌** | ✅ |
| Fabric | ✅ | ❌ |
| NeoForge | ✅ | ❌ |
| Мгновенное переключение | ✅ | ❌ |
| Онлайн-режим остаётся включённым | ✅ | ❌ |
| Удалённая база данных | ✅ | ✅ |
| Запись метрик | ❌ | ✅ |
| Несколько режимов безопасности | ✅ | ❌ |
| Проверка по IP | ✅ | ✅ |
*На BungeeCord невозможно установить кастомный сервер сессий, и по словам md_5, никогда не будет. Я планирую создать обходное решение, но пока рекомендую перейти на Velocity или использовать Standalone jar.
**Поддержка Sponge запланирована на потом, я пока не знаком с SpongeAPI.
Ключевые преимущества
- Онлайн-режим активен - не нужно жертвовать безопасностью ради сбоев.
- Поддержка множества платформ - работает с Spigot, Paper, BungeeCord, Velocity, Fabric и NeoForge.
- Гибкая аутентификация - выбирайте из нескольких режимов безопасности и методов переключения.
- Надёжность - справляется как с короткими сбоями, так и с длительными отключениями Mojang.
Установка
- Скачайте плагин AlwaysAuth для вашей платформы.
- Поместите плагин в папку
plugins(или аналогичную) вашего сервера. - Перезапустите сервер.
- Настройте AlwaysAuth в конфиг-файле: включите локальную аутентификацию, удалённую базу данных или проверку по IP.
Выдайте себе право alwaysauth.admin для доступа к командам.
Конфигурация
AlwaysAuth предоставляет гибкий конфигурационный файл, где можно:
- Включать или отключать конкретные методы переключения.
- Настраивать удалённые базы данных для аутентификации между серверами.
- Выбирать разные режимы безопасности.
###################################
# #
# Конфигурация AlwaysAuth #
# #
###################################
# Включать ли отладочные сообщения
# Не работает для standalone jar
debug=false
# Проверять обновления и уведомлять персонал (и консоль) при входе, у кого есть право alwaysauth.admin
check-updates=true
# IP-адрес для сервера сессий
# Если указать что-то кроме 127.0.0.1 или 0.0.0.0 (открытый доступ), будет считаться внешним сервером
# Внешний сервер означает, что нужно указать только порт (соответствующий внешнему серверу), и он будет использоваться для аутентификации.
# Обратите внимание: сейчас вы не увидите логи в консоли сервера при использовании внешнего сервера
ip-address=127.0.0.1
# Порт для сервера сессий
port=8765
###########################
# Настройки безопасности #
###########################
# Включить проверку подписи HMAC-SHA256 для авторизованных серверов
# Сейчас ОТКЛЮЧЕНО по умолчанию из-за ограничений обработки URL в Minecraft
# Используйте правила файрвола или ограничение localhost для контроля доступа
# Шифрование базы данных работает независимо от этой настройки
authentication-enabled=true
# Секретный ключ для шифрования базы данных (генерируется автоматически)
# ХРАНИТЕ В ТАЙНЕ! Используется для шифрования IP-адресов и данных профилей в базе данных.
# Если удалить, базу данных придётся сбросить!
# Чтобы перегенерировать, удалите эту строку и перезапустите сервер
secret-key=GENERATED ON STARTUP
###########################
# Настройки переключения #
###########################
# Включить переключение сессий при недоступности серверов Mojang
fallback-enabled=true
# Максимальное количество часов, которое игрок может быть офлайн, прежде чем потребуется повторная аутентификация (0 = всегда требовать)
max-offline-hours=72
# Дней до очистки старых данных сессий
cleanup-days=30
# Уровень безопасности: 'basic' (всегда проверять) или 'medium' (использовать max-offline-hours)
security-level=basic
# URL вышестоящего сервера сессий
# По умолчанию официальный сервер Mojang, но эта опция здесь для работы с внешними серверами вроде minehut
upstream-server=https://sessionserver.mojang.com
###########################
# Настройки базы данных #
###########################
# Тип базы данных: h2, mysql или mariadb
database.type=h2
# Хост базы данных (не используется для H2)
database.host=localhost
# Порт базы данных (не используется для H2)
database.port=3306
# Имя базы данных
database.name=minecraft
# Имя пользователя базы данных (не используется для H2)
database.username=root
# Пароль базы данных (не используется для H2)
database.password=
Зачем это нужно?
Если вы администрируете сервер Minecraft, то знаете, как раздражают сбои у Mojang. Игроки не могут зайти, вы теряете аудиторию, а включение офлайн-режима делает сервер уязвимым для кракенов и читеров. AlwaysAuth решает эту проблему: сервер остаётся в онлайн-режиме, но при проблемах с Mojang игроки всё равно проходят аутентификацию через локальную систему. Это особенно полезно для крупных проектов на BungeeHost (https://bungee.host), где важна стабильность и безопасность. Скачайте AlwaysAuth и забудьте о головной боли с авторизацией.
