Metodoloji: Ping, Sıralama ve Veri
Listede gördüğünüz her sayı, sunucuya kendi kodumuzla attığımız ping'lerden gelir. Bu sayfa o ölçümün nasıl yapıldığını, sıralamanın hangi formülle kurulduğunu ve verinin ne kadar süre saklandığını anlatır. Buradaki eşik ve ağırlıklar sitenin kullandığı yapılandırmadan doğrudan alınır; formül değişirse bu sayfa da aynı anda değişir.
Son güncelleme:
İçindekiler
Ping yöntemi
Sunucu durumunu mcsrvstat gibi dış bir durum servisine sormuyoruz. Java ve Bedrock için protokolleri kendi kodumuzda uyguladık ve ping'i doğrudan sunucuya atıyoruz. Aynı kod sunucu durumu aracı ile sunucu ekleme sayfasında da çalışır.
Java Edition
Java sunucuları, oyunun sunucu listesinde kullandığı Server List Ping protokolüyle sorgulanır: TCP bağlantısı açılır, el sıkışma ve durum isteği gönderilir, sunucunun döndürdüğü JSON'dan sürüm, protokol numarası, oyuncu sayısı, MOTD ve ikon okunur. Ardından bir ping/pong paketiyle gecikme ölçülür. Port girilmemişse önce _minecraft._tcp.<alan adı> SRV kaydına bakılır; kayıt varsa oradaki hedef ve port kullanılır, yoksa varsayılan 25565. TCP bağlantısı için zaman aşımı 4 saniyedir.
Bedrock Edition
Bedrock sunucularına UDP üzerinden RakNet Unconnected Ping paketi gönderilir; sunucunun yanıtındaki metinden sürüm, oyuncu sayısı ve MOTD çıkarılır. Bedrock'ta SRV kaydı kullanılmadığından port girilmezse 19132 varsayılır. UDP yanıtı için zaman aşımı 3 saniyedir.
SSRF koruması
Ping atan sunucumuzun kötü niyetli bir adresle iç ağa yönlendirilmesini önlemek için her istek bir güvenlik katmanından geçer:
- Adres alanına doğrudan IP yazılamaz;
localhost,.local,.internal,.localhostuzantıları ve tek parçalı (noktasız) adlar reddedilir. - Alan adının tüm A ve AAAA kayıtları çözülür. Bunlardan biri bile özel, yerel, bağlantı-yerel, paylaşımlı, çok noktaya yayın ya da belgeleme için ayrılmış bir aralıktaysa (ör.
10.0.0.0/8,127.0.0.0/8,169.254.0.0/16,172.16.0.0/12,192.168.0.0/16,fc00::/7,::1) istek hiç atılmaz. - Bağlantı, doğrulanan IP'ye kurulur; alan adı bağlantı anında yeniden sorulmaz. Böylece DNS yanıtını arada değiştirerek iç ağa sızmak mümkün olmaz.
- SRV kaydının gösterdiği hedef de aynı denetimden geçer; geçemezse SRV yok sayılır.
- Port
1024–65535aralığında olmalıdır; veritabanı ve yönetim servislerinin bilinen portları engellidir. - Adres her kontrol turunda yeniden çözülür, yani sonradan değişen bir DNS kaydı da yeniden denetlenir.
Kontrol sıklığı
Yayındaki her sunucu yaklaşık 5 dakikada bir ping'lenir. "Aktif değil" durumuna düşen sunucular ise 60 dakikada bir, yani saatte bir kontrol edilir; geri döndüklerinde ilk başarılı ping'le normal sıklığa geçerler.
Kontrolleri ayrı bir worker süreci yürütür. Her turda sırası gelmiş en fazla 200 sunucuyu alır, 16 tanesini aynı anda ping'ler ve tur başına 45 saniyelik bir süre sınırına uyar. Süre dolduğunda işlenmemiş kayıtlar bir sonraki tura bırakılır. Aynı sunucunun iki tur tarafından aynı anda ölçülmemesi için alınan kayıtlar kısa süreliğine kilitlenir. Bu yüzden sunucu sayısı arttıkça bir sunucunun iki ölçümü arasındaki süre birkaç dakika uzayabilir.
Durum makinesi
Her ping sonucu, sunucunun son başarılı ping zamanına bakan tek bir kurala göre durum üretir. Başarılı bir ping, önceki durum ne olursa olsun sunucuyu hemen Online yapar.
| Durum | Koşul | Listede |
|---|---|---|
| Online | Son ping başarılı. | Görünür; çevrimiçi sayılır. |
| Yanıt vermiyor | Ping başarısız, son başarılı ping 1 saatten yeni. | Görünür; çevrimiçi sayılmaz, oyuncu sayısı 0 yazılır. |
| Offline | Son başarılı ping 1 saat ile 30 gün arasında; ya da sunucu hiç yanıt vermemiş ve kaydı 30 günden yeni. | Görünür; 7 günden uzun süredir görülmüyorsa listenin sonuna iner. |
| Aktif değil | Son başarılı ping 30 gün ya da daha eski; ya da hiç yanıt vermemiş ve kaydı 30 günden eski. | Varsayılan listede görünmez; detay sayfası açık kalır. 60 dakikada bir ping'lenir. |
| İnceleniyor (PENDING) | Eklerken spam işareti taşıyan ya da aynı IP ve portta başka bir kaydı olan sunucular elle incelemeye alınır. | Görünmez ve ping'lenmez; onaylanınca yayına girer. |
| Kaldırıldı (HIDDEN) | Sunucu sahibinin kaldırma talebi ya da moderasyonda reddedilen kayıt. | Görünmez ve ping'lenmez; sayfası 410 döner. Kayıt silinmez. |
Yanıt vermiyor ile Offline arasındaki ayrım bilinçli: kısa bir yeniden başlatma ya da tek bir kayıp paket sunucuyu hemen "Offline" olarak damgalamasın diye ilk saat ayrı tutulur.
Blok Skoru
Sunucular sayfasındaki varsayılan "En Popüler" sıralaması Blok Skoru'na göre yapılır. Skor 0 ile 1 arasındadır ve dört ölçümün ağırlıklı toplamıdır: 24 saatlik ortalama oyuncu (%45), 24 saatlik en yüksek oyuncu (%20), 7 günlük çalışma oranı (%25) ve ping puanı (%10).
Blok Skoru = ( 0,45 × N(ortalama oyuncu, 24 saat)
+ 0,2 × N(en yüksek oyuncu, 24 saat)
+ 0,25 × çalışma oranı (7 gün, 0–1)
+ 0,1 × ping puanı ) × offline çarpanı
N(x) = ln(1 + x) / ln(1 + yayındaki en yüksek x), en fazla 1
ping puanı = 1 (≤ 50 ms) … 0 (≥ 400 ms), arası doğrusal; ölçüm yoksa 0
offline çarpanı = online ya da 24 saatten kısa → 1; offline ≥ 24 saat → ×0,3; offline ≥ 7 gün → ×0,05Normalleştirme
Oyuncu sayıları doğrudan toplanmaz. Her değer önce ln(1 + x) ile logaritmik ölçeğe çevrilir, sonra o anda yayında olan (Online, Yanıt vermiyor ya da Offline) sunucular arasındaki en yüksek değerin aynı dönüşümüne bölünür. En kalabalık sunucu 1 alır; diğerleri 0 ile 1 arasına yerleşir. Logaritma sayesinde 20 oyunculu bir sunucu ile 2.000 oyunculu bir ağ arasındaki fark ezici olmaz; küçük ama düzenli dolan sunucular da sıralamada yer bulur.
Çalışma oranı ve ping puanı
Çalışma oranı, son 7 gündeki ölçümlerin kaçında sunucunun yanıt verdiğidir. Ping puanı son 24 saatteki başarılı ölçümlerin ortalama gecikmesinden hesaplanır: 50 ms ve altı tam puan, 400 ms ve üstü sıfır, arası doğrusal. Gecikme, ölçümü yapan sunucumuza göredir; sizin bağlantınızdaki gecikme farklı olabilir.
Offline cezası
Uzun süre kapalı kalan bir sunucunun geçmiş verisiyle üst sıralarda kalmaması için skor bir çarpanla küçültülür: son başarılı ping 24 saatten eskiyse ×0,3, 7 günden eskiyse ×0,05. Hiç yanıt vermemiş bir sunucu en ağır çarpanı alır.
Skoru neler etkilemez
Sponsorluk, doğrulanmış sahiplik rozeti ya da herhangi bir oy Blok Skoru'na girmez. Sponsorlu sunucular Sponsorlu etiketiyle ayrıca işaretlenir ama sıradaki yerleri değişmez. Sitede oy sistemi yoktur.
Skor, her kontrol turunun sonunda o turda ölçülen sunucular için yeniden hesaplanır. Pratikte her sunucunun skoru birkaç dakikada bir güncellenir; normalleştirmedeki en yüksek değerler de o anki yayındaki sunuculardan alındığı için sıralama gün içinde canlı olarak kayar.
Türkiye Minecraft Nabzı
İstatistikler sayfasındaki Nabız yalnızca Türk sunucusu olarak işaretlenmiş ve yayında olan sunuculardan hesaplanır. Bu işaret sunucu eklenirken verilir; Türk oyuncunun da girdiği küresel ağlar bu toplama dahil değildir. Böylece sayı, Türkiye'deki topluluğun kendi sunucularındaki hareketi gösterir.
- Şu an: Online durumdaki Türk sunucularının bildirdiği oyuncu sayılarının toplamı.
- 24 saat: 5 dakikalık dilimler; her sunucunun dilimdeki en yüksek değeri alınıp toplanır.
- 7 gün: saatlik dilimler; her sunucunun saatlik ortalaması alınıp toplanır.
- 30 gün: her gün için 5 dakikalık toplamların en yükseği. Ham ölçümü özetlenmiş eski günlerde sunucu zirvelerinin toplamı kullanılır; bu değer bir üst sınır yaklaşığıdır.
- En hızlı büyüyenler: son 7 günün ortalamasını önceki 7 günle karşılaştırır; ortalaması 5 oyuncunun altındaki sunucular bu listeye girmez.
Yanıt vermeyen ve Offline sunucular o anda 0 oyuncuyla sayılır; kapalı bir sunucunun son bildirdiği sayı toplamı şişirmez. Hiç ölçüm yoksa sayfa sahte bir sayı yerine boş durum gösterir. Yalnızca Türk sunucularının listesi Türk sunucuları sayfasındadır.
Veri saklama
- Ping ölçümleri: her 5 dakikalık ölçüm 30 gün boyunca ham haliyle saklanır. Daha eski ölçümler günde bir kez İstanbul gün sınırına göre günlük özete dönüştürülür (en yüksek oyuncu, ortalama oyuncu, çalışma yüzdesi, ortalama ping) ve ham satırlar silinir.
- Araç kullanım sayacı: bir aracın kullanıldığını yalnızca araç adı ve zamanla kaydeder; oturum kimliği, çerez ya da IP yazılmaz. Biten günler günlük toplama dönüştürülür, ham satırlar 2 gün sonra silinir.
- IP adresleri: hiçbir yerde ham saklanmaz. Kötüye kullanımı sınırlamak için gereken yerlerde yalnızca gizli bir tuzla (salt) hesaplanan SHA-256 özeti tutulur; hız sınırı kayıtları 2 gün sonra silinir.
- Sunucu kayıtları: silinmez. Kaldırma talebinde kayıt gizlenir ve ping durur.
Kişisel verilerin işlenmesiyle ilgili ayrıntılar KVKK aydınlatma metni ve gizlilik politikası sayfalarındadır.
Oyun verisi kaynakları
Araçlar ve crafting sayfalarının kullandığı eşya, büyü, iksir, tarif, yakıt ve köylü takası verileri sitenin içindeki sürüm etiketli JSON dosyalarından gelir. Her dosya hangi sürüme (edition, version) ait olduğunu ve en son ne zaman güncellendiğini (updatedAt) taşır; şu anki veri seti Java Edition 1.21 içindir.
Bu dosyalardaki değerler oyunun kendi olgusal değerleridir: stack boyutu, büyü uyumluluğu, örs maliyeti, yakıt süresi gibi. Değerler oyun içinde denenerek doğrulanır ve topluluk wiki'leriyle çapraz kontrol edilir. Başka sitelerden metin kopyalanmaz; açıklamalar ve Türkçe adlar bizim tarafımızdan yazılır. Yeni bir sürüm bir değeri değiştirdiğinde ilgili dosya ve sürüm etiketi birlikte güncellenir.
Görsel kaynakları
Sitedeki bütün görseller bizim çizdiğimiz SVG ve CSS çalışmalarıdır. Minecraft dokusu, oyun ekran görüntüsü, stok fotoğraf ya da dış görsel servisi kullanılmaz. Tek istisna sunucu ikonlarıdır: bunlar sunucunun ping yanıtında kendi yayınladığı favicon'dur ve yalnızca data:image/png;base64 biçiminde, 64 KB'tan küçükse gösterilir. Üçüncü taraf görsel olmadığı için ayrı bir "Görsel Kaynakları" sayfası tutmuyoruz.
Sınırlar
- Ping anlık bir görüntüdür. İki ölçüm arasında açılıp kapanan bir sunucuyu görmeyebiliriz.
- Oyuncu sayısını sunucu kendisi bildirir. Bir sunucu yanıtında gerçekte olandan fazla oyuncu yazabilir; bunu ping'le ayırt edemeyiz. Çelişkili görünen sayıları bize bildirirseniz inceleriz.
- Bazı sunucular ping'e kapalıdır. Durum sorgusunu kapatan ya da bir proxy arkasında farklı yanıt veren sunucular Yanıt vermiyor veya Offline görünebilir.
- Bedrock'ta port tahmini yapılmaz. SRV kaydı olmadığı için port girilmemişse
19132denenir; farklı port kullanan sunucular doğru portla eklenmelidir. - Veri ölçümdür, tahmin değildir. Grafikler yalnızca kaydedilmiş ölçümlerden çizilir; eksik aralıklar tahminle doldurulmaz.
Bir hata, yanlış durum ya da şüpheli bir sayı gördüyseniz iletişim sayfasından bize yazın. Sitenin neden bu şekilde kurulduğunu hakkımızda sayfasında anlattık.