server-icon.png: Persyaratan Pasti dan API Manajemen yang Tak Terpakai
64x64, PNG, di root server — salah satu saja tidak terpenuhi, ikon tidak akan muncul. Ditambah API manajemen JSON-RPC yang menggantikan metode "screen-scraping" konsol.
Ikon server adalah fitur kecil yang paling tidak toleran di Minecraft, karena setiap kegagalan terlihat sama: tidak ada ikon, tidak ada kesalahan.
Tiga Persyaratan, Semuanya Wajib
- Tepat 64×64 piksel. Bukan 63, bukan 128. Server tidak mengubah ukuran.
- Format PNG. Benar-benar PNG, bukan JPG yang diganti namanya.
- Dinamai
server-icon.png, di root server — di sampingserver.properties, bukan
di dalam folder dunia.
Salah satu saja tidak terpenuhi, server akan memulai secara normal dan menampilkan ikon default. Tidak ada yang dicatat pada level default.
Hal-hal Lain yang Juga Merusaknya
- PNG interlaced. Beberapa editor menyimpan interlaced secara default; pembaca Minecraft menolaknya. Ekspor ulang non-interlaced.
- Kedalaman warna 16-bit. Simpan sebagai 8-bit per saluran.
- Profil warna. Profil ICC yang tertanam terkadang mengganggu parser. Hapus metadata saat mengekspor.
- Transparansi tidak masalah dan ditampilkan dengan benar di daftar server.
Klien Menyimpannya dalam Cache
Setelah klien melihat server Anda, klien akan menyimpan ikon tersebut. Ganti ikon di sisi server tidak akan memperbarui entri yang sudah ada — Pemain harus menghapus dan menambahkan kembali server, atau menunggu cache kedaluwarsa. Menguji perubahan ikon dari klien Anda sendiri akan meyakinkan Anda bahwa itu tidak berfungsi padahal sebenarnya berfungsi.
API Manajemen
Versi server terbaru mengekspos antarmuka manajemen JSON-RPC, yang merupakan pengganti resmi untuk menguraikan output konsol atau memasang plugin.
Aktifkan di server.properties:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Kemudian gunakan JSON-RPC melalui port tersebut:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
Metode mencakup daftar Pemain, status server, daftar izin (allowlist) dan daftar larangan (ban list), aturan permainan (gamerules), pengaturan, dan pasangan simpan/henti. Masing-masing mengembalikan JSON terstruktur alih-alih baris teks yang harus Anda regex.
Ikat ke localhost
Defaultnya adalah localhost dan seharusnya tetap di sana. Antarmuka ini tidak dimaksudkan untuk menghadap internet — apa pun yang mencapainya dapat menghentikan server Anda. Ekspos melalui terowongan SSH atau reverse proxy dengan autentikasi jika Anda memerlukan akses jarak jauh, jangan pernah Ganti host ke 0.0.0.0.
Mengapa Ini Penting
Dasbor, bot Discord, dan monitor waktu aktif secara historis bekerja dengan membaca log konsol atau menggunakan RCON, keduanya rapuh. API yang diketik berarti widget jumlah Pemain tidak rusak ketika baris log berubah format.
Konversi gambar apa pun menjadi server-icon.png yang sesuai dan telusuri metode JSON-RPC di Server Icon & API Tools.