Paylaşım - Optimize Edilmiş Başlatma Kodu - Tüm Sunucular İçin | Minecraft Türkiye Forumu - MinecraftTR
inecraft sunucu lag sorunu kaç gb ram vermeliyim minecraft ram ayarları minecraft sunucu gelişmiş başlatma kodu minecraft sunucu kaç gb ram gerekli? optimize edilmiş sunucu başlatma kodu ram ayarları tüm sunucular için
MinecraftTR 3,239 Konusu 18,550 Mesajı ve 5,589 Üyesi ile her dakika daha da büyüyor!
Bu konumda sizlere uzun süre test edip kullandığım ve bir çok tecrübe edinerek geliştirdiğim optimize edilmiş başlatma kodunu tanıtıp paylaşacağım.
Özel CMD penceresi başlığı.
Bilgilendirici echo mesajları.
Tamamen optimize edilmiş java argümanları.
Otomatik bazı gereksiz dosyaları temizler.
Sunucu çökünce / kapanınca otomatik reset atma (tekrar açma) fonksiyonu.
Konsolu ve Java'yı UTF-8 yapar ve Türkçe karakterleri kullanıma açar
Kod, Java 8 / JDK 8 gerektirir.
JDK 8 üstünde (örn. JDK 11) çalıştırmak istiyor iseniz spoiler içindeki alternatif versiyonu kullanın.
java -XX:+UnlockExperimentalVMOptions -d64 -server -Xms1M -Xmx8G -XX:-HeapDumpOnOutOfMemoryError -XX:SoftRefLRUPolicyMSPerMB=1000 -XX:-UseCompressedOops -XX:+TieredCompilation -XX:+UseLWPSynchronization -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+UseLargePagesInMetaspace -XX:+AggressiveOpts -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Duser.language=EN -Duser.country=US -Dpaper.playerconnection.keepalive=120 -Dlog4j.skipJansi=true -jar LifeSpigot.jar -nojline -o false --log-strip-color --log-append=false nogui
Spoyler: JDK / Java 11 İçin Kod
[SIZE=5]chcp 65001 > nul[/SIZE]
java -XX:+UnlockExperimentalVMOptions -server -Xms1M -Xmx8G -XX:-HeapDumpOnOutOfMemoryError -XX:SoftRefLRUPolicyMSPerMB=1000 -XX:-UseCompressedOops -XX:+TieredCompilation -XX:+UseLWPSynchronization -XX:+UseBiasedLocking -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+UseLargePagesInMetaspace -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Duser.language=EN -Duser.country=US -Dpaper.playerconnection.keepalive=120 -Dlog4j.skipJansi=true -jar LifeSpigot.jar -nojline -o false --log-strip-color --log-append=false nogui
1) İlk olarak maksimum RAM miktarını değiştirmelisiniz. -Xmx8G kısmını, makinenizin toplam RAM miktarı - 1 veya - 2 olarak ayarlamanızı tavsiye ederim. Eğer değiştirmez iseniz "insufficient memory", "unable to launch jvm" veya "out of memory" tarzı hatalar alabilirsiniz.
2) İkinci olarak -jar LifeSpigot.jar kısmını değiştirmelisiniz. Buradaki LifeSpigot.jar kısmını sizde artık "spigot.jar" veya "craftbukkit.jar" olabilir, onun ile değiştirmelisiniz. Değiştirmez iseniz "unable to access jarfile LifeSpigot.jar" tarzı bir hata alabilirsiniz.
İlk olarak echo off dan sonraki satırda bulunan title Sunucu Yonetim Kontrol Paneli kısmını değiştirmeniz tavsiyem. Özellikle eğer BungeeCord kullanıyor ve bir çok sunucunun CMD penceresini aynanda açık olarak ekranda görünüyor iseniz hepsinin aynı başlığa sahip olması karışıklık çıkaracaktır. Hepsine "Faction Yonetim Kontrol Paneli" tarzı isimler verip ayırabilirsiniz. Örneğin verdiğim örmek için kod "title Faction Yonetim Kontrol Paneli" olmalı, iki tırnak işaretleri olmadan tabii. Bir de türkçe karakter kullanmamanız tavsiyem.
-Dlog4j.skipJansi=true: Eğer sunucu başlangıcında "WARN unable to insaniaite org.fusesource.jansi .." tarzı bir hata alıyor iseniz bu ayar onu kapatıyor. Altını çiziyorum çözmüyor, kapatıyor. Gereksiz bir uyarı mesajı sadece. Zaten -nojline ile JLine'ı kapatıyoruz.
Bu kısımı normal bir kullanıcı iseniz okumanıza gerek yok. Buraya kadar çok okudunuz bile, tebrikler Yinede okumak istiyorsanız okuyabilirsiniz, ekstra bilgi hiç bir zaman kötü değildir.
Bende bu kodlar hakkında herhangi bir garanti sağlamıyorum fakat kendi sunucumda uzun süredir kullandığımı ve bir çok sunucunun kullanıp memnun olduğunu söyleyebilirim.
-XX:+DisableExplicitGC: Bu ayar bu kod arasında en çok tartışma yaratacak kod belkide. RAM kullanımını yükselttiği doğrudur. Fakat RAM kullanımını yükselten bu değil. Zaten -Xms1M sayesinde 1MB ile başlayıp ihtiyacı olunca yükselmesini ayarlamıştık. Yani kısaca bu koddan sonra RAM kullanımı artar ise o sizin sunucunuzun yediği RAM'dir. Sadece eğer bu ayarı kaldırır iseniz o RAM sürekli azaltılmaya çalışır ve JVM uygulama taraflı gelen güvensiz GC isteklerini de işler, bu da daha fazla GC demek. Eğer React tarzı bir eklenti otomatik GC yapıyor ise ve bu donmalara neden olabiliyor ise bu kod onu çözecektir fakat RAM kullanımını arttıracaktır. Bu arada RAM kullanımının artmasının hiç bir zararı yok. JVM ihtiyacı olduğunda hala GC yapacaktır. Bu kod GC'yi kapatmaz sadece kullanıcı kodundan gelen GC isteklerini yoksayar, yani sadece gerçekten ihtiyacı olduğunda GC yapar. Buda RAM gerekmediği zaman yüksek kullanılır demek.
Tepkiler: BeyaZZenci, EMREOYUN, HypnosEmo ve 5 diğerleri
Loglar ne için siliniyor?
Tepkiler: CooLBeY ve alfem
Yer kaplamaması ve kirlilik oluşturmaması için siliniyor (kendi sunucumda önemli olayların kaydedildiği farklı loglar var) fakat eğer isterseniz kaldırabilirsiniz. Normalde başka eklentilere ait bazı geçici dosyalar da siliniyor du fakat bu eklentiler herkes de olmadığı için paylaşırken koddan kaldırma gereği duydum. Konuya eğer logların silinmesini istemiyorsanız kaldırın tarzı bir şey ekledim.
Tepkiler: HypnosEmo, ToprakM, alfem ve 1 diğer kullanıcı
Xms artık kullanılmıyor.
Tepkiler: EmreGozukara ve alfem
Mars, Merkez (Jüpiter Yakınları)
Katılıyorum Xms artık kullanılmıyor.
Java 8 kullanıyorum ve bende kullanılıyor herhangi bir hata yok. Java 9 veya 10'da kaldırıldıysa basitçe koddan -Xms kısmını kaldırabilirsiniz çünkü çoğunluk Java 8 kullanmakta. Kullanılmıyor dan kastınız gereksiz ise bana göre önemli bir etken.
Hata var yada yok demiyoruz bir işlev görmüyor, java 8'de kaldırıldı.
Java 8 kullanıyorum ayar işe yarıyor bende. Kaldırılan ayarlarda başlangıçta warning veriyor diye biliyorum. Perm size kaldırılmıştı ama xms'i bilmiyorum. Sunucunun 1MB ile başlayıp sadece ihtiyacı olduğunda ram kullanmasını sağlıyor o ayar.
eline sağlık sunucum olursa kullanırım
Tepkiler: alfem ve LifeMCServer
Localhost sunucularda da kullanabilirsin. Bunun client için yaptığım versiyonu vardı bu forumda paylaştım mı bilmiyorum bakarım şimdi
Tepkiler: HypnosEmo, ToprakM ve alfem
Allah razı olsun.Bende böyle bir şey arıyordum.İyi forumlar
Yorumun için teşekkürler, iyi forumlar.
Tepkiler: HypnosEmo ve ToprakM
Spoyler: Yeni Parametreler
-XX:+UnlockExperimentalVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCompressedOops -XX:+UseLWPSynchronization -XX:+OptimizeStringConcat
Spoyler: Yeni Parametreler İle Birlikte Optimize Edilmiş Kod
java -d64 -server -Xms1M -Xmx9G -XX:+UnlockExperimentalVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCompressedOops -XX:+UseLWPSynchronization -XX:+OptimizeStringConcat -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+UseLargePagesInMetaspace -XX:+AggressiveOpts -Dfile.encoding=UTF-8 -Duser.language=EN -Duser.country=US -Dpaper.playerconnection.keepalive=60 -jar PaperSpigot.jar -nojline -o false --log-strip-color --log-append=false nogui
del logs\*.* /q
Konuyu düzenleme yetkim olmadığı için, @edergo veya herhangi bir yetkiliden konuyu düzenlemesini, veya bana düzenleme yetkisi vermesini rica ediyorum.
yanlışın var abi Xms hala kullanılıyor örnek min 1024 max 4096 verdiğim sunucu min 1200 mb ramden aşağı inmiyor (centos 6.10 java latest)
Linux da bu flag dizesinde -nojline yön tuşlarının çalışmasını engelliyor. Konsoldan say 1 yazdınız diyelimki tekrar aynı şeyi yazmak istediğinizde yön tuşunu kullanarak yukarı bastığınızda yada aşaya bastığınızda çalışmadığını göreceksiniz. -nojline yi flaglardan çıkartırsanız problem kalmayacaktır. Paylaşım için teşekkürler linux içinde uyarlarsanız daha iyi olur.
JLine konsolu renklendirmek ve üst tuşuna basınca en son kullanılan komutu girdirmek (ayrıca komutun başında > işaretini göstermek) için Bukkit'in kullandığı bir kütüphane. Kapatmak sunucu performansını arttırdığından ve benim testlerime göre bir problem yaratmadığından dolayı koydum. Zaten bu başlatma kodlarını hiç bir zaman direk kopyalayıp alıp kullanmanızı tavsiye etmiyorum, her ayarı araştırıp ne işe yaradıklarını öğrenip öyle kullanın. Konuda "basitçe" açıklamaya çalıştım fakat araştırıp öğrenmeniz daha sağlıklı olur tabii.
Konu ve kod tamamıyla güncellendi!
10k görüntülenmiş bu post bi imzamız kalsın
Kendi sunucumda kullanıyorum tavsiye ederim.