
Better Ping Display [Fabric] — Minecraft Java Edition 1.15.2 - 1.21.11+
Bağımlılıklar: · Yükleyici: Fabric, Quilt · Minecraft sürümü: 1.15.2 - 1.21.11+ · Mod sürümü: 1.2.0 · Zorunlu bağımlılıklar: Fabric API…
Bağımlılıklar: · Yükleyici: Fabric, Quilt · Minecraft sürümü: 1.15.2 - 1.21.11+ · Mod sürümü: 1.2.0 · Zorunlu bağımlılıklar: Fabric API Standart Minecraft arayüzü, oyuncuların bağlantı gecikmesini ağ listesi menüsünde (
Bağımlılıklar:
· Yükleyici: Fabric, Quilt
· Minecraft sürümü: 1.15.2 - 1.21.11+
· Mod sürümü: 1.2.0
· Zorunlu bağımlılıklar: Fabric API
Standart Minecraft arayüzü, oyuncuların bağlantı gecikmesini ağ listesi menüsünde (TAB tuşu) beş dikey çubuktan oluşan grafik bir simge biçiminde gösterir. Bu yaklaşım, bağlantı kararlılığı hakkında kesin bilgi sağlamaz; çünkü aynı simge hem 80 milisaniye hem de 140 milisaniyelik bir gecikmeye karşılık gelebilir. Rekabetçi oyunda, PvP savaşlarında veya büyük oyun sunucularının yönetimi sırasında kesin ping değerleri kritik önem taşır. Better Ping Display [Fabric] modifikasyonu, soyut grafik çubukları gecikmenin milisaniye cinsinden kesin sayısal değeriyle doğrudan oyuncu listesi menüsünde değiştirerek bu sorunu çözer.
Teknik çalışma ilkesi ve gecikmenin standart işlenmesinin kısıtlamaları
Ping bilgisini iletmek için Minecraft sunucusu, oyuncu listesi güncelleme paketleri gönderir (oyunun modern sürümlerinde bundan ClientboundPlayerInfoUpdatePacket paketi sorumludur). Paketteki her kayıt, milisaniye cinsinden ifade edilen tam sayı bir gecikme (latency) parametresi içerir. Oyunun istemci tarafı bu verileri alır ve PlayerInfo nesnesinin (önceki sürümlerde NetworkPlayerInfo olarak bilinen) bir özelliği olarak bellekte saklar.
Oyuncu listesi ekranda işlenirken, vanilla arayüz sınıfı PlayerListHud (veya Yarn eşlemelerinde PlayerTabOverlay) bağlı tüm kullanıcıları tarar ve gecikme düzeyini belirler. Simgenin gösterilmesinden dahili renderLatencyIcon metodu (veya renderPingIcon) sorumludur. Bu metot, tam sayı milisaniye değerini sabit eşiklerle karşılaştırır:
· 0'dan küçük bir değer, bağlantı yokluğu simgesini (kırmızı çarpı) gösterir.
· 150 milisaniyeden küçük bir değer, en yüksek beş çubuğa karşılık gelir.
· 150 ile 299 milisaniye aralığı dört çubuk gösterir.
· 300 ile 599 milisaniye aralığı üç çubuk gösterir.
· 600 ile 999 milisaniye aralığı iki çubuk gösterir.
· 1000 milisaniyeden başlayan bir gecikme tek çubuk gösterir.
Böylece kesin sayısal değerler ekrana çıkarılmadan hemen önce göz ardı edilir ve onların yerine icons.png doku dosyasından ilgili sprite çizilir.
Better Ping Display, bu sürece Mixin sistemini kullanarak değişiklikler getirir. Enjeksiyon sınıfı, her oyuncunun satırının çizildiği anda PlayerListHud davranışını değiştirir. Modifikasyon, grafik çubukları çizen çağrıyı yakalar ve çalıştırılmasını engeller (veya yapılandırmaya bağlı olarak paralel çalıştırır). Bunun yerine, PlayerInfo nesnesi aracılığıyla latency kesin değerini almak için bir çağrı çalıştırılır. Ardından mod, bu sayıyı istemcinin metin işleyicisi Font'a iletir ve bu işleyici, yapılandırılan stili ve arayüz öğelerinin konumunu dikkate alarak karakterleri ekranda dinamik olarak çizer.
Temel işlevler: sayısal gösterim, renk ölçeği ve grafik çubuklar
Mod, aşağıdaki işlevsel olanaklarla ağ istatistik arayüzünün bilgilendiriciliğini genişletir:
· Gerçek zamanlı sayısal gösterge: Gecikmenin tam değerini milisaniye cinsinden gösterir. Oyuncu, imleci üzerine getirmeye veya sohbete tanılama komutları girmeye gerek kalmadan her katılımcının bağlantısının fiili durumunu görür.
· Otomatik renklendirme: Modifikasyon, varsayılan olarak ping metnini bağlantı kalitesine göre renklendirir. Düşük gecikme (100 milisaniyeden az) yeşil renkle vurgulanır, orta gecikme (100 ile 299 milisaniye arası) sarı veya turuncu bir renk alır, yüksek gecikme (300 milisaniye ve üzeri) ise kırmızı renge boyanır. Bu, kararsız bağlantıya sahip oyuncuları anında tespit etmeye yardımcı olur.
· Birleşik gösterim modu: Kullanıcı, sayısal değerlerin ve orijinal vanilla ping çubuklarının aynı anda gösterilmesini etkinleştirebilir. Bu durumda metin, grafik simgenin solunda çizilir ve Minecraft'ın alışılmış görsel stili korunur.
· İstemci mimarisi: Modifikasyon yalnızca istemci tarafında çalışır. Sunucuya kurulum gerektirmez ve sunucuya ek istekler göndermez. Mod, yalnızca Minecraft sunucusunun varsayılan olarak bağlı tüm istemcilere ilettiği trafik bilgisini okur. Bu sayede Better Ping Display, resmi Realms sunucuları ve modifikasyon desteği olmayan genel sunucular da dahil olmak üzere her türlü sunucuda çalışır.
Ayarlar, uyumluluk ve ekosistem
Gösterim parametrelerinin yapılandırılması, oyunun ilk başlatılmasından sonra config dizininde otomatik olarak oluşturulan betterpingdisplay.json dosyasının düzenlenmesiyle yapılır. Dosya aşağıdaki ayarları içerir:
· autoColorPingText – mantıksal bir bayrak (true/false). true değerinde ping rengi, bağlantı hızına bağlı olarak yeşilden kırmızıya otomatik olarak değişir. false belirtilirse renk statik hale gelir ve sonraki parametreyle belirlenir.
· pingTextColor – onaltılık renk kodunu (örneğin açık gri için #A0A0A0) ayarlamak için bir metin alanı. Bu renk yalnızca otomatik renklendirme devre dışı bırakıldığında kullanılır.
· renderPingBars – sayısal göstergenin yanında standart vanilla gecikme çubuklarının işlenmesini denetleyen mantıksal bir bayrak.
· pingTextFormatString – metnin biçimlendirme dizesi. Varsayılan olarak %dms değerine ayarlanmıştır; burada %d sembolü, işleme sırasında geçerli gecikme milisaniye sayısıyla değiştirilen zorunlu teknik bir işaretçidir.
Modun 1.2.0 ve daha yeni sürümlerinde, ayarların grafik arayüzünün doğrudan oyun menüsünde desteklenmesi geldi. Modifikasyon listesindeki görsel yapılandırma menüsüne erişmek için iki ek yardımcı bileşenin kurulması gerekir: YetAnotherConfigLib (YACL) kütüphanesi ve Mod Menu modu. Bunlar mevcut olduğunda, oyunda Better Ping Display parametrelerini değiştirmek için anahtarlar ve kaydırıcılar içeren kullanışlı bir pencere belirir.
Modifikasyon, çoğu istemci optimize edicisiyle (Sodium, Lithium, FerriteCore gibi) ve grafik iyileştirmeleriyle (Iris Shaders) uyumludur. Oyuncu listeleri için özel eklentileri olan sunucularda oyun sırasında çakışmalara yol açmaz; çünkü yalnızca istemcideki yerel işleme aşamasını değiştirir ve ağ paketlerinin yapısını etkilemez.
Parametre | Değer | Açıklama |
| TRUE | Otomatik metin rengi. Etkinleştirilirse (true), sayıların rengi bağlantı kalitesine göre otomatik olarak değişir (örneğin düşük ping için yeşil, yüksek ping için kırmızı). |
| FALSE | Ping çubuklarının gösterimi. Standart vanilla bağlantı kalitesi çubuklarının (çizgilerin) gösterilip gösterilmeyeceğini belirler. Bu durumda metne yer açmak için devre dışıdır (false). |
| "#A0A0A0" | Metin rengi. Statik gösterim rengi (HEX kodu biçiminde, burada açık gri). Otomatik renklendirme (autoColorPingText) devre dışı bırakıldığında uygulanır. |
| "%dms" | Gösterim biçimi. Metnin ekranda gösterilmesi için şablon. %d değişkeni otomatik olarak pinginizin geçerli sayısal değeriyle değiştirilir ve ms, "milisaniye" ekini ekler (sonuç "45ms" gibi görünür). |
Sonuç
Better Ping Display [Fabric], Minecraft'ın standart oyuncu listesinin önemli bir eksikliğini gideren kompakt ve verimli bir istemci modifikasyonudur. Numeral Ping veya Ping Display gibi benzer çözümlerin aksine, bu mod parametreleri doğrudan oyun içinde ayarlamak için YACL kütüphanesiyle basit bir entegrasyona sahiptir ve vanilla gecikme simgelerini korumaya olanak tanır. Başlıca kısıtlaması, sayıların güncellenme sıklığının sunucunun kendi ayarlarına bağlı olmasıdır (varsayılan olarak Minecraft sunucusu ping istatistik güncellemesini birkaç saniyede bir gönderir, bu nedenle gecikmenin anlık dalgalanmaları anında gösterilmez). Mod, sisteme gereksiz yük bindirmeden ağ parametreleri üzerinde net bir denetime ihtiyaç duyan ağ modları oyuncuları ve sunucu yöneticileri için idealdir.
Kurulum
Tipik bir kurulum yaklaşık 5 dakika sürer. Akış aynıdır; yalnızca loader ve uygun build değişir.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











