Ekran Kartlı Sunucu Satışları Başladı. İncele
Sunucu Bakımı ve İleri Yönetim

Minecraft’ta Tick, TPS ve MSPT Ne Anlama Gelir?

Saniyede 20 tick ne demek, 50 ms sınırı neden önemli? TPS düşüşünü doğru okuma ve hangi işlemin tick süresini uzattığını bulma.

  • 9 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • Tick, Minecraft sunucusunun oyun dünyasını bir adım ilerlettiği hesaplama döngüsüdür. Sunucu saniyede 20 tick üretir; her tick’e ayrılan bütçe 50 milisaniyedir.
  • TPS (Ticks Per Second) saniyedeki tick sayısıdır ve tavanı 20’dir. Tick 50 ms’in altında bitiyorsa TPS her zaman 20 görünür — bu yüzden tek başına yanıltıcıdır.
  • MSPT (Milliseconds Per Tick) tick başına harcanan gerçek süredir. 20 ms ile 48 ms’in ikisinde de TPS 20’dir ama ikincisi çökmeye bir TNT patlaması uzaklıktadır.
  • TPS 20 olduğu hâlde yaşanan takılmanın üç sebebi vardır: MSPT dalgalanması, istemci FPS düşüklüğü ve ping. Üçü farklı yerde ölçülür, üçünün çözümü ayrıdır.
  • Ölçüm için tps ve mspt komutları hızlı fikir verir; hangi işin süreyi yediğini spark profiler raporu gösterir.

Minecraft’ta tick, sunucunun oyun dünyasını bir adım ilerlettiği hesaplama döngüsüdür. Sunucu saniyede 20 tick çalıştırır; her tick’te mob’lar hareket eder, redstone güncellenir, huniler eşya taşır, bitkiler büyür ve oyuncu hareketleri işlenir. Yani 20 tick, oyunun bir saniyesidir.

Bu döngü sabit bir bütçeyle çalışır: tick başına 50 milisaniye. Sunucu bir tick’i 30 ms’de bitirirse kalan 20 ms’yi bekleyerek geçirir. 60 ms’de bitirirse beklemez, geriye düşer ve saniyede 20 tick üretemez. TPS ve MSPT kavramlarının tamamı bu tek cümlenin üzerine kurulu.

BilgiBu sayfa işletim sisteminden bağımsızdır ve Java Edition sunucularını anlatır. Komutlar Paper, Purpur ve Spigot konsollarında çalışır; vanilla sunucularda yalnızca eklenti veya mod ile ölçüm yapabilirsiniz.

Tick Nedir ve Neden 50 Milisaniye?#

Minecraft sunucusu sürekli çalışan bir simülasyondur. Ana iş parçacığı bir döngü içinde şu işleri sırayla yapar: ağdan gelen paketleri al, dünyadaki blok güncellemelerini işle, yüklü chunk’lardaki varlıkları tick’le, oyuncu hareketlerini doğrula, sonucu istemcilere gönder. Bu turun tamamına bir tick denir.

Saniyede 20 tick hedefi oyunun tasarımına gömülüdür. Kavun bir tick’te değil, belli sayıda tick sonra büyür; iksir süreleri tick cinsinden sayılır; bir chunk’ta oyuncuların geçirdiği süre bile tick olarak kaydedilir. 20 tick = 1 saniye eşitliği bozulduğunda oyun sadece yavaşlamaz, oyunun kendi zamanı yavaşlar. Mahsul geç büyür, fırın geç pişirir, mob’lar geç doğar.

Bir tick’in bütçesi 1000 / 20 = 50 milisaniyedir. Bu, sunucunun her tick’te yapabileceği işin üst sınırıdır ve donanım ne kadar güçlü olursa olsun değişmez — güçlü donanım bütçeyi büyütmez, aynı bütçeye daha çok iş sığdırır.

Sunucu bütçeyi aştığında iki şey olabilir. Küçük aşmalarda basitçe geri düşer: 55 ms süren tick’ler yüzünden saniyede 20 yerine 18 tick üretir ve oyun gözle görülür şekilde yavaşlar. Büyük aşmalarda ise sunucu geride kalan tick’leri atlar, yani o tick’lerdeki işler hiç yapılmaz. Bu yüzden ağır lag anlarında mob’lar ışınlanır gibi hareket eder — aradaki ara adımlar hesaplanmamıştır.

TPS Nedir? (Ticks Per Second)#

TPS, sunucunun saniyede gerçekten kaç tick ürettiğidir. Sağlıklı bir sunucuda değer 20.0’dır ve 20’nin üstüne çıkamaz — sunucu erken bitirdiği tick’in kalan süresini bekleyerek geçirir, yetişemediği zamanı sonradan telafi etmez.

