Paylaşım 1.16.5 Survival Sunucu Optimizasyonu Üzerine Tecrübelerim

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

TeddyCraft

Odunlara Vur Vur Vur!
Premium
Katılım
25 Şubat 2021
Mesajlar
32
Elmaslar
25
Puan
425
X
teddycrafttc
Aşağıdaki içerik tamamen yaşadıklarımdan oluşmaktadır. Doğruluğundan %100 emin değilim.

Arkadaşlar Öncelikle Merhaba Minecraft Server Optimizasyonu Sandığınız Kadar Komplex Birşey değildir Cok Basit Araştırmalarla Serverinize %50 %60 Oranla İyileştirebilirsiniz.Optimizasyon Yapıyoruz Diğe Sizden 50 100 200 tl neyse alan insanlara(Professional Destek Verenler Hariç) boşuna para vermeyin Olay Cok Basit ve Simple İlk Olarak Yapmanız Gereken Şeylerden Birtanesi Güzel Bir Forge Seçmek Benim Önerim Paperspigot Ve bu paper spigotun bir sürü güzel eklentileri var Tavsiye Edebileceklerim
Purpur Yada Tuinity kurmadan once muhakkak paperspigot kurun.
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.

Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
Hangi Forge'u Kuracağımız Belirledikden Sonra Sırada Serveri Açtıkdan Sonra Oluşan Paper.yml Spigot.yml ve Bukkit.yml 'yi Editlemek Bizi Bekliyor Olacaktır(Purpur Kullanırsanız Purpur.yml'de Dahil olacaktır).Peki Bu Dosyaları Neye Göre Editleyeceğiz.Sanırım Bunu 3. Yazışım Ama Gerçekten Arkadaşlar Bu işlem Cok Zor Değil Bunu Dahada Basitleştiren Bir Discord Botu var İsmi:Birdflop Cok Basit Bir Şekilde discord Sunucuza Davet Edip Etkinleştirebilirsiniz Peki Bu Bot Ne işe yarıyor. Oyunda /timings on Yazarak Serverinizin Bütün Verilerini Kaydede bilirsiniz Bu Kayıt Süreci minimum 15 Dakika Olmalıdır. Bu 15 Dakikalık Süreçten Sonra /timings report Yazarak Bize Verdiği Linki Discordda Metin Kanalına Atıyoruz Botumuz Aktif İken. Ve Aşşağıdaki Resimdeki Gibi Bir Şey Bizi BEkliyor Olacaktır:
1617141380168.png

Ve Bize Serverimizdeki Paper.yml Bukkit.yml Spigot.yml Deki Düzeltmemiz gereken değerleri belirtecektir.Ek Olarak Gereksiz Pluginlerinizi Size Belirtecektir Onlarıda Ayıklayabilirsiniz.
Bu Optimizasyonunuza %30 %40 Arasında Bir Katkı Sağlayacaktır.
Sırada Timings Analizi Var
Yukarıdada Belirttiğim Gibi /timings report yazıp O linke gittiğimizde aşşağıda bizim Serverimizin Genel Durumunu Gösteren Bir Analiz Bekliyor Olacaktır.
1617141405432.png

Resimdede Belirttiğim Gibi İlk Olarak Buradaki Plugins Kısmından Serverinize Kurmuş Olduğunuz Eklentilerin Servera Olan Yükünü Analiz Edip Cok FAzla yüklenen Pluginlere Optimizasyon Yaparak Kısabilirsiniz.Yada O Pluginlerin Yerine Alternatif Pluginler Bulabilirsiniz.
1617141421614.png

Daha Sonra 2. Aşamamız Full Server Tick Yazan Kısım Yani Yukarıdaki REsimde Belirtilen %142 Değeri Bu Değer Sizin Timinginizde Farklı Görünebilir.Bu Değeri Pluginleri Optimize Ederek Gereksiz Pluginleri Çıkartarak %100 e Yaklaştırmayı Hedeflemeliyiz. Peki Resimde Görünen Minecraft:world-doTick Kısmını Nasıl Optimize Edeceğiz Bu Sizin Serverinizdaki Dünya İsimleri Farklı Olabileceğinden Farklı Bir Şekildede Yazabilir.Burada Dünyanın Servera Olan Yükünü Analiz Edeceğiz Hadi REsme Göz Gezdirelim

1617141466868.png


Evet Arkadaşlar Minecraft:World - Do Tick 'e Tıklayıp Açtığımız Zaman Burada Bizi 2 Ana Etken Bekler Bunlardan Birtanesi TickEntities ve Chunk provider Tick Peki Bunlar Nedir?
TickEntities
İlk Olarak TickEntities Bizim SErverimizdeki Varlıklardır Hadi REsimle Olaya Acıklık Getirelim
1617141490470.png

Evet ARkadaşlar Burada Oyunumuza Yüklenen Varlıkları Tespit Edebiliriz Bu Varlıkların Gereksiz Olanları Skript İle Komple Kapatabiliriz Örneğin İskelet Atlar Phantomlar Gibi Simdi Sizle Paylaşacağım Skript İle İstediğiniz Mobları Serverinizde Engelleyebilirisiniz
Skript
on spawn of a baby zombie or skeleton horse or phantom:
cancel event
Bu Skriptte Bebek Zombiler iskelet atlar ve phantomlar kapanacaktır buraya başka kapatmak istediğiniz mob var ise devamına ''or'' koyarak yaratığın İsmini Yazmalısınız
Peki Yaratık İsimlerini Nerden öğrenicem Simdi Sizle Paylaşacağım Linkte Kolaylıkla Hangi Versionda Hangi Yaratıklar var isimlerine bakabilirsiniz.
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
Peki Zombie Gibi Domuz Gibi Oyunda Olmassa olmaz Yaratıkları Kapatmadan Azaltmanın Bir Yolu Varmı Tabiki var
Bukkit Yml İçerisindeki Değerleri Değiştirerek Haydi Tekrar Resimle nedemek istediğimi açıklayalım
1617141517052.png

not:
Yukarıdaki Resimde connection-throttle Yazısını Bungecord'lu Sunucunuz yoksa -1 yapmayın!
Spawn Limit (Yaratık Doğmasını Sınırlama)
Evet Burada Belirtilen Ayarları Kullanabilirsiniz Spawnlimit Yaratık Sınırı Olacaktır normali 70 diye hatırlıyorum ama siz istediğiniz değeri yazabilirsiniz benim kullandığım ayarlar böyle.Peki Ticks-per kısmı nedir? Ticksper Kısmı Nekadar Tıklama Sonrasında Yaratık Cıksın Gibi Saçma bir Türkce Karşılığı var.Belki daha Detaylı Bilen Arkadaşlar Vardır ama benim bildiğim kadarıyla Nekadar aralıkla yaratık cıksın yani siz ordaki değeri arttırdıkca yaratıkların doğma zamanıda okadar geç olur.

Chunk Provider Tick
Şimdi Sıra Geldi Chunk Provider Tick'e Geldi
Bu Chunkların servera Yüklenmesini Gösterir Bir Oyuncu Chunk Açtıkca Servera Yüklenir.Bunu Azaltmanın Bir Yolu vardır Belki Farklı Yollarıda Vardır Ama Ben KEndi Kullandığım Yöntemden Bahsedeceğim Öncelikle WorldBorder İle Muhakkak Dünyayı Sınırlandırın.FastChunkPREGenerator Diğe Bir plugin var arkadaşlar Bu plugin Serverinizda Oyuncuların Yerine Chunk Açmaya Başlar.Bu işlemi Serverda Kimse Yokken Yapmalısınız Cünkü Chunk Açarken Tps Kaybı Yaşacaksınız Laglar Chunk Açma İşlemi Bitene Kadar Yakanızı Bırakmayacaktır Ama Sonrasında Oyuncular nekadar gezerse gezsin zaten o chunkları fastchunk generator açtığı için serverinize yüklenmeyecektir.Bu işlem Açtırmak İstediğiniz Chunk Miktarına Göre Değişir Mesela Ben 30bin blockluk alana açtırmaya başladım 5 6 saatte Sadece %6 Sını Açabildi Cok Uzun Bir Süreçtir Şimdiden Bilgisi vermiş olayım Pluginin Komutu /fcp start Çap Yani örnek /fcp start 30000 yazdığınızda işlem başlayacaktır Sınırını Sizbelirleyin Nekadar Fazla Okadar iyi Ama Bu Chunklar Açıldıkdan Sonra İşlemcinize Yüklenebilir ve dünya boyutunu arttırabilirOnunda bilgisini vermiş Olayım. İstediğiniz Zaman Bu işlemi /fcp pause yazarak durdurabilir istediğiniz zaman /fcp resume yazarak devam ettirebilirsiniz.
Evet Arkadaşlar Elimden Geldiğince Size Bildiklerimi Aktarmak istedim.Bi Yanlışımız bi varise affola hatta belirtinki bende düzeltebileyim Umarım Size Faydası Dokunmuştur Discord Üzerindende Sesli Destek Verebilirim. Bu İşlemleri Yapmak Serverinizin Yükünü Azaltacak ve Performans İyileştirmesi Sağlayacaktır
Bat Dosyamız
Ve Aslında Enbaşta Belirtmeliydim Fakat Sona Kaldı.
Başlat.bat'da Önemli Bir Yeri Vardır.bat dosyanızı internetten sağdan soldan kullanmayın cünkü her versioyunun başlatma kodları farklılık gösterebilir.Peki Neyapcağız Cok Basit bir yöntem bu sorunuda çözeceğiz. Benim Tavsiyem Kesinlikle ve Kesinlikle Aikar's flags Kullanmanızdan Yanadır.Buradaki Bu Kodlama Sadece java8+ ve üstünde çalışmaktadır
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 -XXSurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
-Daikars.new.flags=true -jar paperclip.jar nogui
Ve Buraya Ek Olarak
Eğer Sisteminiz iyiyse yani Xmx Değerine 12G dan fazla verecekseniz aşşağıda belirttiğim değerleri güncelleyin
  • -XX:G1NewSizePercent=40
  • -XX:G1MaxNewSizePercent=50
  • -XX:G1HeapRegionSize=16M
  • -XX:G1ReservePercent=15
  • -XX:InitiatingHeapOccupancyPercent=20
ve Muhakkak -Xms10G -Xmx10G Değerlerinizi Aynı Tutmalısınız ve windows işletim sistemi kullanıyorsanız Masa üstüne Minimum 2 gb ram bırakmalısınız.
Ve Bütün Bunlara Ek Olarak Bazı PLuginler Bu Kodlamada Türkceleştirme Yapsanız bile İngilizce Görünecektir. Çünkü Dil Belirtmek Zorundayız.Örnek Bir Plugin örnek vericek olursam Seasons Yani Mevsimler Plugini.Eğer Eklentilerinizi Türkceleştirmenize rağmen Türkce Olmuyorsa Muhakak Aşşağıdaki Koduda Başlat.bat Eklemelisiniz araya biryere sıkıştırın
  • -Duser.language=EN
Belki Kopyala Yapıştır Yaparken İnsanlık Hali Hata Olmuş Olabilir Baslat.bat Kısmında Linki Bırakıyorum Aşşağıya Ordanda Ulaşabilirsiniz
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
Server Log Kontrol Etme
Serveriniz Log Kısmına girip ctrl+f basarak error Yazını aratın ve orada hata veren bütün pluginlerin neden hata verdiğini bulmaya çalışın Cannot Load Plugin,Disabling gibi hatalarla karşılaşırsanız aşşağıya yazabilirsiniz Genelde Ben Oyle Karşılaştığım durumlarda direk o pluginin yerine yenisini bulmaya Çalışıyorum.
1617141555113.png


Ve Dahada Detaylara İnmek İsterseniz Timingslerinizde Aşşağıda resimdeki Gibi bir Tablo Göreceksiniz.
1617141614126.png

İşte Bu Tabloda Timingsi Uzun Almanızın Nedenini Daha İyi Anlıcaksınız
Bazen Herşey Yolunda Gibi Görünür Fakat Bazı Zamanlar Tps Kaybı Yaşarsınız.
Gördüğünüz Gibi Burada Saat 10:24 İle 10:44 Arasında Bir Timings Analizini Görmekteyiz Tablodada Yeşille sınırlrını belirleiğim alanda Yani Saat 10:27:36 da Bir Tps Kaybı Yaşamışım Mouse ile Alttaki Mavi Barı TPS Kaybı Yaşadığınız Aralığa Götürürsek Ozaman Aşşağıda O an Hangi Değerler Etkilemiş Daha Detaylı Takip Edebiliriz
Burası Biraz Kafa Karıştırıcı Olabilir O Yüzden Discorddan Sesli Yardımcı Olabilirim Anlamayan Arkadaşlara.

Ve Serverinizda Oyuncu Yokken Timings Değerleriniz Gayet Güzel Görünebilir Fakat Oyuncular Girdikce Oyundaki Pluginlerin Komutlarını Çalıştırdıkca Esas Ozaman Sorunları Sıkıntıları Tespit Edeceksiniz
Yani Bu Timings Olayı Cok Uzun Bir Süreç Gözlem İstiyor İlgi İstiyor 1 sefer Yaptın bidaha yapmana gerek yok Gibi düşüncelere Kapılmayın Muhakkak Düzenli Olarak Oyuncu Sayınız Arttığında timingslerinize yenileyin Tekrar Göz Gezdirin.Çok Yorucu bi Süreç bazen bunalabiliyorsunuz Fakat İnanın Timings Size Hatayı Farketmenizdeki Gözünüz Eliniz ayağınız oluyor ve kullandıkcada gözlemledikcede nekadar kolay olduğunu daha iyi idrak edebiliyorsunuz

Peki Bunca Anlattığım Şeyden ve bu sancılı süreçten sonra bunlar etkili oluyormu dersiniz? :)
Burada 1.16.5 Hard Survival Sunucuyu Görmektesiniz +70 Plugin Yüklü Anti Xray Hem Dünyada ve Hem Netherda Mevcut.Oyun Sınırı 100k Ve inanın kullandığım pluginler hafif pluginler değil.
1617141642209.png

