Pesan error itu sebenarnya sudah berisi jawabannya: Kalau tertulis class file version 65.0, berarti file tersebut membutuhkan Java 21. Rumusnya selalu sama — angka dikurangi 44 menghasilkan versi Java. Tapi yang lebih penting daripada angkanya adalah pertanyaan, file milik siapa yang dimaksud: Dalam kebanyakan kasus, bukan server yang terlalu lama, melainkan satu plugin yang terlalu baru.

Membaca pesannya

Baris yang umum terlihat seperti ini:

java.lang.UnsupportedClassVersionError: com/example/PluginMain has been compiled by a more
recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime
only recognizes class file versions up to 61.0

Di dalamnya ada tiga informasi:

  1. com/example/PluginMain — siapa yang menyebabkan error. Kalau di sini muncul nama plugin atau mod, artinya satu file itu yang tidak cocok, servernya sendiri baik-baik saja.
  2. class file version 65.0 — apa yang dibutuhkan: 65 − 44 = Java 21.
  3. only recognizes … up to 61.0 — apa yang sedang berjalan: 61 − 44 = Java 17.

Artinya: Plugin yang dibuat untuk Java 21 berada di server yang berjalan dengan Java 17.

Tabel konversi

class file version Versi Java
52.0 Java 8
55.0 Java 11
60.0 Java 16
61.0 Java 17
65.0 Java 21
69.0 Java 25

Angka-angka ini berasal dari spesifikasi JVM resmi. Selisih 44 di sana konstan sejak Java 1.0 — jadi kamu bisa menghitung sendiri versi mendatang tanpa memperluas tabel.

Ingat: Runtime Java selalu memahami semua versi file class yang lebih lama, tapi tidak pernah yang lebih baru. Karena itu plugin Java 8 berjalan tanpa masalah di Java 21, tetapi sebaliknya tidak akan pernah bisa.

Versi Java mana yang dibutuhkan tiap versi Minecraft?

Versi Minecraft Java yang dibutuhkan
sampai 1.16.5 Java 8
1.17 – 1.17.1 Java 16 (praktisnya Java 17)
1.18 – 1.20.4 Java 17
mulai 1.20.5 Java 21
mulai 26.0 Java 25

Di tempat kami kamu tidak perlu mengaturnya. Kami menentukan runtime dari versi Minecraft server kamu dan memasangnya otomatis. Kalau kamu memesan 1.21, kamu mendapatkan Java 21 tanpa perlu mencari tombol pengaturan.

Untuk fork server seperti Leaf dan Leaves, kami juga merawat pemetaan yang tepat untuk tiap release, bukan sekadar mengambil aturan umum. Alasannya: Sebuah fork boleh berbeda dari kebutuhan Vanilla, dan asumsi optimistis justru bisa salah saat paling dibutuhkan. Kalau tidak ada Java yang cocok untuk sebuah kombinasi, kami sengaja menghentikan proses, bukan menjalankan runtime yang terlalu rendah — server yang tidak jadi start dengan konfigurasi salah lebih mudah diperbaiki daripada server yang berjalan setengah-setengah.

Kasus paling umum: plugin, bukan server

Kalau server kamu baru saja berjalan normal dan error muncul setelah menambahkan sebuah file, penyebabnya jelas. Langkahnya:

  1. Catat nama class dari pesan. Hampir selalu itu menyebut proyeknya.
  2. Cari varian build yang cocok dari penyedia. Banyak plugin menyediakan download terpisah untuk Java 17 dan Java 21, sering dengan tambahan -java17 atau sebagai cabang release sendiri. File terbaru tidak otomatis menjadi yang benar.
  3. Kalau tidak ada varian yang cocok, kamu membutuhkan versi Minecraft yang lebih baru — karena baru versi itulah yang membawa runtime lebih baru. Cara mengganti versi tanpa kehilangan world dijelaskan di Mengganti versi server Minecraft.
  4. Hapus plugin sementara, kalau server harus segera berjalan. Cara menambah dan menghapus plugin dengan rapi ditunjukkan di Menginstal mod dan plugin Minecraft.

Kasus lain: Java terlalu baru

Kasus ini jarang dijelaskan, tetapi sering terjadi. Modpack Forge lama — contoh klasiknya 1.12.2 — dibuat untuk Java 8. Di Java 21, modpack seperti ini gagal, tetapi biasanya bukan dengan UnsupportedClassVersionError, melainkan dengan pesan tentang class internal yang hilang atau parameter start yang ditolak.