Konsoldan okumak için:

tps
mspt
spark tps
spark health

Paper’da tps komutu üç sayı verir: son 1 dakika, son 5 dakika ve son 15 dakikanın ortalaması. Üçünü birlikte okumak önemlidir, çünkü tek bir kötü an ile süregelen bir sorunu ancak böyle ayırt edersiniz.

> tps
TPS from last 1m, 5m, 15m: 20.0, 19.8, 20.0

> tps
TPS from last 1m, 5m, 15m: 14.2, 15.6, 17.9

İlk çıktı sağlıklı bir sunucudur; 5 dakikalık ortalamadaki küçük düşüş muhtemelen tek seferlik bir işten (bir dünya kaydı, bir oyuncu akını) kaynaklanır. İkinci çıktıda ise sorun süreklidir ve üç değerin de düşük olması yükün geçici olmadığını söyler.

TPS düştüğünde sunucu konsola şu satırı basmaya başlar:

[06:12:44] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2148ms or 42 ticks behind

Bu uyarının anlamı ve ne zaman göz ardı edilebileceği kendi sayfasında ayrıntılı anlatılıyor. Kısaca: sunucunun açılış anında bir kez görünmesi normaldir, oyun sırasında tekrar tekrar görünmesi değildir.

MSPT Neden Daha Bilgilendirici?#

TPS’in tavanının 20 olması, onu bir noktadan sonra kör bir metrik hâline getirir. Tick’lerini 12 milisaniyede bitiren bir sunucu ile 47 milisaniyede bitiren bir sunucunun ikisi de TPS 20 gösterir. Oysa birincisinin elinde dört katı pay vardır, ikincisi bıçak sırtındadır.

İşte bu yüzden asıl bakılacak değer MSPT, yani tick başına milisaniyedir. MSPT sunucunun ne kadar dolu olduğunu, TPS ise doluluğun taştığını gösterir. Biri erken uyarı, diğeri alarmdır.

> mspt
Server tick times (avg/min/max) from last 5s, 10s, 1m:
◤ 18.4/9.2/41.7 ◢ 19.1/9.0/44.3 ◤ 21.8/8.7/128.5

Bu çıktıdaki en kritik sayı sondaki 128.5’tir. Ortalama 21.8 ms gayet iyi görünüyor, sunucu TPS 20’de duruyor, ama son bir dakika içinde 128 milisaniye süren bir tick yaşanmış. O anda oyuncular saniyenin sekizde biri kadar donma hissetti. Ortalamaya bakan yönetici bu sorunu asla göremez.

DikkatMSPT’de ortalamadan çok tepe (max) değerine bakın. Ortalaması 20 ms, tepesi 150 ms olan bir sunucu, ortalaması 35 ms olup hiç sivrilmeyen bir sunucudan daha kötü bir oyun deneyimi verir. Oyuncu ortalamayı hissetmez, sıçramayı hisseder.

“TPS 20 Ama Oyun Takılıyor” — Üç Ayrı Sebep#

Bu cümle destek taleplerinde en sık karşılaştığımız cümlelerden biri. Üç farklı sebebi var ve üçü tamamen farklı yerlerde ölçülüyor. Yanlış yerde arayan kişi günlerce config kurcalayıp hiçbir şey değiştiremiyor.

1. MSPT dalgalanması (sunucu tarafı)#

Yukarıda anlattığımız durum. Ortalama iyi, tepe değerler kötü. Genelde belirli bir olay tetikler: dünya kaydı, bir eklentinin dakikada bir çalışan görevi, kalabalık bir mob çiftliğinin devreye girmesi, bir oyuncunun keşfe çıkıp yeni chunk yükletmesi. Belirtisi düzenli aralıklarla tekrarlayan kısa donmalardır.

2. İstemci FPS düşüklüğü (oyuncu tarafı)#

Sunucu kusursuz çalışıyor olabilir, takılma oyuncunun kendi bilgisayarındadır. Ayırt etmek çok kolay: F3 ekranını açın, sol üstteki FPS değerine bakın. 30’un altındaysa sorun istemcidedir ve sunucuda yapacağınız hiçbir ayar bunu düzeltmez. Çözüm için FPS artırma rehberine bakın.

3. Ping (ağ tarafı)#

