Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Организация авторизации по новой системе

Тема в разделе "Управление сервером Bukkit", создана пользователем DimasForce, 5 янв 2015.

  1. Автор темы
    DimasForce

    DimasForce Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    DimasForce
    Приветствую, о заглянувший в эту тему! D:
    Ну а если к телу ближе - вернулся в околокубическую среду не так давно, а тут не слабые изменения - по другому хранятся файлы клиента, по другому организована авторизация... Полистал что нашел по новой авторизации, но в основном там либо теория, либо хитровывернутая система с весьма глобальными замашками ;)
    А мне интересно - как реально, на практике, сделать авторизацию пользователя - что куда отправлять, что получать и как обрабатывать (хотя в общем то не отказался бы от точных наводок на то, что нужно менять в клиенте и сервере (спигот)). Поднимать сервер авторизации а-ля моджанг не хочется, думаю вполне можно обойтись небольшим бэком на php.
    Пока есть: на одной стороне - на(быдло)коденый лаунчер, на другой - бэк на php, отдающий лаунчеру некоторые данные о пользователе (авторизация через БД xenforo, баланс монет, скин (пока из s3.amazonaws~~)). В общем все не так плохо, не хватает "мелочи" - запуска клиента и проверки подключенного игрока на самом сервере.
    В общем если кто-то знает что-то по авторизации новой - киньте пожалуйста :)
    Совместимость с моджангом не интересует, я бы был в общем не против вернуть авторизацию с сессией как раньше :)
     
  2. Хостинг MineCraft
    <
  3. unlimited

    unlimited Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    infinity
    wiki.vg
     
  4. Автор темы
    DimasForce

    DimasForce Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    DimasForce
    Схема авторизации вроде как разобрана тут. Написать бэк под нее не такая уж проблема. Но как оно в клиенте устроено? Там как я понял не в jarнике игры клиентская часть авторизации, а в отдельной либке. Джарник разбирается MCP, а что делать с отдельной библиотекой авторизации?
    И было бы вообще неплохо все слить в один файл minecraft.jar или что-то подобное.
     
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Уже все велосипеды написаны, тема в подписе. Там и запуск и скины, только надо проверку сигнатуры вырезать для скинов.
     
    Последнее редактирование: 6 янв 2015
  6. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    JD-GUI или аналог, она вообще не обфусцирована.
     
  7. Автор темы
    DimasForce

    DimasForce Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    DimasForce
    В общем сделал авторизацию, официальный клиент и все прочее отбивает, пускает с моего.
    Но тут проблемка со скинами - в игре я выгляжу так:
    [​IMG]

    Хотя ответ hasjoined содержит ссылки на скины:
    Код:
    { "id":"5d5e397f-2036-fb94-79c3-239fa17f626b","name":"DimasForce","properties": [{ "name":"textures","value":"CgkJewoJCSJ0aW1lc3RhbXAiOiIxNDIwOTAxMjUwMDAwIiwicHJvZmlsZUlkIjoiNWQ1ZTM5N2YtMjAzNi1mYjk0LTc5YzMtMjM5ZmExN2Y2MjZiIiwicHJvZmlsZU5hbWUiOiJEaW1hc0ZvcmNlIiwidGV4dHVyZXMiOgoJCXsKCQkJIlNLSU4iOgoJCQl7CgkJCQkidXJsIjoiaHR0cDovL2luZGllc2VydmVycy5ydS9pc21sL21jc2tpbnMvbWNza2lucy9EaW1hc0ZvcmNlLnBuZyIKCQkJfSwKCQkJIkNBUEUiOgoJCQl7CgkJCQkidXJsIjoiaHR0cDovL2luZGllc2VydmVycy5ydS9pc21sL21jc2tpbnMvbWNjYXBlcy9EaW1hc0ZvcmNlLnBuZyIKCQkJfQoJCX0KCX0=","signature":"Cg==" }] }
    [DOUBLEPOST=1420903303,1420901429][/DOUBLEPOST]Значит разобрался... частично. Скины поднялись. Но в качестве плаща берется файл скина, мать его.
    Screenshot_1.png [DOUBLEPOST=1420904611][/DOUBLEPOST]В догонку: звуки не цепляются, странно. Путь до assets в строке запуска есть.
     
  8. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Тебе и не сделать скины, сигнатуру надо вырезать. А имя плаща не должно совпадать со скином, папка то общая.
     
  9. Автор темы
    DimasForce

    DimasForce Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    DimasForce
    Общая папка? Плащ вроде в mccapes, а скин в mcskins...
    Сигнатуру вырезать с полем или просто очистить?
     
  10. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Я про сохранение скина клиентом. А сигну я точно незнаю где вырезать, на сервере или в клиенте. Иначе скин только ты сам свой увидешь. Фишка что скин не передается без валидной сигны.[DOUBLEPOST=1420918030,1420917884][/DOUBLEPOST]Хотя я думаю будет проще клиент пофиксить чтоб он отхер скины качал как свой сам, а не получал от сервера.
     
  11. Автор темы
    DimasForce

    DimasForce Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    DimasForce
    Под 1.8 есть фикс? Просто я в яве считай 0. В эклипсе поменять что-то могу (разобрав mcp), но суть изменений уловлю слабо.
     
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну фишка что скин других игроков клиент полусает от сервера. Но из за невалидной сигны клиент ничего не получает. Потому проверку сигны нужно где то вырезать, или править клиент чтоб сам качал скины.
     
  13. Автор темы
    DimasForce

    DimasForce Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    DimasForce
    Ну фишку эту я понял, по сути новая схема не так уж плоха (особенно когда вся обертка уже доделана :D), но со скинами не очень хорошее решение.
    Для клиента нужен фикс, видел твою тему, но там 1.7.10 на сколько помню. И там вроде как готовое решение было, а я бы сам поменял.
     
  14. Apple_iPad_3

    Apple_iPad_3 Активный участник

    Баллы:
    61
    Имя в Minecraft:
    RollOver
    Доброго времени суток! Не мог бы ты мне в ЛС рассказать какие классы редактировал на сервере и что на что заменял??? Заранее спасибо :3 А то уже две недели ломаю голову над авторизацией( Там строки в классе не такие, там вообще класса нету и т.д.
     
  15. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Просто перестать велосипедить и заюзать мои скрипты от сашка.
     
  16. Автор темы
    DimasForce

    DimasForce Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    DimasForce
    Он их и взял. И я взял пару кусочков, данные принимаемые join и отправляемые hasjoined.
    Кстати, по скинам и плащам. Я заменил файл плаща на полноразмерный (был 22 на 17 или как-то так), и все пошло. И не зависит от имени файла на сервере, может быть и одинаковым, клиенту пофиг, а на сервере все равно в разных папках.
    Теперь надо проверить видны ли скины другим, иначе все равно придется переделывать что-то.

    UPD: Заработало оно 1 раз... пришлось снова менять название. Значит таки ошибка была из-за размера плаща, но название все равно нужно другое. :\

    Интересно как бы теперь заставить работать ресурсы...
     
    Последнее редактирование: 11 янв 2015

Поделиться этой страницей