Blog’a Dön

Minecraft Sunucu Lag Sorunu: TPS Düşüklüğü ve Çözümleri

Minecraft sunucusu neden lag yapıyor? TPS ve MSPT, spark ile ölçüm, chunk oluşturma, görüş mesafesi, varlıklar, eklentiler ve Aikar bayraklarıyla çözüm.

Nodesty Ekibi5 dk okumaOyun sunucuları
Koyu Nodesty arka planında Minecraft Lag yazısı ile TPS, MSPT ve spark ifadeleri

Minecraft sunucu lag'i neredeyse her zaman aynı soruna dayanır: Sunucu saniyede 20 kez dünyayı güncellemeye (tick) çalışır ve her tick'i 50 milisaniyede bitirmesi gerekir. Bitiremediğinde TPS (saniyedeki tick sayısı) 20'nin altına düşer; bloklar geç kırılır, mobler takılır, oyuncular ışınlanır. İyi haber şu: Doğru araçla ölçtüğünüzde lag'in sebebini çoğu zaman birkaç dakikada bulabilir ve birkaç ayarla çözebilirsiniz.

Bu rehberde lag türlerini, TPS ve MSPT'yi nasıl ölçeceğinizi, spark ile darboğazı bulmayı ve en sık lag sebeplerinin çözümlerini anlatıyoruz. Sunucuyu henüz kurmadıysanız Minecraft sunucu nasıl kurulur? rehberimizle başlayın.

Üç tür lag

Oyuncuların "lag" dediği şey üç farklı sorundan kaynaklanabilir:

TürBelirtiKontrol
Sunucu lag'iHerkes aynı anda takılır, bloklar geç kırılırTPS ve MSPT
Ağ lag'iBazı oyuncular ışınlanır, diğerleri sorunsuz oynarOyuncuların ping değeri
İstemci lag'iEkran takılır ama sunucu ve diğer oyuncular normaldirOyuncunun FPS değeri

Sorunu doğru sınıflandırmak, yanlış yerde çözüm aramayı önler. Bütün oyuncular aynı anda takılıyorsa sorun büyük olasılıkla sunucudadır. Yalnızca belirli oyuncular takılıyorsa onların bağlantısına bakın; ping ve gecikmenin sebeplerini Ping nedir? yazımızda anlattık.

TPS ve MSPT nedir?

  • TPS (ticks per second): Sunucunun saniyede kaç tick işlediği. Hedef 20'dir; 20 TPS'in üstüne çıkılmaz.
  • MSPT (milliseconds per tick): Bir tick'in kaç milisaniye sürdüğü. 50 ms'nin altı sağlıklıdır; 50'yi aşan her tick, TPS'in düşmesi demektir.

MSPT, TPS'ten daha erken uyarı verir: TPS 20 görünürken MSPT 45 ms'ye çıktıysa sunucu sınırdadır ve birkaç oyuncu daha geldiğinde lag başlayacaktır. Paper sunucularda konsolda ya da oyunda şu komutlarla ölçebilirsiniz:

/tps
/mspt

spark ile darboğazı bulun

Tahmin yürütmek yerine ölçün. spark, sunucunun zamanını nereye harcadığını gösteren ücretsiz bir profil aracıdır. Paper'ın güncel sürümlerinde hazır gelir; gelmiyorsa eklenti olarak kurabilirsiniz.

/spark tps
/spark health
/spark profiler start

Sunucu lag yaparken profiler'ı başlatın, birkaç dakika bekleyin ve durdurun:

/spark profiler stop

spark size bir bağlantı verir. Bu raporda tick süresinin hangi eklentiye, hangi dünyaya ya da hangi işe (chunk oluşturma, varlıklar, redstone) gittiğini ağaç görünümünde görürsünüz. Aşağıdaki bölümler, raporda en sık öne çıkan sebeplerin çözümleridir.

1. Chunk oluşturma

Oyuncular daha önce gidilmemiş bölgelere girdiğinde sunucu dünyayı anlık olarak oluşturur. Bu, Minecraft'taki en ağır işlerden biridir ve keşif sırasında yaşanan ani lag'in en sık sebebidir.

Çözüm, dünyayı önceden oluşturmak ve bir dünya sınırı koymaktır. Chunky eklentisiyle:

/chunky radius 5000
/chunky start

