Minecraft Sunucu Başlatma Kodları ve RAM Optimizasyonu (Aikar's Flags)
Minecraft sunucularında ne kadar yüksek RAM miktarına sahip olursanız olun, Java'nın belleği temizleme mantığı (Garbage Collection) doğru yapılandırılmadıysa sunucuda her birkaç dakikada bir anlık donmalar (Spike Lag) yaşanır. Sunucunuzu başlattığınızstart.batveyabaslat.batdosyasını optimize etmek, bu donmaları kökten çözer. Dünyaca ünlü Aikar's Flags parametreleriyle doğru başlatma kodunu bu rehberde bulabilirsiniz.
1. Adım: Yanlış Başlatma Kodunun Zararları
Çoğu sunucu sahibi sunucusunu sadecejava -Xmx8G -Xms8G -jar server.jarkomutuyla başlatır. Bu kod Java'yı tamamen serbest bırakır. Java belleği doldurur ve ardından temizlemek için tüm sunucuyu saliseliğine durdurur (GC lag). Oyuncular bunu "Geri atma veya takılma" olarak hisseder.
2. Adım: Optimize Edilmiş Aikar's Başlatma Kodları
Sunucunuzun baslat.bat dosyasını sağ tıklayıp düzenleyin ve içerisindeki tüm kodları silerek sunucunuza atadığınız RAM miktarına göre aşağıdaki güncel kodları yapıştırın:
8 GB RAM Ayıran Sunucular İçin:
@echo off java -Xmx8G -Xms8G -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:InitiatingHeapProfilingPercent=45 -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 server.jar nogui pause
Not: Eğer sunucunuza 12 GB RAM verecekseniz kodun en başındaki-Xmx8G -Xms8Galanlarını-Xmx12G -Xms12Golarak değiştirmelisiniz. Ayrıcaserver.jaryazan kısmı kendi ana jar dosyanızın ismiyle (Örn: paper.jar) eşitleyin.
3. Adım: Kodun Sağladığı Avantajlar
- G1GC Aktifleştirme: Java'nın en kararlı ve Minecraft ile en uyumlu çöp toplama modülünü devreye sokar.
- Anlık Bellek Temizleme: RAM temizliğini sunucu boşken arka planda küçük parçalar halinde yapar, sunucunun donmasını engeller.
- İşlemci Önceliği: Java'nın işlemci çekirdeklerini daha dengeli kullanmasını sağlar.
Bu makale PvPSunucusu için özel olarak hazırlanmıştır.