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

Новая жизнь Java Edition или маппинги в массы!

Тема в разделе "Оффтопик", создана пользователем Dymeth, 4 сен 2019.

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

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

    Баллы:
    96
    Имя в Minecraft:
    Dymeth
    Сегодня стало известно о том, что Mojang опубликовали собственные маппинги Minecraft Java Edition для клиентской и серверной сторон.
    MCP, Forge, Fabric и Spigot могут с высокой вероятностью начать их использовать.
    Сегодняшний день важен для всего коммьюнити Minecraft Java.

    Что такое маппинги?
    Если говорить простым языком - Mojang предоставили сторонним разработчикам возможность получать исходный код игры, который до этого момента был недоступен. В данный момент MCP, Forge, Fabric, Spigot и прочие популярные системы работают с собственными маппингами, которые составляются людьми, не имеющим к Mojang никакого отношения. Этот процесс довольно затратен по времени, поскольку приходится разбираться в обфусцированном (защищённом коде).
    * "MCP писался разработчиком майна Searge" (спасибо nyuhnyash за уточнение).

    Что это даст игрокам?
    Игровое коммьюнити получит возможность скачивать обновления своих любимых плагинов и модов практически сразу после выхода новой версии игры - больше никаких задержек по несколько месяцев.
    Также моды с большей вероятностью смогут запускаться сразу на нескольких версиях игры. Гарантий этого нет, но шанс довольно велик.

    Что это даст разработчикам?
    Естественно, возможность оперативно выпускать обновления своих продуктов и наслаждаться отсутствием обфускации. Похоже, Minecraft Java действительно хочет поддержать независимых разработчиков.
    Однако у этой ситуации есть и обратная медаль: скорее всего, мы так никогда и не получим Mod API, которое нам обещали довольно давно. Судя по всему, Mojang решили, что коммпьюнити разработчиков само прекрасно справляется благодаря своим же API - существуют MCP, Forge и Fabric. Но, так или иначе, мы лишаемся официальной поддержки в случае каких-либо проблем.
    На самом деле, не всё так радужно, ещё и по той причине, что маппинги от Mojang содержат лишь имена классов, имена полей классов и имена методов. А вот имена аргументов методов и переменных внутри них по-прежнему придётся деобфусцировать неофициальными средствами.

    В данный момент маппинги присутствуют лишь в версиях 1.14.4 и новее (например, в снапшоте 1.15 - 19W36A).

    Для начала открываем список всех версий:
    https://launchermeta.mojang.com/mc/game/version_manifest.json

    После этого находим нужную (например, релиз 1.14.4):
    https://launchermeta.mojang.com/v1/packages/74b5fb5fa9ec7b14abe60b468e40703cfbf8d10e/1.14.4.json

    Ссылки на маппинги находятся в блоках "downloads.client_mappings" и "downloads.server_mappings" соответственно.

    Пример маппингов сервера на 1.14.4: https://launcher.mojang.com/v1/objects/448ccb7b455f156bb5cb9cdadd7f96cd68134dbd/server.txt

    Что нас ждёт дальше?
    На самом деле, политика Microsoft в данном случае не совсем понятна.
    По задумке копания должна продвигать версию Bedrock Edition, дабы окупить затраты на приобретение игры. Возможно мы постепенно подходим к моменту, когда разработка Java Edition будет полностью передана в руки коммпьюнити. Как это скажется на игре - покажет время.
    Что вы думаете об этом шаге Mojang и о будущем Minecraft в целом?

    Приведённая в топике информация - выражение моего личного мнения. Оно может не совпадать с вашим или вовсе не иметь ничего общего с реальностью.

    Bedrock Edition
    С Minecraft Bedrock Edition возникла ровно противоположная ситуация - в версии 1.13.0.9 были удалены отладочные символы. Это ставит под угрозу будущее проекта PocketMine и будущее серверов Bedrock Edition в целом. Комментарий разработчика: https://forums.pmmp.io/threads/1-13-debug-symbols-and-the-titanic.8571/

    UPD 04.09.19: Fabric уже начал переход на новые маппинги. Прогнозы по Spigot не особо перспективные, поскольку он изначально использует маппинги от mc-dev, а не MCP.
     
    Последнее редактирование: 10 сен 2019
  2. Mr Hosting
  3. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Есть легальные проблемы связанные с этими маппингами.
    Непонятно пока в каких случаях их можно использовать, а в каких нельзя.

    Например:
    Можно ли распространять исходники классов или сами классы модов, которые используют деобфусцированные имена?
    Можно ли распространять патчи к ванильним классам использующие эти имена?
    Можно ли автоматически загружать маппинги и деобфусцировать сервер/клиент для сборки локальной копии, которая не будет рапространяться третьим лицам?
    И таких вопросов куча.
     
  4. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Поскольку EULA не меняли (по крайней мер об этом громко не кричали), то по сути ничего не изменилось. Логика осталась прежней: ты можешь загрузить к себе эти маппинги, можешь их использовать для деобфускации, но не можешь распространять результат.
    Т.е. схема BuildTools от спигота — работает, просто теперь есть ещё и эти файлы.
     
  5. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Проблема не в этих файлах, а например в крафтбакките и в патчах для ванильного сервера.
     
  6. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Патчи по сути не содержат деобфусцированного исходного кода всей игры, а только новый или изменененный (другой) код, использующий деобфусцированные имена. Так что проблем быть не должно.
     
  7. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Просто файлы ничего не меняют.
     
  8. alexandrage

    alexandrage Старожил Временно заблокирован Пользователь

    Баллы:
    173
    Ограничение только на исходники майнкрафта и все.
     
  9. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    По сути да, а вот с точки зрения бюрократии - хз. Серая зона короче.
     
  10. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    [​IMG]

    Грубо говоря вопрос именно использовании модами имён был задан, но как видно разрешения не было получено, и моджанг пока думает над ответом.
     

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