Evet Şuan Mesela Serverimda 42 Oyuncu var ve TPS 20 Bu 80 90 oyuncu olunca illaki düşecektir ama timings olayı sayesinde sorunları sıkıntıları analiz edip tekrar 80 90 kişide 20 tps yapmak çok zor olmuyor :)

Ryzen 9 3900x Deneyimim!
Arkadaşlar 1.16.5 Survival Sunucum vardı ve ryzen 9 3900x kullanıyordum.Meğer kullanmamam gerekiyormuş bunu cok sonra anladım düzenli olarak tps kaybı yaşıyordum.Sebebini öğrenince cok şaşırdım.Ryzen 9 serisi çoklu cpu performansları için tasarlanmış bir işlemcidir yani bu nedemek oluyor.Bildiğim kadarıyla java Tek CPU Odaklı Bir Yazılım Programı ve Bundan Dolayı Ryzen 9 serilerinde 1.16.5 de Performans Kaybına Sebeb Oluyor.Diğer Minecraft Versionlarında Tecrübem Olmadı Ama 1.16.5 server açıp ryzen 9 kullanmayı düşünenler var ise size tavsiyem ryzen 5, ryzen 7 yada intel serilerini kullanabilirsiniz.Benim tavsiyem ryzen 7 ryzen 5 yada intel i9 9900k kullanınız.
İşte Size Neden Ryzen 9 3900x 1.16.5 de tercih edilmez
Ryzen 9 3900x 16CPU
1617141786340.png

