- Mojang mengumumkan akan menghapus obfuscation sepenuhnya dari Minecraft: Java Edition
- Obfuscation merupakan praktik keamanan yang umum di industri game, tetapi membatasi aksesibilitas kode dan pengembangan mod
- Sebelumnya, nama kelas, fungsi, dan variabel semuanya di-obfuscate sehingga pengembangan mod dan debugging menjadi rumit, tetapi kini akan disediakan build yang menyertakan nama kode asli
- Obfuscation akan hilang mulai dari snapshot pertama setelah update Mounts of Mayhem, dan demi kompatibilitas dengan tool yang ada, selama beberapa waktu versi obfuscated dan de-obfuscated akan didistribusikan bersamaan
- Perubahan ini diharapkan akan semakin mempermudah pengembangan mod, analisis kode, pembacaan crash log, dan perbaikan bug
Sejarah obfuscation kode Minecraft
- Java Edition telah menggunakan obfuscation untuk melindungi source code sejak awal perilisannya
- Nama kelas, fungsi, dan variabel di dalam kode sengaja diubah menjadi string yang tidak bermakna dan tidak dipublikasikan
- Akibatnya, para modder harus menganalisis peran tiap bagian kode secara manual
- Sejak 2019, Mojang meredakan hal ini dengan merilis file obfuscation mappings
- Menyediakan daftar mapping yang menghubungkan nama yang di-obfuscate dengan nama aslinya yang bermakna
- Berkat itu, modder lebih mudah memahami struktur kode, tetapi proses perantara tetap ada
Keputusan untuk menghapus obfuscation
- Mojang memutuskan untuk menghapus obfuscation itu sendiri agar proses perantara benar-benar hilang
- Berlaku mulai snapshot pertama setelah rilis penuh “Mounts of Mayhem”
- Ke depannya, semua versi akan secara default menyediakan kode yang memuat nama asli variabel, field, kelas, dan lainnya
- Developer dan modder akan dapat mengakses dan memodifikasi kode secara langsung
- Ini dipandang sebagai langkah yang meningkatkan keterbukaan Java Edition dan menurunkan hambatan dalam ekosistem mod
Tahap transisi untuk modder
- Mojang menyiapkan masa transisi dengan mempertimbangkan masalah kompatibilitas tool yang ada
- Mulai snapshot berikutnya, rilis eksperimental de-obfuscated juga akan didistribusikan
- Modder dapat menguji tool dan workflow lebih awal agar sesuai dengan struktur kode baru
- Setelah transisi penuh, versi obfuscated lama akan dihentikan
- Versi pertama yang sepenuhnya de-obfuscated adalah snapshot pertama setelah perilisan Mounts of Mayhem
Tujuan perubahan
- Mojang menyatakan bahwa “modding adalah inti dari Java Edition”, dan menjelaskan bahwa obfuscation telah menghambat pertumbuhannya
- Tanpa harus melakukan decoding kode yang rumit, pembuatan, pembaruan, dan debugging mod dapat dilakukan lebih cepat
- Keterbacaan crash log meningkat sehingga penyelesaian masalah juga menjadi lebih cepat
- Kolaborasi antar-modder dan proses belajar juga diharapkan menjadi lebih sederhana
Lisensi dan panduan hukum
- Perubahan ini tidak memengaruhi EULA maupun Usage Guidelines
- Pembuat Minecraft dan mod tetap harus mematuhi ketentuan tersebut
- Setiap file jar akan menyertakan file LICENSE yang terhubung langsung ke EULA
- Perubahan selanjutnya:
- Informasi obfuscation mappings dihapus dari versi
.json
- Baik file jar client maupun server akan disediakan dalam keadaan de-obfuscated
- Setiap jar menyertakan file LICENSE baru
Arah ke depan
- Mojang menyebut ini sebagai “transisi menuju masa depan yang lebih transparan” dan berencana aktif mengumpulkan masukan dari komunitas
- Penghapusan obfuscation ini merupakan perubahan lingkungan pengembangan paling terbuka dalam sejarah Minecraft Java Edition,
dan diharapkan akan mempercepat pertumbuhan ekosistem mod serta memperluas nilai edukatifnya
Belum ada komentar.