Skip to content

MrDevive/InternationalAuth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InternationalAuth

Лицензия Java Minecraft

MySQL-плагин для авторизации и регистрации игроков на Minecraft сервере.

⚠️ ВАЖНОЕ УСЛОВИЕ ИСПОЛЬЗОВАНИЯ

Данный плагин защищён пользовательской лицензией. Вы можете собирать и использовать его на своих серверах, но вам ЗАПРЕЩАЕТСЯ:

  • Выкладывать файл плагина (.jar) или исходный код на сторонних сайтах, форумах, в Discord и т.д.
  • Продавать, перепродавать или распространять плагин любым другим способом.

Полный текст лицензии с подробностями доступен в файле LICENCE.md.

📋 Возможности

  • Регистрация и авторизация — защита аккаунтов игроков с помощью пароля
  • MySQL — централизованное хранение данных для синхронизации между серверами
  • Защита от ботов — капча, ограничение попыток входа
  • Сессии — запоминание авторизованных игроков на определённое время
  • Смена пароля — команда для изменения пароля
  • Unicode поддержка — поддержка русских букв и спецсимволов в паролях

🔧 Требования

  • Minecraft сервер версии 1.21+
  • Java 17 или выше (для запуска сервера)
  • JDK 17 или выше (для сборки плагина из исходников)
  • MySQL сервер (5.7+ или 8.0+)
  • Права на создание таблиц в базе данных MySQL (пользователь должен иметь права CREATE, INSERT, SELECT, UPDATE)

🚀 Открытие проекта в IntelliJ IDEA

Пошаговая инструкция, которая подойдет даже новичку.

Шаг 1. Склонируйте репозиторий

Выполните в терминале:

git clone https://github.com/MrDevive/InternationalAuth.git

Шаг 2. Откройте проект в IDEA

  • Запустите IntelliJ IDEA
  • На экране приветствия нажмите Open (или FileOpen в уже открытом проекте)
  • Выберите папку, в которую вы склонировали репозиторий, и нажмите OK

Шаг 3. Настройте JDK

Проект требует Java 17 или новее. Если IDEA попросит выбрать SDK:

  • Нажмите FileProject StructureProject
  • В разделе SDK выберите установленную версию Java 17+

Шаг 4. Дождитесь загрузки зависимостей

Проект использует Maven (файл pom.xml). IDEA обычно подхватывает его автоматически и скачивает все нужные библиотеки. Процесс можно увидеть в строке состояния внизу.

Если загрузка не началась автоматически:

  • Нажмите на значок Maven справа
  • Нажмите кнопку обновления (⟳)

🛠️ Сборка плагина

После того как проект открыт и настроен, вы можете собрать его в работающий .jar файл.

Через Maven (рекомендуется):

  1. Откройте панель Maven (обычно справа, значок m)
  2. Раскройте свой проект → Lifecycle
  3. Дважды кликните на package
  4. Готовый .jar файл вы найдете в папке target/

Через IDEA:

  1. Нажмите BuildBuild Artifacts...
  2. Выберите InternationalAuth:jarBuild

📥 Установка на сервер

  1. Поместите файл .jar из папки target/ в папку plugins/ вашего сервера Minecraft
  2. Запустите (или перезапустите) сервер — плагин создаст папку InternationalAuth/ и файл config.yml
  3. Настройте config.yml — укажите параметры подключения к MySQL (см. раздел Конфигурация)
  4. Перезагрузите плагин командой /auth reload или перезапустите сервер

⚙️ Конфигурация

Плагин создаёт файл config.yml в папке plugins/InternationalAuth/:

mysql:
  host: 127.0.1.31
  port: 3306
  database: international_minecraft_auth
  username: root
  password: root

password:
  min-length: 6
  max-length: 30
  pattern: "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[A-Za-z\\d]{6,30}$"
  pattern-description: "&cПароль должен содержать: заглавные буквы, строчные буквы и цифры (6-30 символов)"
  blacklist:
    - "123456"
    - "password"
    - "qwerty"
    - "123456789"
    - "12345"
    - "12345678"
    - "111111"
    - "123123"
    - "abc123"
    - "admin"
    - "qwerty123"

session-timeout: 60