Sunucu tick’i zamanında üretiyor ama paketler size geç ulaşıyorsa oyun yine takılıyormuş gibi hissedilir. Belirtisi karakteristiktir: blok kırdığınızda blok geri gelir, vurduğunuz mob geri ışınlanır, kapı gecikmeli açılır. Sunucu listesindeki yeşil çubuklara ve F3 ekranındaki gecikme değerine bakın. Ayrıntılar ping düşürme sayfasında.

İpucuAyırt etmenin en hızlı yolu şu sorudur: takılmayı herkes aynı anda mı yaşıyor? Herkes yaşıyorsa sunucu tarafındasınız, tek kişi yaşıyorsa istemci veya ağ tarafındasınız. Bu tek soru teşhis süresini yarıya indirir.

Tick Süresini Yiyen Tipik İşler#

Bütçenin nereye gittiğini bilmeden müdahale etmek zaman kaybıdır. Aşağıdakiler, ölçüm yaptığımız sunucularda sürekli aynı sırayla karşımıza çıkan işler.

Varlık (entity) işleme#

Uzun süredir açık sunucularda birinci sıra. Yere düşmüş eşyalar, mob çiftlikleri, minecart ve armor stand yığınları her tick’te tek tek işlenir.

Yeni chunk üretimi#

Tek tick içinde yapılabilecek en pahalı işlerden biri. Bir oyuncunun at üstünde keşfe çıkması MSPT’yi anında ikiye katlayabilir.

Redstone devreleri#

Saat devreleri ve büyük otomasyonlar tick başına yüzlerce blok güncellemesi üretir. Sürekli çalışan bir devre sürekli maliyettir.

Huni (hopper) zincirleri#

Her huni, üstünde eşya olup olmadığını düzenli olarak kontrol eder. Yüzlerce boş huni bile ölçülebilir yük yaratır.

Eklenti zamanlayıcıları#

Ana iş parçacığında çalışan ve her tick tüm oyuncuları dolaşan görevler. Scoreboard ve TAB eklentilerinde sık görülür.

Dünya kaydetme#

Otomatik kaydetme varsayılan olarak 6000 tick’te bir çalışır. Yavaş diskte MSPT’de düzenli sivri uçlar oluşturur.

Bu listede dikkat çeken şey şu: hiçbiri RAM ile ilgili değil. Tick süresini belirleyen şey işlemcinin tek çekirdek hızı ve tick içinde yapılan işin miktarıdır. Minecraft’ın ana tick döngüsü tek bir iş parçacığında çalıştığı için çekirdek sayısı değil saat hızı belirleyicidir — 32 çekirdekli düşük frekanslı bir sunucu işlemcisi, 5 GHz’lik bir Ryzen 9’un yanında bu iş için yavaş kalır.

Huni yükünü azaltmak için hopper optimizasyonu sayfasına, entity yükü için entity limit ayarlarına bakabilirsiniz.

Ölçüm Araçları ve Çıktıların Okunuşu#

Konsol komutları size durumu söyler, sebebi söylemez. “MSPT 45” bilgisi tek başına işe yaramaz; o 45 milisaniyenin nereye gittiğini görmeniz gerekir. Bunun için profil alma aracı şart.

spark health
spark profiler --timeout 300 --thread server
spark profiler --info

Beş dakikalık profil sonunda konsola bir bağlantı düşer. Tarayıcıda açtığınızda çağrı ağacını görürsünüz: hangi metot, tick süresinin yüzde kaçını almış. Okuma sırası şudur — önce en yüksek yüzdeye sahip dalı açın, sonra o dalın içinde bir eklenti paket adı arayın. Eklenti adı yoksa maliyet vanilla oyun mantığındadır ve çözüm config tarafındadır; eklenti adı varsa suçlu belli demektir.

İndirmeniz gerekenler
  • spark profilerÖnerilen Paper / Fabric / NeoForge.jarÜcretsiz
    İndir
  • Paper 26.2 sunucu jar Her platform.jar
    İndir

Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden jar indirmeyin.

Raporu satır satır nasıl yorumlayacağınız spark ve timings analizi sayfasında örneklerle anlatılıyor.

Hedef Değerler: Neyi Normal Saymalı?#

Aşağıdaki tablo, ölçüm yaptıktan sonra “bu iyi mi kötü mü” sorusuna cevap verir. Değerleri oyuncu yoğunluğunun en yüksek olduğu saatte ölçün; boş sunucuda alınan ölçüm hiçbir şey söylemez.