Cirinya: Pack itu dulu pernah berjalan, atau berjalan di tempat lain, dan server kamu menyebut versi Minecraft yang sangat lama. Solusinya bukan Java yang lebih baru, melainkan memilih versi Minecraft yang sesuai dengan pack di panel — dengan begitu kami memasang runtime lama yang cocok.

Catatan jujur: Koreksi otomatis kami tidak berlaku untuk kasus ini. Koreksi itu hanya memperbaiki arah “terlalu lama”, yaitu saat server membutuhkan Java yang lebih baru daripada yang sedang berjalan. Java yang terlalu baru sengaja tidak dianggap sebagai drift — kalau tidak, pelanggan yang sengaja memilih runtime lebih lama akan otomatis kehilangan pilihannya lagi.

Apa yang kami tangani otomatis

  • Runtime yang cocok sejak pemesanan. Versi Java mengikuti versi Minecraft, tanpa pengaturan tambahan.
  • Koreksi saat ganti versi. Kalau kamu pindah ke versi yang membutuhkan Java lebih tinggi, runtime ikut disesuaikan.
  • Boot log mengalahkan rumus. Kalau server kamu sendiri menyebut versi Java yang dibutuhkan saat start dan versinya lebih tinggi daripada yang sedang berjalan, kami mengoreksinya berdasarkan pengukuran ini — bukan berdasarkan turunan dari versi yang dipesan. Pernyataan server tentang dirinya sendiri lebih dapat dipercaya daripada tabel mana pun.
  • Image kustom tetap tidak disentuh. Kalau server kamu berjalan di runtime yang kamu pilih sendiri, kami tidak ikut campur.
  • Fail-closed, bukan setengah benar. Kalau tidak ada Java yang cocok untuk sebuah kombinasi, kami menghentikan proses dan melaporkannya, bukan menjalankan runtime yang salah.

Troubleshooting

Gejala Pemeriksaan Solusi
class file version 65.0 disebut, nama class adalah plugin Apakah server berjalan sebelum ditambahkan? Unduh build plugin untuk versi MC kamu
Error langsung saat server start, tidak ada plugin disebut Versi Minecraft mana yang berjalan? Samakan versi dan runtime
Modpack 1.12.2 lama tidak start Apakah log menyebut class internal yang hilang? Java terlalu baru — pilih versi MC yang cocok
Error setelah ganti versi Apakah muncul langsung setelah pergantian? Tunggu restart; kalau tetap ada, hubungi support dengan baris lengkapnya
Plugin dimuat, tetapi fungsi hilang Apakah log berisi warning, bukan error? Penyebab lain — bukan versi Java

FAQ

Bisa aku mengubah versi Java sendiri?

Di tempat kami itu tidak perlu: Versinya berasal dari versi Minecraft server kamu. Kalau kamu membutuhkan runtime lain, jalan yang benar adalah mengganti versi Minecraft — dengan begitu seluruh lingkungan akan cocok.

Apakah Java yang lebih baru selalu lebih baik?

Tidak. Untuk Minecraft, versi yang diminta sekaligus menjadi batas atas praktis: core server, mod, dan plugin disesuaikan dengannya. Melompat ke runtime lebih tinggi “sekadar coba-coba” tidak memberi keuntungan dan bisa merusak mod lama.

Kenapa plugin-ku berjalan secara lokal, tapi tidak di server?

Karena instalasi Java lokal kamu bisa lebih baru daripada milik server. Yang menentukan adalah runtime di server, bukan di komputer kamu.

Bagaimana aku tahu Java mana yang sedang dipakai serverku?

Pesannya memberi tahu kamu: only recognizes class file versions up to 61.0 berarti Java 17. Tanpa pesan error, proses start server menyebut versi Java di baris-baris awal konsol.

Apakah aku harus membuat ulang world setelah mengganti Java?

Tidak. Runtime hanya memengaruhi eksekusi, bukan format world. Sebaliknya, mengganti versi Minecraft bisa mengubah format world — jadi buat backup dulu sebelumnya.

Langkah berikutnya

Kalau server sudah berjalan lagi tetapi masih lambat, Server Minecraft lag: memperbaiki Watchdog timeout bisa membantu. Kalau RAM tidak cocok dengan ukuran modpack, Kalkulator RAM Minecraft menghitung kebutuhannya.

Kamu mencari server yang versi Java-nya otomatis cocok dengan versi game? Di Sewa server Minecraft kamu bisa menemukan paketnya.

Sumber dan kondisi pengujian

Kondisi pengujian: 24 Agustus 2026. Versi Minecraft baru bisa membawa kebutuhan Java baru; sumber yang ditautkan masing-masing adalah status terbaru.