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

Помогите В рантайме подменить ссылку на скрипт в BungeeCord

Тема в разделе "Разработка плагинов для новичков", создана пользователем Reality_SC, 21 апр 2015.

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

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    @alexandrage @Shevchik
    Ребят, простите что я вас тыркаю постоянно упоминалками ... только вы в теме :)

    Свежайший BungeeCord. Я пишу под него плагин. Задача — авторизовывать подключающихся игроков не по Mojang-овскому скрипту hasJoined, а по аналогичному моему. То есть просто подменить одну ссылку во время onEnable или встроить какой-то хак-обработчик.

    Вот место, где банжа создаёт ссылку: InitialHandler.handle #L388
    Далее она, будучи String, уходит в HttpClient.get #33, где из неё строится URI.
    Всё было бы проще, если бы это было URL: я хакаю URL.openConnection через подмену URLStreamHandler, как делает Шевчик в MojangAPIProxy, но тут этот подход неприменим. Заменить рефлексией какие-то поля ... они никакие не используются.

    Помогите найти точку для взлома :) InClassTranslator неинтересен, хочется более нежный и массовый подход.
     
  2. Хостинг MineCraft
    <
  3. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Написать патч для исходников, не?
     
  4. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Javassist? :D
     
  5. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Возможно, но не имею опыта. Есть куда подсмотреть? :)
     
  6. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Асмом проще. А вообще опенсурс же, клонируй репу и редактируй. Или же автопатч во время сборки делай.
     
  7. DimaTiunov

    DimaTiunov Активный участник Пользователь

    Баллы:
    78
    Я конечно понимаю что это некропост, но были ли продвижения в этом направлении?
     
  8. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Я пока забил. У меня ещё пока нет центрального лобби, тем более у меня просто один основной сервер, поэтому я отложил это. На ближайшее время решил действительно, при необходимости собирать банжу с исправленных исходников.
     
  9. DimaTiunov

    DimaTiunov Активный участник Пользователь

    Баллы:
    78
    Спасибо за ответ, буду ждать)
     
  10. Автор темы
    Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Форканул, вынес часть URL из кода в отдельное поле, предложил Pull Request.
    https://github.com/SpigotMC/BungeeCord/pull/1481
    Коротко говоря, md_5 против.

    Ну ОКъ, себе-то я собрал ...
     

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