security:
  max-failed-attempts: 5 
  block-duration-minutes: 15
  login-timeout-seconds: 30
  max-registrations-per-ip: 3 
  auto-login-by-uuid: true 

cache:
  password-cache-minutes: 5

🛠️ Команды и права

Команда Описание Право (permission)
/register <пароль> <подтверждение> Регистрация на сервере internationalauth.register (по умолчанию доступно всем)
/login <пароль> Авторизация на сервере internationalauth.login (по умолчанию доступно всем)
/changepassword <новый пароль> <секретный ключ> Смена пароля через секретный ключ internationalauth.changepassword (по умолчанию доступно всем)
/setkey <ключ> <подтверждение> Установка секретного ключа internationalauth.setkey (по умолчанию доступно всем)
/auth reload Перезагрузить конфиг плагина internationalauth.admin
/auth reset <ник> Сбросить данные игрока internationalauth.admin
/auth clearcache Очистить кэш сессий internationalauth.admin
/auth accounts <ник> Показать все аккаунты игрока internationalauth.admin

📌 Примечание: У команд есть альтернативные названия (алиасы):

  • /register/reg
  • /login/l

Дополнительные права:

  • internationalauth.bypass.iplimit — обход лимита регистраций с одного IP-адреса

Зависимости:

  • PlaceholderAPI (опционально) — для использования плейсхолдеров в сообщениях

📊 Плейсхолдеры (PlaceholderAPI)

Если на сервере установлен PlaceholderAPI, плагин автоматически регистрирует следующие плейсхолдеры:

Плейсхолдер Описание Пример вывода
%internationalauth_registration_date% Дата регистрации 2024-01-15 14:30:00
%internationalauth_registration_date_formatted% Отформатированная дата регистрации 15.01.2024 14:30
%internationalauth_last_login% Дата последнего входа 20.01.2024 18:45
%internationalauth_last_login_formatted% Отформатированная дата последнего входа 20.01.2024 18:45
%internationalauth_last_ip% Последний IP адрес игрока 192.168.1.100
%internationalauth_is_registered% Зарегистрирован ли игрок Да / Нет
%internationalauth_is_authorized% Авторизован ли игрок (в сессии) Да / Нет
%internationalauth_has_secret_key% Установлен ли секретный ключ Да / Нет
%internationalauth_failed_attempts% Количество неудачных попыток входа 3

💡 Примечание: Для использования плейсхолдеров необходимо установить плагин PlaceholderAPI на сервер. Плагин InternationalAuth автоматически подхватит его при запуске.

❓ Часто задаваемые вопросы (FAQ)

Вопрос: Можно ли использовать плагин на коммерческом сервере?

Ответ: Да. Вы можете использовать плагин на любом сервере, включая коммерческие проекты.

Вопрос: Могу ли я изменить код плагина под себя?

Ответ: Да, для личного использования на своём сервере. Но вы не имеете права распространять модифицированную версию без письменного разрешения автора.

Вопрос: Плагин не видит базу данных. Что делать?

Ответ: Проверьте параметры в config.yml, убедитесь, что MySQL сервер запущен и доступен по указанному хосту и порту. Также проверьте, что пользователь имеет права на создание таблиц.

Вопрос: Что такое секретный ключ и где его взять?

Ответ: Секретный ключ выдаётся игроку при регистрации (или генерируется автоматически). Он нужен для смены пароля через команду /changepassword. Сохраните его в надёжном месте

Вопрос: Можно ли использовать русские буквы в пароле?

Ответ: Да, плагин поддерживает Unicode, включая русские буквы и спецсимволы.

Вопрос: Как очистить кэш сессий игроков?

Ответ: Выполните команду /auth clearcache с правом internationalauth.admin.

Вопрос: Поддерживается ли PlaceholderAPI?

Ответ: Да, плагин имеет мягкую зависимость (softdepend) от PlaceholderAPI. Плейсхолдеры можно использовать в настройке сообщений в config.yml.

📄 Лицензия

Этот проект защищён пользовательской лицензией.

  • ✅ Вы можете скачивать, собирать и использовать плагин на своих серверах
  • ❌ Вы НЕ можете распространять или продавать плагин (в исходном или скомпилированном виде) без письменного разрешения автора

Подробности в файле LICENCE.md.


© 2026 Devive. Все права защищены.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages