Ana içeriğe geç
Kategoriye Dön

Minecraft Sunucu Optimizasyonu: TPS ve Bellek Yönetimi

Paper/Purpur sunucu optimizasyonu, JVM flags, chunk loading ayarları ve plugin optimizasyonu rehberi.

Okuma süresi: 16 dk Oyun Sunucusu Kurulumları
minecraftpaperpurpurjvmtpsoptimizasyonchunk loadingplugin
Yazar
REXE Teknoloji Ağ ve Güvenlik Ekibi
Editör
REXE Teknoloji Teknik Yayın Editörü
İlk yayın
Son güncelleme

Giriş

Minecraft sunucu performansı TPS (Ticks Per Second) ile ölçülür. İdeal TPS değeri 20'dir ve bu değerin altına düşmesi gecikme, blok gecikmesi ve oyuncu deneyiminde bozulmaya neden olur. Bu rehberde Paper/Purpur sunucu yazılımları, JVM optimizasyonu, chunk loading ayarları ve plugin optimizasyonu ile Minecraft sunucunuzun performansını maksimize etmeyi anlatacağız.

Sunucu Yazılımı Seçimi

Paper vs Purpur vs Spigot

ÖzellikSpigotPaperPurpur
PerformansOrtaYüksekÇok Yüksek
Async Chunk LoadingHayırEvetEvet
Anti-XrayHayırEvetEvet
Ek YapılandırmaAzOrtaÇok
Plugin UyumluluğuYüksekYüksekYüksek

Performans odaklı sunucular için Paper veya Purpur önerilir. Purpur, Paper'ın fork'udur ve ek optimizasyon seçenekleri sunar.

Paper Kurulumu

hljs bash
mkdir ~/minecraft && cd ~/minecraft
wget -O paper.jar https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/latest/downloads/paper-1.21.4-latest.jar

JVM Flags Optimizasyonu

Aikar's Flags (Önerilen)

hljs bash
nano ~/minecraft/start.sh
hljs bash
#!/bin/bash
java -Xms8G -Xmx8G \
  -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 \
  -Dusing.aikars.flags=https://mcflags.emc.gs \
  -Daikars.new.flags=true \
  -jar paper.jar --nogui
hljs bash
chmod +x ~/minecraft/start.sh

JVM Flag Açıklamaları

FlagAçıklama
-Xms / -XmxMin/Max heap boyutu (aynı değer önerilir)
-XX:+UseG1GCG1 Garbage Collector kullan
-XX:MaxGCPauseMillis=200GC duraklamasını 200ms ile sınırla
-XX:+AlwaysPreTouchBelleği önceden ayır
-XX:G1NewSizePercent=30Young generation boyutu
-XX:G1HeapRegionSize=8MHeap bölge boyutu

-Xms ve -Xmx değerlerini aynı tutun. Farklı değerler GC performansını olumsuz etkiler. Toplam sunucu RAM'inin %70-80'ini ayırın.

Chunk Loading Optimizasyonu

paper-world-defaults.yml

hljs yaml
chunks:
  auto-save-interval: 6000
  delay-chunk-unloads-by: 10s
  entity-per-chunk-save-limit:
    arrow: 16
    ender_pearl: 8
    experience_orb: 16
    fireball: 8
    small_fireball: 8
    snowball: 8
  max-auto-save-chunks-per-tick: 6
  prevent-moving-into-unloaded-chunks: true

spigot.yml

hljs yaml
world-settings:
  default:
    view-distance: 6
    simulation-distance: 4
    mob-spawn-range: 4
    entity-activation-range:
      animals: 16
      monsters: 24
      raiders: 48
      misc: 8
      water: 8
      villagers: 16
      flying-monsters: 48
    tick-inactive-villagers: false
    nerf-spawner-mobs: true
    merge-radius:
      item: 3.5
      exp: 4.0

bukkit.yml

hljs yaml
spawn-limits:
  monsters: 30
  animals: 8
  water-animals: 3
  water-ambient: 3
  water-underground-creature: 3
  axolotls: 3
  ambient: 1
ticks-per:
  animal-spawns: 400
  monster-spawns: 4
  water-spawns: 400
  water-ambient-spawns: 400
  ambient-spawns: 400
  autosave: 6000

Plugin Optimizasyonu

Performans Etkileyen Pluginler

hljs bash
# Timings raporu oluştur (Paper)
/timings on
# 10 dakika bekle
/timings paste

Önerilen Optimizasyon Pluginleri

Pluginİşlev
SparkPerformans profiling
FarmControlÇiftlik entity limitleme
ClearLagEntity temizleme
ViewDistanceTweaksDinamik view distance
ChunkMasterChunk ön-yükleme

Plugin Sayısını Azaltma

  • Kullanılmayan pluginleri kaldırın
  • Benzer işlev gören pluginleri birleştirin
  • Her plugin'in TPS etkisini Spark ile ölçün
  • Ağır pluginleri alternatiflerle değiştirin

TPS İzleme

hljs bash
# Oyun içi TPS kontrolü
/tps

# Spark ile detaylı profiling
/spark profiler start
# 5 dakika bekle
/spark profiler stop
/spark profiler

TPS Değerlendirmesi

TPSDurum
20.0Mükemmel
18-19.9İyi
15-17.9Kabul edilebilir
10-14.9Kötü
<10Kritik

Bellek Yönetimi

RAM Tahsisi Rehberi

Oyuncu SayısıÖnerilen RAM
1-104 GB
10-306-8 GB
30-508-12 GB
50-10012-16 GB
100+16+ GB

GC Log Analizi

hljs bash
# GC loglarını etkinleştir
java -Xlog:gc*:file=gc.log:time,uptime,level,tags -jar paper.jar

# GC log analizi
grep "Pause" gc.log | tail -20

Sonuç

Minecraft sunucu optimizasyonu doğru sunucu yazılımı seçimi, JVM flags ayarları, chunk loading yapılandırması ve plugin yönetimi ile sağlanır. Düzenli TPS izleme ve Spark profiling ile performans sorunlarını tespit edip çözebilirsiniz. REXE VDS'in yüksek performanslı NVMe SSD ve güçlü CPU'ları ile Minecraft sunucunuz en iyi performansta çalışır.

Sık Sorulan Sorular

TPS nedir ve ideal değeri kaçtır?

TPS (Ticks Per Second) sunucunun saniyede kaç kez oyun durumunu güncellediğini gösterir. İdeal değer 20'dir.

Paper mı Purpur mu kullanmalıyım?

Her ikisi de iyi performans sunar. Purpur, Paper'ın fork'udur ve ek yapılandırma seçenekleri sunar. Daha fazla kontrol istiyorsanız Purpur tercih edin.

JVM flags neden önemlidir?

Doğru JVM flags, Garbage Collection performansını optimize eder ve TPS düşüşlerini önler. Aikar's Flags Minecraft için en yaygın kullanılan optimizasyondur.

View distance kaç olmalı?

Performans için 6-8 arası önerilir. Yüksek view distance daha fazla chunk yükler ve TPS'i düşürür.

Minecraft sunucusu için ne kadar RAM gerekli?

Oyuncu sayısına bağlıdır. 10 oyuncu için 4 GB, 30 oyuncu için 6-8 GB, 50+ oyuncu için 12+ GB önerilir.

İlgili Makaleler

Ağ TrafiğiGelen GbpsGiden Gbps