MetrikSağlıklıSınırdaSorunluNerede ölçülür
TPS20.019.5 - 20.019.5 altıSunucu konsolu
MSPT ortalama0 - 25 ms25 - 40 ms45 ms üzeriSunucu konsolu
MSPT tepe değeri40 ms altı40 - 60 ms100 ms üzeriSunucu konsolu
GC duraklaması50 ms altı50 - 150 ms200 ms üzerispark / GC logu
Ping (Türkiye)40 ms altı40 - 80 ms120 ms üzeriOyuncu istemcisi
İstemci FPS60 üzeri30 - 6030 altıF3 ekranı
Minecraft sunucusu için hedef performans değerleri

Tablodaki son iki satırın sunucu tarafıyla ilgisi olmadığına dikkat edin. Bunları listeye koymamızın sebebi, “sunucu lag’i” diye gelen şikayetlerin önemli bir kısmının aslında oradan çıkmasıdır.

Düşük TPS’in Oyun İçi Belirtileri#

Konsola bakmadan da tick kaybını anlayabilirsiniz. Oyun size söyler, yeter ki ne aradığınızı bilin.

  • Mob’lar takılarak yürür. Akıcı hareket yerine kısa sıçramalar yaparlar; en erken belirti budur.
  • Blok kırma gecikir. Blok kırılır, kaybolur, sonra geri gelir. Sunucu kırma olayını geç işlemiştir.
  • Fırın ve mahsul yavaşlar. Oyunun kendi zamanı yavaşladığı için pişirme ve büyüme süreleri uzar.
  • Gece gündüz döngüsü uzar. Bir gün 20 dakikadan uzun sürüyorsa TPS belirgin şekilde düşük demektir.
  • Eşya alma gecikir. Yerdeki eşyanın üstünden geçersiniz, envantere birkaç saniye sonra girer.

Bunların hepsi sunucu tarafı belirtileridir. Buna karşılık dokuların geç yüklenmesi, menülerin donması ve ekranın parça parça çizilmesi istemci tarafı belirtileridir; ikisini karıştırmayın. Lag sorunu teşhis rehberi bu ayrımı adım adım yapıyor.

DikkatTek bir tick çok uzun sürerse watchdog devreye girer ve sunucuyu kapatır. Bu, sunucunun çökmesi değil kendini korumasıdır; log dosyasında tam o anda ne yapıldığını gösteren bir thread dump bırakır. Okuması için watchdog crash sayfasına bakın.

Ölçtükten Sonra Ne Yapmalı?#

Rakamları okuduysanız sıra müdahalede. Sıralama önemli, çünkü en yüksek etkili ayarlar en başta.

view-distance=8
simulation-distance=6
max-tick-time=60000
sync-chunk-writes=false

simulation-distance entity ve blok mantığının işlendiği yarıçaptır; tick maliyetinin büyük kısmı buradan gelir. view-distance ise oyuncunun gördüğü alandır ve daha çok ağ ile bellek tarafını etkiler. İkisini ayırmak, manzarayı bozmadan CPU yükünü kesmenizi sağlar — ayrıntılar view distance ve simulation distance sayfasında.

Bundan sonrası entity limitleri, chunk ön üretimi ve eklenti denetimidir; tam sıra sunucu optimizasyonu rehberinde adım adım veriliyor. Biriken entity’ler yüzünden akşamları düşen TPS için ayrıca günlük otomatik restart kurmak ucuz ve etkili bir bakım rutinidir.

Ölçümler sürekli sınırda çıkıyor ve config ayarları artık kazanç sağlamıyorsa sorun donanımdadır. Tek çekirdek performansı yüksek bir platform bu tabloyu belirgin şekilde değiştirir; yüksek frekanslı Ryzen VDS paketleri orta ölçekli sunucular için doğru adımdır. Nasıl seçeceğinizi donanım seçimi sayfası anlatıyor.

Özetle#

Tick, sunucunun oyun dünyasını bir adım ilerlettiği hesaplama döngüsüdür ve saniyede 20 tane üretilir. Her tick’in bütçesi 50 milisaniyedir; bu bütçe aşıldığı anda oyunun kendi zamanı yavaşlamaya başlar.

TPS bu bütçenin taştığını söyler, MSPT ise ne kadar dolduğunu. TPS 20 görmek iyi bir haber ama yeterli bir haber değil: asıl bakılacak yer MSPT’nin ortalaması ve özellikle tepe değeridir. Ortalaması 20 ms, tepesi 130 ms olan bir sunucu kağıt üzerinde kusursuz, oyunda takılıyor görünür.

Takılma şikayeti geldiğinde önce şu üçünü ayırın: sunucu MSPT’si, istemci FPS’i, ping. Sunucu tarafındaysanız ölçün, profil alın, en pahalı işi kesin, sonra tekrar ölçün. Tahminle yapılan ayar değişiklikleri çoğu zaman gerçek darboğazı ıskalar ve geriye anlamı unutulmuş bir config yığını bırakır.

