Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
Видел на разных серверах по команде можно активировать вход через лицензию, как это может быть реализовано? Декомпелировал один второсортный плагин, в нём была проверка через api mojang по nickname, но это не является нормальной проверкой, т.к. нужно проверять саму сессию. Чат гпт предлагал проверять наличие textures в PlayerProfile, а если у человека не переопределён скин, а обычный стив?
Если есть мысли - рад буду услышать)
В bungeecord api можно включать онлайн мод игроку во время подключения к серверу. Хотя это уже никто не делает, ибо головы в таблисте только он один и будет видеть, Собственно это единственный смысл был юзать этот костыль.
Ну не соглашусь, пропуск ввода пароля и доп. безопасность аккаунта, почему нет?
По поводу онлайн аутентификации через банжу (есть подобное в велосити?), как там с UUID, можно же насильно изменять изменять UUID игрокам..
Декомпелировал один второсортный плагин, в нём была проверка через api mojang по nickname, но это не является нормальной проверкой, т.к. нужно проверять саму сессию.
Но если буквально в двух словах - если к тебе уже подключился игрок, то ты НЕ можешь достоверно выяснить, есть ли у него лицензия. Чтобы это выяснить - тебе необходимо попросить данного игрока перезайти на сервер и при перезаходе включить ему проверку лицензии со стороны сервера. Банжой или велосити перекинуть не получится, нужно именно полное переподключение.
Либо же, возможно, для игроков с версии 1.20+ может сработать новый transfer пакет, но я не вникал, как именно он обрабатывается со стороны клиента. Это всё нужно хорошенько изучать и тестировать, чтобы не поставить сервер под угрозу.
Однако учти, что если включить проверку лицензии игроку без этой самой лицензии, то такой игрок на сервер войти не сможет, поскольку ванильный клиент сам отключается от сервера, если у него запросили авторизацию, а у него этой авторизации в лаунчере не было. А если вдруг не отключится сам, то сервер его точно не пустит.
Именно поэтому ни на одном полу-лицензионном сервере вход по лицензии НЕ пытаются включать всем подряд автоматически, а предлагают использовать менюшку/команду, а потом ещё 100 раз предупреждают, что без лицензии подключиться к серверу не получится.
Ты тут максимум можешь подложить соломки и автоматически выключать запрос online-mode авторизации у ника, например, через 5 минут, если игрок не переподключился. Также же можно отслеживать неудачную попытку подключения и после нее автоматом выключать запрос авторизации.
Но если же игрок спокойно вошёл со включённым персонально для него online-mode - значит он реально авторизован в лаунчере с лицензионным аккаунтом.
Осталось лишь как-то убедиться, что его лицензия за 3 рубля, купленная на помойке, завтра не превратится в тыкву, когда реальный владелец аккаунта решит восстановить доступ. Но тут тебе плагин никак не поможет.
Максимум можно написать что-то в духе "не включайте вход по лицензии, если покупали аккаунт где-то кроме официального сайта Minecraft".
Поэтому я вообще допускаю, что в СНГ авторизация с двухфакторкой через соц. сети действительно может быть безопасней в конечном итоге, чем авторизация с online-mode. К тому же через соцсети доступ потерять сложнее, поскольку, скорее всего, игрок реально владеет своими социальными сетями, а не купил аккаунт условного ВК/ТГ.
И ещё одна подсказка - ты можешь у всех входящих игроков по косвенным признакам определять, что у них точно нет лицензии:
1) Проверять, зарегистрирован ли ник игрока в Mojang. Если нет - это точно пират
2) Проверять, передал ли клиент свой публичный ключ для шифрования чата. Если нет - скорее всего, это тоже пират. Но работает эта проверка только для клиентов 1.14 или новее.
Таким образом, заведомым пиратам можно никогда не предлагать вводить команду включения лицензии.
А если игрок её всё-таки ввёл, то сразу выдавать ошибку, что его аккаунт лицензионным не является
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!