
ModsJava
Protect admin accounts with two-factor authentication! AuthCodes adds 2FA via Telegram and Discord bots, ensuring only verified admins can access…
⬇ Download on Modrinth🔐 AuthCodes
Protect admin accounts with two-factor authentication!
AuthCodes adds 2FA via Telegram and Discord bots, ensuring only verified admins can access protected accounts.
✨ Features
- 🤖 Telegram & Discord Bots — Send 2FA codes via your favorite messenger
- 🔗 Account Linking — One-time linking with 6-digit code verification
- 🔑 Two-Factor Login — 8-digit code required every login for protected players
- 🛡️ Full Restrictions — Blocks all actions during authentication (blocks, inventory, chat, damage)
- 👀 GodMode — Players are invincible during 2FA
- 🚪 Command Whitelist — Only auth commands allowed during 2FA
- 🌍 LuckPerms Integration — Protect specific permission groups
- 🗄️ H2 + MySQL — Fast local file database or remote MySQL
- 🔄 Proxy Support — SOCKS4/5, HTTP/HTTPS proxy for bot API calls
- 🎨 Customization — All messages configurable (EN/RU)
- ⚙️ Hot Reload — Reload config without server restart
- 🌐 Localization — English and Russian out of the box
- 🛡️ PlugMan Safe — Handles errors gracefully during plugin unload
📋 Requirements
| Dependency |
Version |
| Server |
Paper/Spigot 1.16.5+ |
| LuckPerms |
5.x+ |
| Java |
11+ |
🔐 Permissions
| Permission |
Description |
Default |
authcodes.admin |
Access to admin commands (reload, forceunlink, forcecode) |
OP |
group.admin |
Requires 2FA (configurable) |
- |
group.moderator |
Requires 2FA (configurable) |
- |
authcodes.force |
Requires 2FA (configurable) |
- |
🎮 Commands
Player Commands
| Command |
Description |
Example |
/authcodes link telegram |
Start account linking via Telegram |
/authcodes link telegram |
/authcodes link discord |
Start account linking via Discord |
/authcodes link discord |
/code <8-digit> |
Enter 2FA code during login |
/code 58291743 |
/authcodes unlink |
Unlink your own account |
/authcodes unlink |
Admin Commands
| Command |
Description |
Example |
/authcodes reload |
Reload plugin config |
/authcodes reload |
/authcodes forceunlink <player> |
Force unlink a player's account |
/authcodes forceunlink Notch |
/authcodes forcecode <player> |
Force send new 2FA code to a player |
/authcodes forcecode Notch |
📝 Usage examples:
# Player links their Telegram account
/authcodes link telegram
# → Receives 6-digit code in chat
# → Enters code in Telegram bot
# Player logs in and receives 2FA code
# → Code sent to Telegram/Discord
# → Enter in chat:
/code 58291743
# Player unlinks their account
/authcodes unlink
# Admin forces new 2FA code for player
/authcodes forcecode Notch
# → Notch receives new 8-digit code
# Admin unlinks a player
/authcodes forceunlink Notch
# Admin reloads config
/authcodes reload
⚙️ Configuration
config.yml
locale: en # en or ru
required-permissions:
- "group.admin"
- "group.moderator"
- "authcodes.force"
bots:
telegram:
enabled: false
token: "YOUR_TOKEN"
discord:
enabled: false
token: "YOUR_TOKEN"
database:
type: "h2" # h2 or mysql
h2:
file: "database.mv.db"
mysql:
host: "localhost"
port: 3306
database: "authcodes"
username: "root"
password: ""
proxy:
enabled: false
type: "SOCKS5"
host: "127.0.0.1"
port: 1080
🔄 How It Works
First Login (Linking)
- Player joins server with required permission
- Plugin prompts:
/authcodes link telegram or discord
- Player enters command → receives 6-digit code in chat
- Player enters code in Telegram/Discord bot
- Account linked! (1 attempt, 5 minute expiry)
Subsequent Logins (2FA)
- Player joins server with linked account
- Plugin sends 8-digit code to Telegram/Discord
- Player enters
/code <digits> in chat
- Restrictions lifted! (3 attempts, 60 second timeout)
🛡️ Safety
- Graceful Shutdown — All resources properly closed on server stop
- PlugMan Compatible — Handles
NoClassDefFoundError and other errors during unload
- Async Safe — All bot operations run asynchronously, no server lag
- Thread Management — Polling threads properly interrupted on shutdown
🇷🇺 Русская текст
🔐 AuthCodes
Защитите аккаунты администрации двухфакторной аутентификацией!
AuthCodes добавляет 2FA через Telegram и Discord ботов, гарантируя, что только проверенные админы получат доступ к защищённым аккаунтам.
✨ Особенности
- 🤖 Telegram и Discord боты — Отправка кодов 2FA через любимый мессенджер
- 🔗 Привязка аккаунтов — Разовая привязка с проверкой 6-значного кода
- 🔑 Двухфакторный вход — 8-значный код при каждом входе для защищённых игроков
- 🛡️ Полные ограничения — Блокировка всех действий во время аутентификации (блоки, инвентарь, чат, урон)
- 👀 Режим Бога — Игроки неуязвимы во время 2FA
- 🚫 Белый список команд — Только команды аутентификации во время 2FA
- 🌍 Интеграция LuckPerms — Защита определённых групп прав
- 🗄️ H2 + MySQL — Быстрая локальная файловая БД или удалённый MySQL
- 🔄 Поддержка прокси — SOCKS4/5, HTTP/HTTPS прокси для API ботов
- 🎨 Кастомизация — Все сообщения настраиваются (EN/RU)
- ⚙️ Горячая перезагрузка — Перезагрузка конфига без перезапуска сервера
- 🌐 Локализация — Английский и русский языки из коробки
- 🛡️ Безопасность PlugMan — Корректная обработка ошибок при выгрузке плагина
📋 Требования
| Зависимость |
Версия |
| Сервер |
Paper/Spigot 1.16.5+ |
| LuckPerms |
5.x+ |
| Java |
11+ |
🔐 Права
| Право |
Описание |
По умолчанию |
authcodes.admin |
Доступ к командам администратора (reload, forceunlink, forcecode) |
OP |
group.admin |
Требует 2FA (настраивается) |
- |
group.moderator |
Требует 2FA (настраивается) |
- |
authcodes.force |
Требует 2FA (настраивается) |
- |
🎮 Команды
Команды игроков
| Команда |
Описание |
Пример |
/authcodes link telegram |
Начать привязку через Telegram |
/authcodes link telegram |
/authcodes link discord |
Начать привязку через Discord |
/authcodes link discord |
/code <8-значный> |
Ввести код 2FA при входе |
/code 58291743 |
/authcodes unlink |
Отвязать свой аккаунт |
/authcodes unlink |
Команды админов
| Команда |
Описание |
Пример |
/authcodes reload |
Перезагрузить конфиг плагина |
/authcodes reload |
/authcodes forceunlink <игрок> |
Принудительно отвязать игрока |
/authcodes forceunlink Notch |
/authcodes forcecode <игрок> |
Принудительно отправить новый код 2FA игроку |
/authcodes forcecode Notch |
📝 Примеры использования:
# Игрок привязывает свой Telegram аккаунт
/authcodes link telegram
# → Получает 6-значный код в чате
# → Вводит код в Telegram боте
# Игрок заходит на сервер и получает код 2FA
# → Код отправлен в Telegram/Discord
# → Вводит в чат:
/code 58291743
# Игрок отвязывает свой аккаунт
/authcodes unlink
# Админ принудительно отправляет новый код 2FA
/authcodes forcecode Notch
# → Notch получает новый 8-значный код
# Админ отвязывает игрока
/authcodes forceunlink Notch
# Админ перезагружает конфиг
/authcodes reload
⚙️ Конфигурация
config.yml
locale: en # en или ru
required-permissions:
- "group.admin"
- "group.moderator"
- "authcodes.force"
bots:
telegram:
enabled: false
token: "ВАШ_ТОКЕН"
discord:
enabled: false
token: "ВАШ_ТОКЕН"
database:
type: "h2" # h2 или mysql
h2:
file: "database.mv.db"
mysql:
host: "localhost"
port: 3306
database: "authcodes"
username: "root"
password: ""
proxy:
enabled: false
type: "SOCKS5"
host: "127.0.0.1"
port: 1080
🔄 Как это работает
Первый вход (Привязка)
- Игрок заходит на сервер с нужным правом
- Плагин предлагает:
/authcodes link telegram или discord
- Игрок вводит команду → получает 6-значный код в чате
- Игрок вводит код в Telegram/Discord бот
- Аккаунт привязан! (1 попытка, 5 минут на ввод)
Последующие входы (2FA)
- Игрок заходит на сервер с привязанным аккаунтом
- Плагин отправляет 8-значный код в Telegram/Discord
- Игрок вводит
/code <цифры> в чат
- Ограничения сняты! (3 попытки, 60 секунд на ввод)
🛡️ Безопасность
- Корректное завершение — Все ресурсы закрываются при остановке сервера
- Совместимость с PlugMan — Обработка
NoClassDefFoundError и других ошибок при выгрузке
- Асинхронность — Все операции с ботами выполняются асинхронно, без лагов
- Управление потоками — Polling-потоки корректно прерываются при завершении
Verified by MCModsHub
- Ships as AuthCodes-1.0.1.jar — drop this file into the mods folder
- Download size: 19.2 MB
- Download link checked 9 Aug 2026 — working
These come from our own check of the pack file, not from the source page.
Explore more