Bu komut, merkezden 5.000 blok yarıçapındaki alanı oyuncular gelmeden oluşturur. İşlem uzun sürebilir; oyuncuların az olduğu bir saatte başlatın. Ardından oyuncuların bu alanın dışına çıkmaması için bir dünya sınırı koyun:

/worldborder set 10000

2. Görüş ve simülasyon mesafesi

server.properties dosyasındaki iki ayar, sunucunun her oyuncu için ne kadar alanı yüklediğini ve işlediğini belirler:

view-distance=8
simulation-distance=6
  • view-distance: Oyunculara gönderilen chunk mesafesi. Yüksek değerler RAM ve ağ kullanımını artırır.
  • simulation-distance: Mobların, bitkilerin ve redstone'un çalıştığı mesafe. İşlemci yükünü doğrudan belirler.

Çoğu sunucu için view-distance 8–10, simulation-distance 6–8 iyi bir dengedir. Paper'da oyuncuların daha uzağı görmesini, sunucuyu yormadan sağlayan ayrı ayarlar da vardır.

3. Varlıklar: mob çiftlikleri ve eşyalar

Sunucu her tick'te bütün varlıkları (mob, hayvan, yerdeki eşya, araba, zırh standı) işler. spark raporunda varlıklar öne çıkıyorsa:

  • Büyük mob çiftliklerini sınırlandırın ya da oyuncuları daha verimli tasarımlara yönlendirin.
  • Yerde biriken eşyaları temizleyin; çöp toplayan çiftlikler ve ölen oyuncuların eşyaları zamanla birikir.
  • Paper'ın dünya ayarlarındaki (paper-world-defaults.yml) varlık ve eşya birleştirme ayarlarını kullanın.
  • Belirli bir bölgede sorun varsa /spark profiler raporu ve konsoldaki uyarılar sizi doğru chunk'a götürür.

4. Eklentiler

Kötü yazılmış ya da gereksiz yere her tick'te çalışan tek bir eklenti, bütün sunucuyu yavaşlatabilir. spark raporunda bir eklenti büyük pay alıyorsa:

  • Eklentiyi güncelleyin; performans sorunları sık sık yeni sürümlerde düzeltilir.
  • Ayarlarını gözden geçirin; sık çalışan zamanlayıcıları ve gereksiz özellikleri kapatın.
  • Daha hafif bir alternatif arayın ya da gerçekten ihtiyacınız yoksa kaldırın.

5. Sunucu yazılımı

Vanilla sunucu yazılımı performans için optimize edilmemiştir. Paper ve onun üzerine kurulan Purpur, vanilla oynanışın büyük kısmını korurken çok daha iyi performans verir ve eklenti desteği sunar. Hâlâ vanilla ya da Spigot kullanıyorsanız Paper'a geçmek tek başına büyük fark yaratabilir; geçişten önce dünyanızın yedeğini alın.

6. RAM ve Java ayarları

RAM yetersizse sunucu sık sık çöp toplama (garbage collection) yapar ve takılır; gereğinden fazla RAM de uzun duraklamalara yol açabilir. Önerilen yaklaşım:

  • -Xms ve -Xmx değerlerini aynı yapın.
  • İşletim sistemine 1–1,5 GB pay bırakın.
  • Paper'ın önerdiği Aikar bayraklarını kullanın; G1 çöp toplayıcısını Minecraft'a göre ayarlar:
java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
  -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \
  -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \
  -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem \
  -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs \
  -Daikars.new.flags=true -jar paper.jar --nogui

10G değerini sunucunuzun RAM'ine göre değiştirin. Paper'ın belgeleri, büyük bellek değerleri için bayrakların küçük farklarla güncel hâlini de verir. Ne kadar RAM gerektiğini Minecraft sunucu sayfamızdaki tabloda bulabilirsiniz.

7. İşlemci

Minecraft'ın ana döngüsü büyük ölçüde tek çekirdekte çalışır. Toplam işlemci kullanımı düşük görünse bile o çekirdek doluysa TPS düşer. Bu yüzden çekirdek sayısından çok tek çekirdek hızı önemlidir. Bütün optimizasyonlardan sonra MSPT hâlâ yüksekse daha yüksek saat hızına sahip bir işlemciye geçmek en etkili çözümdür. Sunucunun genel kaynak kullanımını kontrol etmeyi Sunucu neden yavaş? yazımızda anlattık.

Hızlı kontrol listesi

  1. /tps ve /mspt ile sorunun sunucuda olduğunu doğrulayın.
  2. Lag sırasında /spark profiler ile rapor alın.
  3. Dünyayı Chunky ile önceden oluşturun, dünya sınırı koyun.
  4. view-distance ve simulation-distance değerlerini dengeleyin.
  5. Varlık sayısını ve ağır eklentileri kontrol edin.
  6. Paper kullanın, Aikar bayraklarıyla başlatın.
  7. Sunucuyu düzenli olarak yeniden başlatın; bunu otomatikleştirmeyi Cron nedir? yazımızda anlattık.

Minecraft sunucunuz için Nodesty

Nodesty Minecraft sunucu kiralama paketleri, Minecraft'ın tek çekirdeğe dayanan ana döngüsü için 5,7 GHz'e çıkan Ryzen 9 9950X işlemci, dünya kayıtları için NVMe disk ve L3–L7 DDoS korumasıyla Frankfurt'ta çalışır. Paketlerde 7 gün saklanan ücretsiz günlük yedekleme bulunur; oyuncu sayınız arttığında panelden bir üst pakete geçebilirsiniz.

Minecraft, Mojang AB'nin ticari markasıdır. Nodesty, Mojang ve Microsoft ile bağlantılı değildir ve onlar tarafından onaylanmamıştır.

Sıkça Sorulan Sorular

TPS kaç olmalı?

Minecraft sunucusu saniyede 20 tick hedefler; TPS 20 ise sunucu sorunsuz çalışıyordur. 18–19 arası çoğu oyuncunun fark etmeyeceği küçük dalgalanmalardır. 15'in altına inen TPS'te bloklar geç kırılır, mobler takılır ve oyuncular gecikme hisseder.

Daha fazla RAM vermek lag'i çözer mi?

Her zaman değil. Minecraft'taki takılmaların çoğu işlemcinin bir tick'i 50 milisaniyede bitirememesinden kaynaklanır; bu durumda RAM eklemek işe yaramaz. Gereğinden fazla RAM vermek de çöp toplama duraklamalarını uzatabilir. Önce spark ile darboğazı ölçün, RAM'i ölçüme göre ayarlayın.

Ping'im düşük ama oyunda takılma var, neden?

Ping ağ gecikmesini gösterir; sunucu lag'i ise sunucunun dünyayı ne kadar hızlı işlediğiyle ilgilidir. TPS düşükse ping ne kadar iyi olursa olsun oyun takılır. Tersine, TPS 20 olduğu hâlde takılma yaşıyorsanız sorun bilgisayarınızın FPS'inde ya da bağlantınızda olabilir.

Paper mı vanilla mı kullanmalıyım?

Eklenti kullanmasanız bile Paper, vanilla sunucuya göre çok daha iyi performans verir ve vanilla oynanışın büyük kısmını korur. Teknik redstone ve bazı oyun hatalarına dayanan mekanizmalar Paper'da farklı çalışabilir; böyle bir topluluğunuz varsa Paper'ın ilgili ayarlarını gözden geçirin.

Dünyayı önceden oluşturmak gerçekten fark yaratır mı?

Evet. Oyuncular yeni bölgelere gittiğinde sunucu chunk'ları anlık olarak oluşturur ve bu, en ağır işlerden biridir. Chunky ile oyuncuların gezeceği alanı önceden oluşturup bir dünya sınırı koymak, keşif sırasındaki takılmaları büyük ölçüde ortadan kaldırır.

Mob çiftlikleri sunucuyu yavaşlatır mı?

Büyük mob çiftlikleri, yerde biriken eşyalar ve çok sayıda hayvan, sunucunun her tick'te işlemesi gereken varlık sayısını artırır. spark raporunda varlıklar öne çıkıyorsa çiftlikleri sınırlandırın, eşya yığınlarını temizleyin ve Paper'ın varlık ayarlarını kullanın.

Nodesty

Yazar hakkında

Nodesty Ekibi · Altyapı ve Destek

Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.

İlgili yazılar

Sunucunuzu şimdi başlatın.

Nodesty'nin üstün altyapısı ile projelerinizi özgürce inşa edin ve sınır tanımadan ölçeklendirin.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································