Собственные атрибуты запуска майнкрафт

Версия Minecraft
1.13+
я хочу создать свои метод авторизации на сервер через лаунчер клиента,
язык лаунчера- python
но я не хочу трогать оригинальный способ и создавать авторизацию через внешний сайт.(без использования оригинального UUID, accessToken и баз данных)
мне просто нужно, чтоб при запуске клиента он получал еще дополнительный собственный атрибут, который еще будет проверяться плагином сервера например.

то есть клиент получает такое уникальное значение при запуске, которое будет проверяться сервером для успешной авторизации.
часть с принципом генерацией значения уже есть, теперь необходимо чтоб:
1)клиент его наследовал. 2)чтоб сервер его смог считать.
суть всего этого: безопасность входа на сервер. безопасность клиента
это возможно?
это возможно с дополнительными API?(forge и.т.д)
если я написал бред. то поясните почему. спасибо)
 
Решение
Хранит в данных сессии, а не наследует.
Сделать конечно же можно - просто отправляет кастомный пакет при заходе игрока на сервер, чекает этот идентификатор, кикаем, если не валидный.
Только это не будет заменой авторизации
1,159
38
544
Я не имею опыта связывания модов с плагинами, но вопрос уж больно тяжело читать.

часть с принципом генерацией значения уже есть, теперь необходимо чтоб:
1)клиент его наследовал.

Наследовать принциа генерации значееия? Можно как-то проще описать?

И что значит "уникальное значение при запуске"? Уникальное по отношению к чему?
 
уникальность значения зависит от ника и некоторых внешних факторов.

что я имею введу под наследованием
сгенерированное значение далее наследуется клиентом.
например: при оригинальном запуске клиента. он наследует никнейм и uuid.
 
7,099
324
1,510
Хранит в данных сессии, а не наследует.
Сделать конечно же можно - просто отправляет кастомный пакет при заходе игрока на сервер, чекает этот идентификатор, кикаем, если не валидный.
Только это не будет заменой авторизации
 
Хранит в данных сессии, а не наследует.
Сделать конечно же можно - просто отправляет кастомный пакет при заходе игрока на сервер, чекает этот идентификатор, кикаем, если не валидный.
Только это не будет заменой авторизации
Спасибо за идею.
И как в кастомный пакет засунуть инородное значение?) может гайд есть какой нибудь?
 
1,159
38
544
И как в кастомный пакет засунуть инородное значение?
Создаешь класс имплементящий IMessage и засовываешь в него что тебе нужно. Потом создается IMessageHandler для твоего пакета и регистрируешь в SimpleNetworkWrapper'е.
 
Создаешь класс имплементящий IMessage и засовываешь в него что тебе нужно. Потом создается IMessageHandler для твоего пакета и регистрируешь в SimpleNetworkWrapper'е.

я как понимаю что это- forge

мне приоритетнее нужно чтоб это значение поступало в клиент посредству cmd команды запуска клиента.(потому что я по другому не знаю как майн запускать) можно же это значение сюда как нибудь запихнуть?
Код:
%JAVA% %ARGUMENTS% -Djava.library.path=%MINECRAFT_DIR% .... net.minecraft.client.main.Main --username %PLAYER% --version %VERSION% .... --uuid 00000000000000000000000000000000 --accessToken null --userType legacy --versionType release --width %WIDTH% --height %HEIGHT%
 
1,159
38
544
для этого какой API подойдет лучше?
Forge API естественно. Я ничего не знаю про другие АПИ


мне приоритетнее нужно чтоб это значение поступало в клиент посредству cmd команды запуска клиента
Ну так и передавай при запуске свой кастомный параметр. А в коде доставай его так.
 
7,099
324
1,510
И как в кастомный пакет засунуть инородное значение?) может гайд есть какой нибудь?
Если и клиент и сервер - forge, то подойдет [1.7-1.12]Пакетная система CodeChickenLib
Независимо от версии и легко юзается

Если сервер без forge, но есть bukkit - Передача информации Мод <=> Плагин
 
Спасибо. Я просто новичок в этом, и мне не совсем понятно было устройство. НО сейчас уже многое прояснилось и кажется простым для реализации.
Буду изучать учебник форума.
 
Сверху