Aikar's Flags, PaperMC ekibinden Aikar tarafından hazırlanan, Java'nın G1 çöp toplayıcısını (Garbage Collector) Minecraft'ın kendine özgü bellek kullanım örüntüsüne göre ince ayarlayan bir JVM bayrak setidir.

Neden Var?

Java'nın varsayılan çöp toplayıcı ayarları genel amaçlı uygulamalar için tasarlanmıştır. Minecraft ise çok sayıda kısa ömürlü nesne (entity, chunk verisi vb.) üretir; varsayılan ayarlarla bu durum zaman zaman uzun "duraklama" (GC pause) anlarına, yani oyuncuların hissettiği ani takılmalara yol açar. Aikar's Flags bu duraklamaları en aza indirmeyi hedefler.

Bayraklar

-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

Bu satırı başlatma komutunuza, -jar'dan önce ekleyin.

Hâlâ geçerli mi? Evet — bu bayrak seti, G1GC kullanan orta ölçekli (yaklaşık 8-12 GB heap) sunucular için hâlâ iyi bir varsayılan kabul edilir. Sunucu yazılımınızın (Paper, Purpur vb.) resmi dokümantasyonunda farklı bir öneri varsa onu esas alın.

Ne Zaman Farklı Bir Yaklaşım Gerekir?

16 GB ve üzeri heap kullanan, ağır modpack veya çok dünyalı büyük sunucularda, düşük gecikmeli ZGC çöp toplayıcısı denenmeye değer olabilir. ZGC kullanacaksanız Aikar's Flags setinin tamamını kaldırmanız gerekir; G1 bayrakları ZGC ile birlikte çalışmaz.

Kör kör değiştirmeyin Hangi çöp toplayıcının sizin sunucunuzda daha iyi sonuç verdiğini tahminle değil, Spark gibi bir profiler ile ölçerek karar verin.

Genel optimizasyon adımları için sunucu optimizasyonu rehberimize, mevcut bir lag sorununu çözmek için TPS düşüklüğü rehberimize bakabilirsiniz.