Карти обфускації — це файли зіставлень ProGuard від старих (оригінальних) імен до нових (обфусцированих) імен для класів та членів класів, які було перейменовано.[1] Вони експортуються до client.json для кожньої попередньогї збірки та релізу, доступного в лаунчері, починаючи з 19w36a, і client.json для 1.14.4 було дещо оновлено після випуску 19w36a, щоб включити карти обфускації.[2]
Використання[]
Карти обфускації можуть бути використані для розшифрування трасувань стека (як у звітах про помилки) до більш зрозумілого вигляду.[3] Доступний навчальний посібник.
Dinnerbone та Adrian Östergård припустили, що карти обфускації можуть полегшити модинг.[4][5] Searge припускає, що карти обфускації можуть замінити певні сторонні програми, такі як Mod Coder Pack.[6]
12 серпня 2020 року Dinnerbone заявив, що моддингові проєкти можуть перейти на офіційні назви Mojang, зазначені в картах обфускації.[7]
Використання в сторонніх проєктах[]
Карти обфускації містять достатньо інформації, щоб деобфусціювати Minecraft для декомпіляції. Доступний навчальний посібник.
Згідно з ліцензією, такий декомпільований вихідний код можна поширювати лише у модифікованій версії або як частину більшого проєкту. До 14 серпня 2020 року він був доступний лише для внутрішнього користування.
Ліцензія[]
Кожен файл карти обфускації починається з рядка, що вказує на ліцензію карт.
Ця поточна ліцензія використовується з 21w03a.
# (c) 2020 Microsoft Corporation. These mappings are provided "as-is" and you bear the risk of using them. You may copy and use the mappings for development purposes, but you may not redistribute the mappings complete and unmodified. Microsoft makes no warranties, express or implied, with respect to the mappings provided here. Use and modification of this document or the source code (in any form) of Minecraft: Java Edition is governed by the Minecraft End User License Agreement available at https://account.mojang.com/documents/minecraft_eula.
Версії до 21w03a мають дещо іншу ліцензію.
# (c) 2020 Microsoft Corporation. All rights reserved. These mappings are provided "as-is" and you bear the risk of using them. You may copy and use the mappings for development purposes, but you may not redistribute the mappings complete and unmodified. Microsoft makes no warranties, express or implied, with respect to the mappings provided here. Use and modification of source code for Minecraft: Java Edition is governed by the Minecraft End User License Agreement available at https://account.mojang.com/documents/minecraft_eula.
Для деяких відсутніх версій в лаунчері, випущених до 14 серпня 2020 року, таких як Combat Tests, їхні карти обфускації доступні по іншій старішій ліцензії.
# (c) 2019 Microsoft Corporation. All rights reserved. This information is provided "as-is" and you bear the risk of using it. This information does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this information for your internal, reference purposes. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Згідно з Dinnerbone, будь-які карти обфускації, випущені до оновлення ліцензії 14 серпня 2020 року, все ще будуть доступні під старою ліцензією на додачу до нової ліцензії.[8]
Історія[]
3 вересня 2019 року | Dinnerbone згадує "невеличкий сюрприз для моддерів!" у 19w36a. | ||||
---|---|---|---|---|---|
Java Edition | |||||
1.15 | 19w36a | Завантаження на клієнтські та серверні карти обфускації тепер включено до client.json. | |||
4 вересня 2019 року | Dinnerbone випускає карти обфускації для 1.14.4. | ||||
12 серпня 2020 року | Dinnerbone повідомляє, що ліцензія карт обфускації буде оновлена, і заохочує модераторів переходити на карту обфускації Mojang, стверджуючи в іншому твіті], що це "допоможе з сумісністю". | ||||
Він також запропонував попередній перегляд оновленої ліцензії. | |||||
14 серпня 2020 року | Оновлено ліцензію мап затушовування. | ||||
У version_manifest.json додано записи client.json для версії 1.14.4 і версій, починаючи з 19w36a, для посилання на оновлені карти обфускації. | |||||
1.17 | 21w03a | Змінено формулювання ліцензії. |
Цікаві факти[]
- З усіх версій Java Edition, опублікованих після 19w36a (4 вересня 2019 року), Combat Test 3 поки що єдина версія, опублікована без карти обфускації.
- На відміну від попередніх Combat Test, у версії, від якої вона відгалужена, 1.14.4, має опубліковані карти обфускації.
- Всі наступні Combat Test'и мають карти обфускації і базуються на версіях з випущеними картами обфускації.
- До оновлення ліцензії 16 серпня 2020 року версії, випущені у 2020 році, мали
# (c) 2019 Microsoft Corporation.
у повідомленні про ліцензію у файлах карти обфускації.
- Незважаючи на те, що Combat Test 8b опубліковано після оновлення ліцензії, він все ще використовує старе повідомлення про ліцензію і має повідомлення за 2019 рік.
- У клієнтських картах обфускації одна з перших перелічених функцій називається
youJustLostTheGame()
, що є пасхальним посиланням на «Гра».
- Ця функція використовується для того, щоб викликати аварійне завершення роботи Java після утримання комбінації налагоджувальних клавіш F3 + C протягом десяти секунд.
Примітки[]
- ↑ «ProGuard manual | Usage» – Guardsquare.
- ↑ “I've been pushing for this for a while, so I'm really happy that we were finally able to release the obfuscation mappings public. @SeargeDP had a great idea to release the 1.14.4 mappings as comparison, so those are going out right now.” – @Dinnerbone, 4 вересня 2019 року
- ↑ «ProGuard manual | Retrace» – Guardsquare.
- ↑ “Tomorrow's snapshot has a small surprise for modders! Should make one or two people happy :)” – @Dinnerbone, 3 вересня 2019 року
- ↑ “Happy modding!” – @adrian_ivl, 4 вересня 2019 року
- ↑ “This should answer the questions of everyone who kept asking about MCP updates for newer versions of Minecraft. Spoiler: there won't be any, they are finally not necessary anymore.” – @SeargeDP, 4 вересня 2019 року
- ↑ “We would like to see projects start to switch to the official Mojang names, to help bring the entire modding community together and help with compatibility.” – @Dinnerbone, 12 серпня 2020 року
- ↑ “Existing mappings will still be available under the old terms, but we will also republish them with the new terms on Friday. All new mappings provided in the future will be under the new terms.” – @Dinnerbone, 12 серпня 2020 року
Версії | |||||
---|---|---|---|---|---|
Розробка |
| ||||
Технічне |
| ||||
Мережева гра |
| ||||
Налаштування гри |
|