server-icon.png: Tam Gereksinimler ve Kimsenin Kullanmadığı Yönetim API'si
64x64, PNG, sunucu kök dizininde — bu üçünden birini yanlış yapın, simge sessizce görünmez. Ayrıca konsolu kazımayı (screen-scraping) ortadan kaldıran JSON-RPC yönetim API'si.
Sunucu simgesi, Minecraft'taki en affetmez küçük özelliktir, çünkü her hata modu aynı görünür: simge yok, hata yok.
Üç Gereksinim, Hepsi Zorunlu
- Tam olarak 64×64 piksel. Ne 63, ne 128. Sunucu yeniden boyutlandırma yapmaz.
- PNG formatı. Gerçekten PNG, yeniden adlandırılmış bir JPG değil.
- Sunucu kök dizininde
server-icon.pngolarak adlandırılmış —server.propertiesdosyasının yanında, dünya klasörünün içinde değil.
Bunlardan herhangi birini yanlış yaparsanız, sunucu normal şekilde başlar ve varsayılan simgeyi gösterir. Varsayılan seviyede hiçbir şey günlüğe kaydedilmez.
Bozulmasına Neden Olan Diğer Şeyler
- Arka arkaya geçmeli (Interlaced) PNG. Bazı düzenleyiciler varsayılan olarak arka arkaya geçmeli kaydeder; Minecraft'ın okuyucusu bunu reddeder. Arka arkaya geçmeli olmayan şekilde yeniden dışa aktarın.
- 16 bit renk derinliği. Kanal başına 8 bit olarak kaydedin.
- Renk profilleri. Gömülü bir ICC profili bazen ayrıştırıcıyı (parser) tetikler. Dışa aktarırken meta verileri kaldırın.
- Şeffaflık sorun değil ve sunucu listesinde doğru şekilde görüntülenir.
İstemci Bunu Önbelleğe Alır
Bir istemci sunucunuzu bir kez gördüğünde, simgeyi tutar. Sunucu tarafında değiştirmek mevcut girişleri güncellemez — Oyuncu sunucuyu kaldırmalı ve yeniden eklemeli veya önbelleğin süresinin dolmasını beklemelidir. Kendi istemcinizden bir simge değişikliğini test etmek, çalıştığı halde çalışmadığına sizi ikna edecektir.
Yönetim API'si
Son sunucu sürümleri, konsol çıktısını ayrıştırmanın veya bir eklenti takmanın onaylanmış yerine geçen bir JSON-RPC yönetim arayüzü sunar.
Bunu server.properties içinde etkinleştirin:
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
Ardından bu port üzerinden JSON-RPC ile iletişim kurun:
{ "jsonrpc": "2.0", "id": 1, "method": "minecraft:players" }
Metotlar Oyuncu listesini, sunucu durumunu, izin verilenler listesini ve yasaklama listesini, oyun kurallarını (gamerules), ayarları ve bir kaydetme/durdurma çiftini kapsar. Her biri, regex ile ayrıştırmanız gereken bir metin satırı yerine yapılandırılmış JSON döndürür.
Yerel Ana Bilgisayara Bağlayın
Varsayılan localhost'tir ve orada kalmalıdır. Arayüz internete dönük değildir — ona ulaşan herhangi bir şey sunucunuzu durdurabilir. Uzaktan erişime ihtiyacınız varsa, bir SSH tüneli veya kimlik doğrulamalı bir ters proxy aracılığıyla açın, asla ana bilgisayarı 0.0.0.0 olarak değiştirerek değil.
Neden Önemli
Panolar, Discord botları ve çalışma süresi izleyicileri tarihsel olarak konsol günlüğünü okuyarak veya RCON kullanarak çalışmıştır, bunların ikisi de kırılgandır. Yazılı bir API, bir günlük satırı formatı değiştiğinde bir Oyuncu sayısı widget'ının bozulmaması anlamına gelir.
Herhangi bir görüntüyü uyumlu bir server-icon.png'ye dönüştürün ve JSON-RPC metotlarına Sunucu Simgesi ve API Araçları sayfasından göz atın.