Sıkça Sorulan Sorular#

Minecraft’ta tick nedir?

Tick, sunucunun oyun dünyasını bir adım ilerlettiği hesaplama döngüsüdür. Her tick’te mob’lar hareket eder, redstone devreleri güncellenir, bitkiler büyür, huniler eşya taşır ve oyuncu hareketleri işlenir. Minecraft sunucusu saniyede 20 tick çalıştırmayı hedefler, yani bir tick 50 milisaniyeye karşılık gelir.

TPS ve MSPT arasındaki fark nedir?

TPS saniyede kaç tick üretildiğini, MSPT ise bir tick’in kaç milisaniye sürdüğünü gösterir. TPS’in tavanı 20’dir ve sunucu bütçeyi aşmadığı sürece hep 20 görünür. MSPT ise gerçek yükü verir: 12 ms ile 47 ms arasında TPS aynıdır ama sunucunun payı tamamen farklıdır.

TPS kaç olmalı?

Hedef 20.0’dır ve 19.5’in altına inen her değer oyuncunun hissettiği bir yavaşlama demektir. Ancak sağlıklı sayılmak için TPS 20 yetmez; ortalama MSPT değerinin 25 milisaniyenin altında, tepe değerinin ise 40 milisaniyenin altında kalması gerekir. Aksi hâlde sunucu sınırda çalışıyordur.

TPS 20 ama oyun takılıyor, sebebi ne?

Üç ihtimal var. Birincisi MSPT dalgalanması: ortalama düşük ama tepe değerler 100 ms’i buluyordur ve bu ortalamada görünmez. İkincisi istemci FPS düşüklüğü, yani sorun sizin bilgisayarınızdadır. Üçüncüsü ping, yani ağ gecikmesidir. F3 ekranı ve mspt çıktısı hangisi olduğunu ayırt eder.

MSPT 50 milisaniyeyi geçerse ne olur?

Sunucu tick’i zamanında bitiremediği için TPS düşmeye başlar. Konsolda gecikme uyarıları görünür, mob’lar takılarak hareket eder, blok kırma gecikmeli tepki verir. Süre çok uzarsa watchdog devreye girip sunucuyu kapatır. Teşhis için TPS düşüklüğü rehberine geçin.

Tick süresini en çok ne uzatır?

Sırayla: varlık (entity) işleme, yeni chunk üretimi, redstone devreleri, huni zincirleri ve ana iş parçacığında çalışan eklenti zamanlayıcıları. Uzun süredir açık olan sunucularda ilk sırayı neredeyse her zaman biriken entity’ler alır. Hangisi olduğunu tahmin etmeyin, profil alarak ölçün.

Daha fazla RAM vermek TPS’i yükseltir mi?

Hayır. RAM yalnızca çöp toplayıcının sık ve uzun duraklamalarına yol açacak kadar darsa TPS’i etkiler. Heap zaten yeterliyse üstüne RAM eklemek tick süresini kısaltmaz. TPS’i belirleyen şey işlemcinin tek çekirdek hızı ve tick içinde yapılan iştir.

Bedrock ve Java sürümünde tick aynı mı çalışır?

Temel mantık aynıdır: her iki sürüm de saniyede 20 tick hedefler. Ancak ölçüm araçları ve konsol komutları farklıdır; Java Edition tarafındaki tps ve mspt komutları Bedrock Dedicated Server’da bulunmaz. Bu sayfadaki komutlar Java Edition sunucuları içindir.

Sunucu Bakımı ve İleri Yönetim — Tüm Rehberler#

  1. Minecraft Sunucusu Yeni Sürüme Nasıl Yükseltilir?
  2. Minecraft Sunucu Logları Nasıl Okunur?
  3. Minecraft’ta Chunk Ön Üretimi (Pregeneration)
  4. Minecraft Dünya Dosyasını Küçültme (Trim)
  5. Minecraft Sunucusunda Dünya Nasıl Sıfırlanır?
  6. Minecraft Sunucusuna MySQL Nasıl Bağlanır?
  7. Minecraft RCON Kurulumu ve Güvenli Kullanımı
  8. Minecraft Sunucusunda Oyuncu İstatistikleri Nasıl Takip Edilir?
  9. Minecraft Sunucusunda Disk Doluysa Ne Yapmalı?
  10. Minecraft Sunucusunda Yedekten Dünya Geri Yükleme
  11. Minecraft’ta Tick, TPS ve MSPT Ne Anlama Gelir?

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön