Çözüldü Sunucum +20 Oyuncuda Bazen Altında Lag Yapıyor

  • Konuyu Başlatan Konuyu Başlatan TECN
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 558
  • Etiketler Etiketler
    lag ram
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

TECN

Odunlara Vur Vur Vur!
Katılım
7 Temmuz 2022
Mesajlar
34
Elmaslar
11
Puan
3.955
Konum
Türkiye

Discord:

ymirsg

  • 16 GB DDR4 4000 MHz RAM
  • 12 Çekirdek CPU R9 5950X / 3950X
  • 160 GB NVMe SSD Disk
Türkiye / İstanbul Lokasyon

Yukarıda kullandığım makinanın özelliklerini verdim.

Velocity, Lobi ve ana sunucum olan survival kurulu. Lobi ve Survival sunucuları Paper 1.21.4 Sürümlerinde. Geyser ve ViaVersion eklentileri bulunuyor.

Velocity için 1gb, Lobi için 1gb, Survival için 10gb ram verdim.

Sunucu ortalama olarak 25 oynanıyor yoğun saatlerde. Lobi sunucumda herhangi bir ekstra özellik yok sadece giriş yapıp aktarım sağlanıyor. Elimden geldiğince araştırıp çözmeye çalıştım ancak tıkandım. Mspt max değeri yoğun zamanlarda 1000'i geçtiğini gördüm. Günde 2 kere lobi ve survival sunucusunu yeniden başlatıyorum.

Survival İçin JVM Flags:
-Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=150 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=30 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true

Lobi için JVM Flags:
-Xms1G -Xmx1G -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -jar paper.jar --nogui


Velocity için JVM Flags:
-Xms1G -Xmx1G -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -jar velocity.jar


Spark Profiler:
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.


ChunkSpawnerLimiter eklentisi ile bazı mobları ve redstone işlevlerini limitlendirdim. Oyuncularda gördüğüm kadarıyla ağır bir redstone sistemi kullanan yok. StackMob kullanıyorum hayvanları stacklemek için. Köylüler içinse AntiVillagerLag eklentisi kurulu, paper configlerinden behavior ile köylülerin daha yavaş çalışmasını ayarlamaya çalıştım ancak olmadı. Yardımcı olabilirseniz çok sevinirim.
 
Ram yetersiz, survivale 8gb vermeyi dene biraz rahatlar ama yüksek oyuncu sayısında yine yetersiz gelir. Daha önce kullandıysan linuxa da geçebilirsin.
 
Atttığınız spark raporunda lag görünmüyor, tps ve mspt değerleri iyi ve sunucu sadece 2 gb ram kullanıyor, lag çıktığı anın spark raporunu atarsanız sorunu anlayabiliriz

Raporda dikkat çeken ve genel tavsiye olarak;
Paper config ayarlarinizi pek ellememissiniz, sunucunun start.bat dosyasinin oldugu ana klasorde configs diye bir klasor olacak, buradan paper ayarlarina erisebilirsiniz, bu dosyalari optimize etmek onemli, bu rehberi kullanin
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.


Hayvan Stackleme eklentilerini kullanmayın, bunun nedeni stack eklentileri yarardan cok zarar verir, moblar stacklenince sunucu tekrardan mob spawnlamaya calisir ve tekrar stacklenir, boylece sonsuz spawn dongusune girer ve sunucu yorulur, bunun yerine FarmControl veya MobFarmManager eklentilerini kullanin
Ayrica balik ve yarasa spawnlamasini kapatmayi dusunebilirsiniz gereksiz gelirse (yarasa configde ambient olarak gecer)

Sunucunuzda dunyada cok fazla entity bulunuyor, yere dusen itemler de fazla, hayvanlar icin ustteki oneriyi kullanin, itemler icin ClearLagg veya divinedrop kullanabilirsiniz

Lobide de aikar flag kullanin
 