1617141811911.png

Intel I9 9900k 8 cpu
1617141840449.png

1617141859527.png

Umarım Faydam Dokunabilmiştir.
İnternetimin İyi Olduğu Bir Zaman Bu Optimizasyon Hakkında Çok Detaylı Bir Video Cekeceğim.
Ve Birgün Paper.ymlinin İçindeki Xray Kısımlarınada Değinecem Netherda Anti Xrayı nasıl aktif edilir ondanda Bassedeceğiz ve optimizasyonunu yapacağız.
Herkeze Sağlıklı Günler Dilerim.
Discord :
Şuan Saat 06.05 Anlatırken Biraz Türkceyi Katletmiş Olabilirim Kusura Bakmayın :D
Kafasına Takılan Yeri Sormak İsteyen Arkadaşlar Olacaktır Öğlenden Sonra Aktif Olurum.
 

Ekli dosyalar

  • 1617141396487.png
    1617141396487.png
    144,8 KB · Görüntüleme: 131
  • 1617141439310.png
    1617141439310.png
    158,5 KB · Görüntüleme: 128
Moderatör tarafından düzenlendi:
Gerçekten güzel bir optimizasyon yönetmi ellerinze sağlık uzun uzun ve güzel anlatmışsınız.
 
İlk defa ayrıntılı anlatan birini buldum. Eline emeğine sağlık.
 
yardımın dokundu bana chunk konusu hakkında bende ne yaparım diye düşünüyodum acılmayan çok chunk var cözüm için saol güzel anlatım.
 
yardımın dokundu bana chunk konusu hakkında bende ne yaparım diye düşünüyodum acılmayan çok chunk var cözüm için saol güzel anlatım.
Rica Ederim Tek Sıkıntısı Çok Fazla Yer Kaplayacak Dosya Boyutn +10 15 gb açtığın chunk sayısına bağlı ama baya artacaktır :D
 
Rica Ederim Tek Sıkıntısı Çok Fazla Yer Kaplayacak Dosya Boyutn +10 15 gb açtığın chunk sayısına bağlı ama baya artacaktır :D
şuan normal dünya boyutum 27gb :) 4 aydır acık sunucum 50k sınır koydum survival için 1 senede max 2-3tb olur diye umuyorum
 
Çok başarılı bir konu olmuş. İşlemci olayları çok basit ve herkesin anlayabileceği bir dilden olmuş. Önerilen discord botu çok güzel ve başarılı. Bu değerli bilgileri bizlerle paylaştığınız için size çok teşekkür ediyorum. Herkese kolay gelsin.
 
1.16 sunucu sahipleri için resmen ilaç gibi bir konu olmuş elinize sağlık.
 
Rezil bir konu öncelikle forge ne ? Hadi fork demek istedin önce paperspigot kurucacağız sonra purpur peki abi onuda anladık. Ayrıca çok "simple ve basit" bir anlatım olmuş gerçekten. A1 Türkçe ile gayet beni kahkahalara boğan gecemi şenlendiren bir konu, ellerine sağlık başını okumam beynimin yarısını kaybetmeme sebep oldu.



Burada bilgilendirici diyen herkes lütfen kafasını toparlasın öyle yorum yapsın sync paket ile Ryzen cihazda sunucu açıp cihaz kötülemek üstüne birdFlop ile oyuncu geneline sunucu sistemlerine eklentilerine göre değil basit bir botun yorumuna göre optimize yapmak yaptırmak akıl karı değil allah akıl fikir versin.

Kulaktan duyma bilgiler ile konu açıp üstüne olumlu yorumlar yapılmasın artık, sayenizde insanlar bu şekilde yanlışı doğru biliyor.

Anlatırken biraz katletmiş olabilirim denilmiş konuda fakat bu yazılanlar Türkçe ile alakasız gerçekten mide bulandırıcı bir seviyede katletme olmuş.

Java tek CPU odaklı diyen arkadaşlar 100 dolara neden multithread spigot satıldığını çok merak ediyorum ya da neden eklentiler SYNC, ASYNC şeklinde ayrılır onu 'da merak ediyorum. Şu dogmatik düşünceden çabucak çıkılması gerekiyor eğer siz ASYNC bir altyapı ile paket yaparsanız multithread spigot kullanırsan çoklu çekirdek kullanımınız önemli olacaktır, lakin gidip SYNC altyapıda bir paket kullanırsanız tekil çekirdek kullanımı daha önemlidir.

Not: Bir’de lütfen yazamıyorsanız, konuşamıyorsanız kullanmayın Türkçeyi, hem anlatım hem bilgilendirme olarak rezil bir konu umarım aklı başında düzgün konular görebiliriz bu konularda.
 
Son düzenleme:
Konu içeriğin spoiler içerisine alınmıştır. Bunun tek sebebi ise optimizasyon adı altında yanlış ve kulaktan duyma bilgilerin yayılmasını sağlıklı bulmamamızdır. Halka açık bir forumda yetkinliğinin olmadığı bir konuda bilgilendirme yapamazsın. Ancak ve ancak yaşadıklarını anlatabilirsin ve bu anlattıklarına gelen tepkileri okursun kendine düzeltirsin. Daha iyi araştırman okuman ve fanatikleşmemen dileğiyle. İyi forumlar dilerim.
 
Evet survival sunucu sahipleri için ilaç niyetinde olmuş. Survival sunucusu sahibi olup gülmek kahkahalar atmak isteyenler bu konuyu mutlaka okumalı.
 
Bilgi verilmesi ne güzel birşey.
 
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