Bilgilendirme: Mojang api rate limit

janjel

Zombi Katili
Mesajlar
219
En iyi cevaplar
0
Beğeniler
115
Puanları
700
Ruh hali
Merhabalar.
Bir yerden duydunuz mu bilmiyorum fakat, mojang api sunucularına rate limit getirdi.(getireli baya oldu. bir iki yıl sanırım)
Bu rate limitin ne olduğunu ve sunucu sahiplerini nasıl etkileyeceğini paylaşayım dedim.

Özet geçmek gerekirse mojang ın sunucularından veri çekme limitimiz var artık.
30 saniyede 1 adet Skin verisi çekebiliyoruz.
10 Dakika içerisinde de 600 kez diğer apileri kullanabiliyoruz.

Detaylar: Mojang API - wiki.vg

Skinrestorer bu limiti mojang apisini kullanan diğer apiler ile çözmüş durumda bunu da belirteyim.
(api.minetools.eu, gameapis.net, mcapi.de vs.)
Verileri önbelleğe alıp öyle kullanın diyorlar. Screenshot
önbellekleme konusunda diğer apileri kullanabilir veya kendi apinizi yazabilirsiniz.

Sunucuların başlıca kullandığı apiler şunlar: (crack sunucular için)
https://sessionserver.mojang.com/session/minecraft/profile/<uuid> // Skin apisi // GET
https://api.mojang.com/users/profiles/minecraft/<username> // name > uuid apisi // GET
https://api.mojang.com/profiles/minecraft // name > uuid (toplu çeviri için, en fazla 100 isim gönderebiliyoruz. request isteğinin Body kısmı ["username","username"] şeklinde JSON olmak zorunda)) // POST
çok kullanılmasa da bir de şu var:
https://api.mojang.com/user/profiles/<uuid>/names // Kullanıcının username geçmişi

ÖNEMLİ: POST dışında GET ile gönderilen verilerde bir sıkıntı yaşanırsa size hatayı json olarak geri göndermiyor. HTTP durum kodunu 204,205,206.. vs yapıyor. Başarıyla gerçekleşen işlemin http kodu = 200

Şimdi buraya kadar anlattık bir problem yok. Sunucu sahipleri için ise işin kötü yanı Spigot,paper,taco vs. gibi sistemlerde cache sistemi hiç performanslı değil.
yaklaşık 34 adet taco sunucum var, Sunucuları yeniden başlattığm zaman 800-900 civarında Skin çekiyor. Kendi apime bağladığım ve güzel bir önbellekleme sistemi yaptığım için benim sunucumu etkilemiyor.

İşin bir kötü yanı daha var. Tek sorunumuz skin değil. name > uuid çevirme işlemini de spigot ve türevi sunucular yoğun olarak kullanıyor. yani 10 dakika içerisinde 600 tane isteği aşarsanız ki oyuncu sayınız yüksek ise kesinlikle aşarsınız, sistem oyuncuların uuidlerini çekemiyor. Çekemediği için de kullanıcıların skinleri(bungeecord yok ise) ve Skull bloklarının skinleri gözükmüyor(bungeecord varsa da gözükmüyor). Gözükmemesinde bir problem yok fakat 1.8 -1.8.8 oyuncularınız var ise ve bu oyuncularınız Skini olmayan bir skull gördüğü zaman crash yiyor

İşin daha kötü yanı ise elinizde api varsa bile bunu bir eklenti ile çözemezsiniz. Spigot taco veya paperi editlemeniz gerekiyor.

Skull skin muhabbeti için bir konu açmıştım, onu da inceleyeblirsiniz
ÖNERİ: Skull yüzünden 1.8 1.8.8 arası oyuncuların crash yemesini engellemek (1.8.x sunucu sürümü için)

bir yalnışım var ise düzeltmemi rica ediniz. insanız yaw
 



Üst