Son düzenleme:
Ram yetersiz, survivale 8gb vermeyi dene biraz rahatlar ama yüksek oyuncu sayısında yine yetersiz gelir. Daha önce kullandıysan linuxa da geçebilirsin.
Attigi raporda sunucu sadece 2.3 gb kullaniyor, sizin baktiginiz yer sanirim memory (physical) kismi, bu butun makinenin toplam ne kadar kullandigini gosterir, start.batta xmx ayari cekildigi icin rami kullaniyor gibi gozukur ama hepsini kullanmiyor sadece ayiriyor, asil kullanilan ram memory (process) kismi.

edit: yanlis anlamisim sanirsam survivaldan kisip lobi ramini arttirin demek istemissiniz evet lobiye 1gb yetmez
 
Son düzenleme:
Ram yetersiz, survivale 8gb vermeyi dene biraz rahatlar ama yüksek oyuncu sayısında yine yetersiz gelir. Daha önce kullandıysan linuxa da geçebilirsin.
Attigi raporda sunucu sadece 2.3 gb kullaniyor, sizin baktiginiz yer sanirim memory (physical) kismi, bu butun makinenin toplam ne kadar kullandigini gosterir, start.batta xmx ayari cekildigi icin rami kullaniyor gibi gozukur ama hepsini kullanmiyor sadece ayiriyor, asil kullanilan ram memory (process) kismi.


Cevaplarınız için teşekkür ederim öncelikle. Yarın yoğun bir saatte spark raporu alıp güncelleyeceğim.
FarmControl, divinedrop eklentilerini kullanmaya başlayacağım.

ChunkSpawnerLimiter eklentisinin herhangi bir zararı olur mu peki, chunk başına ortalama kaç entitye izin vermeliyim?


Paper config ayarlarını attığınız rehberde dahil optimize etmeye çalıştım nerede hata yaptığımı anlayamadım biraz daha detay verebilir misiniz?

swap memory kullanımı nasil sizce yüksek mi nasıl düşürebilirim? Yada lobi ve velocity sunucularına 1'er gb ram verdiğim için mi artıyor task managerde 1,5gb ram kullanıyor olarak gözüküyor lobi bundan kaynaklı olabilir mi? Velocity ve lobiyi ayrı düşük bir xeon makinaya almamın nasıl bir etkisi olur?

Yardımcı olabilirseniz çok sevinirim :)
 
Merhabalar Survival 10 GB RAM ayırmışsın, ama MSPT 1000+ ise çöp toplama (GC) ve CPU darboğazı olabilir.
Şu anki JVM flag’lerin Aikar’s flags’e dayanıyor ama belirli durumlarda daha iyi optimizasyonlar gerekebilir.

Paper’ın paper.yml, spigot.yml ve bukkit.yml dosyalarını optimize etmek de önemli.

Kısacası sana detaylı bir şekilde yardımcı olabilirim discord üzerinden bana ulaşabilirsin.

discord: sadeceseckin
 
Cevaplarınız için teşekkür ederim öncelikle. Yarın yoğun bir saatte spark raporu alıp güncelleyeceğim.
FarmControl, divinedrop eklentilerini kullanmaya başlayacağım.

ChunkSpawnerLimiter eklentisinin herhangi bir zararı olur mu peki, chunk başına ortalama kaç entitye izin vermeliyim?


Paper config ayarlarını attığınız rehberde dahil optimize etmeye çalıştım nerede hata yaptığımı anlayamadım biraz daha detay verebilir misiniz?

swap memory kullanımı nasil sizce yüksek mi nasıl düşürebilirim? Yada lobi ve velocity sunucularına 1'er gb ram verdiğim için mi artıyor task managerde 1,5gb ram kullanıyor olarak gözüküyor lobi bundan kaynaklı olabilir mi? Velocity ve lobiyi ayrı düşük bir xeon makinaya almamın nasıl bir etkisi olur?

Yardımcı olabilirseniz çok sevinirim :)
FarmControl veya MFM kullanacağınız için CSL'ye gerek kalmayacaktır. Halen kullanmak istiyorsanız spark raporunda gözüken fazla item_frame'e karşılık çözüm için kullanmayı deneyebilirsin

