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

İçindekiler

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.