Rehber 2026 Nesil Sunucu Optimizasyonu: Java 21 ve Core Dosya Rehberi

  • Konuyu Başlatan Konuyu Başlatan vProject
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 294

vProject

Bir Kömür Göründü Kaptanım!
Katılım
6 Şubat 2026
Mesajlar
138
Elmaslar
78
Puan
345
Yaş
21
Minecraft
Asmus1990

Discord:

asmus1990_

Modern Minecraft sürümleri (1.20.x - 1.21+) artık sadece RAM vererek kurtarılamayacak kadar ağırlaştı. Eğer TPS değerlerin oyuncu sayısı arttıkça düşüyorsa, sorun makinede değil, yapılandırmandadır. Bu rehberde JVM derinliklerinden başlayıp spigot.yml'nin en gizli ayarlarana kadar her şeyi optimize edeceğiz.

🛠 Bölüm 1: JVM ve Java 21 "God-Tier" Başlatma Kodları​

Java 21, Generational ZGC ile Minecraft dünyasında devrim yaptı. Eski tip G1GC ayarlarını (Aikar's Flags) unutun. 12GB RAM ve üzeri sunucular için "altın standart" şudur:

Bash:
java -Xms12G -Xmx12G -XX:+UseZGC -XX:+ZGenerational -XX:MaxGCPauseMillis=5 -XX:+UnlockDiagnosticVMOptions -XX:+DoEscapeAnalysis -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:CICompilerCount=4 -jar server.jar nogui

Neden Bu Parametreler?​

  • -XX:+ZGenerational: Nesneleri yaşlarına göre ayırır. Kısa ömürlü paket verilerini ana thread'i yormadan saniyeler içinde temizler.
  • -XX:MaxGCPauseMillis=5: Çöp toplama duraklamasını 5ms altına indirir. Oyuncu "anlık takılma" yaşamaz.
  • -XX:+DoEscapeAnalysis: Gereksiz objelerin RAM'e çıkmasını engeller, doğrudan işlemci seviyesinde işlenmesini sağlar.

⚙️ Bölüm 2:​

Bukkit dosyası, sunucunun ana limitlerini belirler. Burada yapılacak en ufak hata işlemciyi sömürür.

Kod:
settings:
  allow-end: true
  permissions-file: permissions.yml
  update-folder: update
  plugin-profiling: false
  connection-throttle: 4000
  query-plugins: false
  deprecated-verbose: false
  shutdown-message: Sunucu kapaniyor.

spawn-limits:
  monsters: 50  # (Varsayılan 70 gereksiz yüksek)
  animals: 8
  water-animals: 3
  ambient: 1

ticks-per:
  animal-spawns: 400
  monster-spawns: 5
  water-spawns: 400
  ambient-spawns: 400

chunk-gc:
  period-in-ticks: 600
Önemli: spawn-limits değerlerini düşürmek, TPS'i en çok rahatlatan işlemdir. Oyuncu deneyimini bozmadan canavar sayısını 50'ye çekmek CPU üzerindeki yükü %20 azaltır.

⚡ Bölüm 3:​

Spigot, özellikle entity (varlık) işleme konusunda en kritik ayarları barındırır.

Entity Activation Range (Varlık Aktivasyon Mesafesi)​

Bu ayar, bir canavarın kaç blok ötedeyken yapay zekasının çalışacağını belirler.

Kod:
entity-activation-range:
      animals: 16
      monsters: 24
      raiders: 32
      misc: 8
      tick-inactive-villagers: false # Köylü lagını bitiren ayar!

Merging Items (Yerdeki Eşyaları Birleştirme)​

Yerdeki eşyalar (drop) sunucuyu çok yorar. Bunları birleştirerek entity sayısını düşürün:
Kod:
merge-radius:
      item: 4.0
      exp: 6.0

Diğer Kritik Spigot Ayarları:​

  • mob-spawn-range: 6 (Oyuncunun 6 chunk ötesinde canavar doğmasın).
  • nerf-spawner-mobs: true (Spawner'dan çıkan canavarların yapay zekasını kapatır, lagı bitirir).
  • arrow-despawn-rate: 300 (Oklar yerde 15 saniye kalsın, 1 dakika değil).

💎 Bölüm 4: Paper / Purpur Özel Ayarları​

Eğer Paper veya Purpur kullanıyorsanız (ki kullanmalısınız), paper-world-defaults.yml içinde şu ayarı mutlaka yapın:

  • max-auto-save-chunks-per-tick: 6 (Dünya kaydedilirken yaşanan "Save Lag" olayını engeller).
  • prevent-moving-into-unloaded-chunks: true (Oyuncunun yüklenmemiş chunklara girip sunucuyu çökertmesini engeller).
  • anticheat.obfuscation.items.layered: true (Eğer hile koruması istiyorsanız, Engine 1 modu TPS dostudur).

🐧 Bölüm 5: İşletim Sistemi (Linux) Tweakleri​

Sunucunuzun Java ile daha hızlı konuşması için Linux çekirdeğine bir komut verelim:

Python:
echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

📝 Sonuç: Özet Kontrol Listesi​

  1. Java 21'e geç.
  2. ZGC flaglerini kullan.
  3. Entity aktivasyon mesafelerini daralt.
  4. Köylülerin yapay zekasını (inactive) kapat.
  5. Gereksiz entity limitlerini düşür.
Bu ayarlar ile 1.20.x tabanlı bir sunucuda 100+ oyuncuda dahi 20.0 TPS değerini korumak mümkündür. Unutmayın, en iyi makine bile kötü bir konfigürasyonu kurtaramaz!
 
güzel bir anlatım olmuş diğer konu fikri minecraft sunusunda hangi işletim sistemi olmalı olabilir
 
Harika bir rehber elinize sağlık 😍
 
tamamen ai ile hazırlanmış olmasına rağmen oldukça yetersiz kalmış. yapılması gerekenlerin belki sadece %20si falan yazılmış. başlangıç seviye/küçük sunucular için yeterli olacaktır, ideal
 
Harika bir rehber elinize sağlık 😍
Teşekkür ediyorum
tamamen ai ile hazırlanmış olmasına rağmen oldukça yetersiz kalmış. yapılması gerekenlerin belki sadece %20si falan yazılmış. başlangıç seviye/küçük sunucular için yeterli olacaktır, ideal
Başlangıç için açılan makaleler zaten kendi profesyonel yaptığım ayarları neden paylaşma gereği duyayım + olarak %25 ai yardımı ile yazıldı.
 
Bilgilendirmeler için teşekkürlerimi sunarım emeğinize sağlık
 
Modern Minecraft sürümleri (1.20.x - 1.21+) artık sadece RAM vererek kurtarılamayacak kadar ağırlaştı. Eğer TPS değerlerin oyuncu sayısı arttıkça düşüyorsa, sorun makinede değil, yapılandırmandadır. Bu rehberde JVM derinliklerinden başlayıp spigot.yml'nin en gizli ayarlarana kadar her şeyi optimize edeceğiz.

🛠 Bölüm 1: JVM ve Java 21 "God-Tier" Başlatma Kodları​

Java 21, Generational ZGC ile Minecraft dünyasında devrim yaptı. Eski tip G1GC ayarlarını (Aikar's Flags) unutun. 12GB RAM ve üzeri sunucular için "altın standart" şudur:

Bash:
java -Xms12G -Xmx12G -XX:+UseZGC -XX:+ZGenerational -XX:MaxGCPauseMillis=5 -XX:+UnlockDiagnosticVMOptions -XX:+DoEscapeAnalysis -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:CICompilerCount=4 -jar server.jar nogui

Neden Bu Parametreler?​

  • -XX:+ZGenerational: Nesneleri yaşlarına göre ayırır. Kısa ömürlü paket verilerini ana thread'i yormadan saniyeler içinde temizler.
  • -XX:MaxGCPauseMillis=5: Çöp toplama duraklamasını 5ms altına indirir. Oyuncu "anlık takılma" yaşamaz.
  • -XX:+DoEscapeAnalysis: Gereksiz objelerin RAM'e çıkmasını engeller, doğrudan işlemci seviyesinde işlenmesini sağlar.

⚙️ Bölüm 2:​

Bukkit dosyası, sunucunun ana limitlerini belirler. Burada yapılacak en ufak hata işlemciyi sömürür.

Kod:
settings:
  allow-end: true
  permissions-file: permissions.yml
  update-folder: update
  plugin-profiling: false
  connection-throttle: 4000
  query-plugins: false
  deprecated-verbose: false
  shutdown-message: Sunucu kapaniyor.

spawn-limits:
  monsters: 50  # (Varsayılan 70 gereksiz yüksek)
  animals: 8
  water-animals: 3
  ambient: 1

ticks-per:
  animal-spawns: 400
  monster-spawns: 5
  water-spawns: 400
  ambient-spawns: 400

chunk-gc:
  period-in-ticks: 600
Önemli: spawn-limits değerlerini düşürmek, TPS'i en çok rahatlatan işlemdir. Oyuncu deneyimini bozmadan canavar sayısını 50'ye çekmek CPU üzerindeki yükü %20 azaltır.

⚡ Bölüm 3:​

Spigot, özellikle entity (varlık) işleme konusunda en kritik ayarları barındırır.

Entity Activation Range (Varlık Aktivasyon Mesafesi)​

Bu ayar, bir canavarın kaç blok ötedeyken yapay zekasının çalışacağını belirler.

Kod:
entity-activation-range:
      animals: 16
      monsters: 24
      raiders: 32
      misc: 8
      tick-inactive-villagers: false # Köylü lagını bitiren ayar!

Merging Items (Yerdeki Eşyaları Birleştirme)​

Yerdeki eşyalar (drop) sunucuyu çok yorar. Bunları birleştirerek entity sayısını düşürün:
Kod:
merge-radius:
      item: 4.0
      exp: 6.0

Diğer Kritik Spigot Ayarları:​

  • mob-spawn-range: 6 (Oyuncunun 6 chunk ötesinde canavar doğmasın).
  • nerf-spawner-mobs: true (Spawner'dan çıkan canavarların yapay zekasını kapatır, lagı bitirir).
  • arrow-despawn-rate: 300 (Oklar yerde 15 saniye kalsın, 1 dakika değil).

💎 Bölüm 4: Paper / Purpur Özel Ayarları​

Eğer Paper veya Purpur kullanıyorsanız (ki kullanmalısınız), paper-world-defaults.yml içinde şu ayarı mutlaka yapın:

  • max-auto-save-chunks-per-tick: 6 (Dünya kaydedilirken yaşanan "Save Lag" olayını engeller).
  • prevent-moving-into-unloaded-chunks: true (Oyuncunun yüklenmemiş chunklara girip sunucuyu çökertmesini engeller).
  • anticheat.obfuscation.items.layered: true (Eğer hile koruması istiyorsanız, Engine 1 modu TPS dostudur).

🐧 Bölüm 5: İşletim Sistemi (Linux) Tweakleri​

Sunucunuzun Java ile daha hızlı konuşması için Linux çekirdeğine bir komut verelim:

Python:
echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

📝 Sonuç: Özet Kontrol Listesi​

  1. Java 21'e geç.
  2. ZGC flaglerini kullan.
  3. Entity aktivasyon mesafelerini daralt.
  4. Köylülerin yapay zekasını (inactive) kapat.
  5. Gereksiz entity limitlerini düşür.
Bu ayarlar ile 1.20.x tabanlı bir sunucuda 100+ oyuncuda dahi 20.0 TPS değerini korumak mümkündür. Unutmayın, en iyi makine bile kötü bir konfigürasyonu kurtaramaz!
Anlatımınız gerçekten güzel. Bilmeyen ve ufak çaplı sunucular için yardımcı bir konu olmuş, elinize sağlık. :super:
 
Modern Minecraft sürümleri (1.20.x - 1.21+) artık sadece RAM vererek kurtarılamayacak kadar ağırlaştı. Eğer TPS değerlerin oyuncu sayısı arttıkça düşüyorsa, sorun makinede değil, yapılandırmandadır. Bu rehberde JVM derinliklerinden başlayıp spigot.yml'nin en gizli ayarlarana kadar her şeyi optimize edeceğiz.

🛠 Bölüm 1: JVM ve Java 21 "God-Tier" Başlatma Kodları​

Java 21, Generational ZGC ile Minecraft dünyasında devrim yaptı. Eski tip G1GC ayarlarını (Aikar's Flags) unutun. 12GB RAM ve üzeri sunucular için "altın standart" şudur:

Bash:
java -Xms12G -Xmx12G -XX:+UseZGC -XX:+ZGenerational -XX:MaxGCPauseMillis=5 -XX:+UnlockDiagnosticVMOptions -XX:+DoEscapeAnalysis -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:CICompilerCount=4 -jar server.jar nogui

Neden Bu Parametreler?​

  • -XX:+ZGenerational: Nesneleri yaşlarına göre ayırır. Kısa ömürlü paket verilerini ana thread'i yormadan saniyeler içinde temizler.
  • -XX:MaxGCPauseMillis=5: Çöp toplama duraklamasını 5ms altına indirir. Oyuncu "anlık takılma" yaşamaz.
  • -XX:+DoEscapeAnalysis: Gereksiz objelerin RAM'e çıkmasını engeller, doğrudan işlemci seviyesinde işlenmesini sağlar.

⚙️ Bölüm 2:​

Bukkit dosyası, sunucunun ana limitlerini belirler. Burada yapılacak en ufak hata işlemciyi sömürür.

Kod:
settings:
  allow-end: true
  permissions-file: permissions.yml
  update-folder: update
  plugin-profiling: false
  connection-throttle: 4000
  query-plugins: false
  deprecated-verbose: false
  shutdown-message: Sunucu kapaniyor.

spawn-limits:
  monsters: 50  # (Varsayılan 70 gereksiz yüksek)
  animals: 8
  water-animals: 3
  ambient: 1

ticks-per:
  animal-spawns: 400
  monster-spawns: 5
  water-spawns: 400
  ambient-spawns: 400

chunk-gc:
  period-in-ticks: 600
Önemli: spawn-limits değerlerini düşürmek, TPS'i en çok rahatlatan işlemdir. Oyuncu deneyimini bozmadan canavar sayısını 50'ye çekmek CPU üzerindeki yükü %20 azaltır.

⚡ Bölüm 3:​

Spigot, özellikle entity (varlık) işleme konusunda en kritik ayarları barındırır.

Entity Activation Range (Varlık Aktivasyon Mesafesi)​

Bu ayar, bir canavarın kaç blok ötedeyken yapay zekasının çalışacağını belirler.

Kod:
entity-activation-range:
      animals: 16
      monsters: 24
      raiders: 32
      misc: 8
      tick-inactive-villagers: false # Köylü lagını bitiren ayar!

Merging Items (Yerdeki Eşyaları Birleştirme)​

Yerdeki eşyalar (drop) sunucuyu çok yorar. Bunları birleştirerek entity sayısını düşürün:
Kod:
merge-radius:
      item: 4.0
      exp: 6.0

Diğer Kritik Spigot Ayarları:​

  • mob-spawn-range: 6 (Oyuncunun 6 chunk ötesinde canavar doğmasın).
  • nerf-spawner-mobs: true (Spawner'dan çıkan canavarların yapay zekasını kapatır, lagı bitirir).
  • arrow-despawn-rate: 300 (Oklar yerde 15 saniye kalsın, 1 dakika değil).

💎 Bölüm 4: Paper / Purpur Özel Ayarları​

Eğer Paper veya Purpur kullanıyorsanız (ki kullanmalısınız), paper-world-defaults.yml içinde şu ayarı mutlaka yapın:

  • max-auto-save-chunks-per-tick: 6 (Dünya kaydedilirken yaşanan "Save Lag" olayını engeller).
  • prevent-moving-into-unloaded-chunks: true (Oyuncunun yüklenmemiş chunklara girip sunucuyu çökertmesini engeller).
  • anticheat.obfuscation.items.layered: true (Eğer hile koruması istiyorsanız, Engine 1 modu TPS dostudur).

🐧 Bölüm 5: İşletim Sistemi (Linux) Tweakleri​

Sunucunuzun Java ile daha hızlı konuşması için Linux çekirdeğine bir komut verelim:

Python:
echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

📝 Sonuç: Özet Kontrol Listesi​

  1. Java 21'e geç.
  2. ZGC flaglerini kullan.
  3. Entity aktivasyon mesafelerini daralt.
  4. Köylülerin yapay zekasını (inactive) kapat.
  5. Gereksiz entity limitlerini düşür.
Bu ayarlar ile 1.20.x tabanlı bir sunucuda 100+ oyuncuda dahi 20.0 TPS değerini korumak mümkündür. Unutmayın, en iyi makine bile kötü bir konfigürasyonu kurtaramaz!
Başlangıçta hata var ram parametrelirinin ilki en az kaç ram olacağı 2. si en fazla 12ye 12 yaparsan vds 16 ramse direk 12 yer 4 e 12 yaparsan 4 ram yer sunucu bu sayede makinen darboğaz yapmaz.

Bölüm 2 3 ve 4 zaten youtubede olan şeyler ve gereksiz bunların optimizeye etkisi olmaz işlemci ve ram kullanımına optimizesi olur sunucudaki pingi yada tpsi azaltacak şeyler evet ama 70 yerine 50 mob doğması çokta azaltmaz.

Bölüm 5 ise linux demişsin ancak linuxdan daha iyi işletim sistemleri ver. Ubuntu, debian gibi işletim sistemleri kurup pterodactly'e bağlamak daha performans taraflı.

Tamamiyle hatalı bir konu bence.
 

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