paper-world-defaults.yml configinizde ayarlanmamış veya yanlış ayarlanan baya bir yer gördüm, en iyisi configi tekrar açıp baştan sona yukarıdan aşağı rehbere bakarak iyice tekrar düzenleyin, bu dosyanın ayarlanması son derece önemli.

Bir HUB ortamında sunucuların ayrı makinelerde olması veya aynı makinede olup sanallaştırma kullanılarak farklı ortamlarda bulunması gerekiyor, bütün networku aynı anda tek bir yerde açmak pek sağlıklı olmayacaktır, fakat xeon lobiyi kaldırmayabilir.

task managerde 1,5gb ram kullanıyor
bu gayet doğal siz 1gb ram verseniz bile java kendine biraz daha ayırır, ve task manager sunucuların xmx'ini gösterir örneğin siz 10 gb verdiniz, sunucu sadece 3 kullanıp 7 si beklese dahi task manager 10 kullanıyor gösterir Java xmx'in tamamını kendine ayırır.

swap memory kullanımı nasil sizce yüksek mi nasıl düşürebilirim?
Swap memory sunucunun işletim sisteminin fiziksel ramı yetersiz kalınca kendine disk üzerinden yapay ram oluşturması demek, fakat bu yapay ram normal ramdan çok daha yavaş olur. özellikle windows ortamında windowsun kendisine de ram ayırmak gerekiyor.
Muhtemelen Survival 10 xmx iken üstüne lobi ve velocity eklenince işletim sistemine ram kalmamış

Bahsettiğiniz +20 oyuncuda lag oluşması belki sunucunun değil de işletim sisteminin zorlanması dolayısıyla olmuş olabilir, ama dediğiniz lag anının spark raporunu görmeden şuanlık bir şey diyemem
 
Son düzenleme:
İnceleme yaptığımda -Xms10G -Xmx10G yerine minumum değeri daha düşük yap.

Sunucu ana dosyalarını paper.yml vb ler default olarak duruyor. https://www.mc-tr.com/konu/sunucu-optimizasyon-rehberi.104684/ konuyu inceleyerek bu ayarlar hakkında bilgi alabilirsin.

Tek bir VDS üstünde sadece 1 adet sunucu açmaya çalış.

Survival için ana makinen kalabilir veya ram değerini 12 ye düşürüp yine aynı işlemci de kalabilirsin.

Lobi ve velocity düşük gereksinim olduğu için minumum ryzen 3900 gibi bir işlemcili minumum 6 ramli bir cihazda 2 2 şeklinde çalıştırmanı öneririm.
 
Kullandığınız ExcellentEnchants eklentisi biraz lag yaptırıyor gibi gözüküyor bu eklentiyi devre dışına alıp tekrar sunucunuzu kontrol edebilir misiniz?

Server.propeties'da bulunan
  • sync-chunk-writes: true ayarını false yapmanız gerekiyor.
Survival ve Towny sunucularında view-distance 7 büyük sayıdır daha fazla uzaktaki chunkları yükler ek olarak sunucuya yük bindirir, bunu 4 ile limitleyebilirsiniz 4 idealdır.

Onun dışında çok bir şey göremedim hâlen daha lag oluyorsa kullandığınız hosting Oversell yapıyor olabilir.
 
Yardımcı olan herkese teşekkür ederim önerilerinizin çoğunu uyguladım bugün. Uyguladıktan sonra bir sıkıntı yaşamadık gün içerisinde spark raporlarını izlemeye devam edeceğim bir sıkıntı çıkmazsa konuyu çözüldü olarak işaretleyeceğim.
 
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
bu şekilde aldım bugün lag şikayeti gelmedi ama rapor bu şekilde

Edit: JVM flagda gc ayarlarını değiştirmiştim biraz ondan dolayı bir problem var mı?

Edit: 11 tane skript kullanıyorum bunların çoğu tek bir komut yada oyuna giriş kontrol eden zorlayıcı olmayan skriptler tek bir .sk dosyası altında toplamamın etkisi olur mu?
 
Son düzenleme:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst