Minecraft Sunucu Optimizasyonu: TPS ve Bellek Yönetimi
Paper/Purpur sunucu optimizasyonu, JVM flags, chunk loading ayarları ve plugin optimizasyonu rehberi.
İç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
| Özellik | Spigot | Paper | Purpur |
|---|---|---|---|
| Performans | Orta | Yüksek | Çok Yüksek |
| Async Chunk Loading | Hayır | Evet | Evet |
| Anti-Xray | Hayır | Evet | Evet |
| Ek Yapılandırma | Az | Orta | Çok |
| Plugin Uyumluluğu | Yüksek | Yüksek | Yüksek |
Performans odaklı sunucular için Paper veya Purpur önerilir. Purpur, Paper'ın fork'udur ve ek optimizasyon seçenekleri sunar.
Paper Kurulumu
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)
nano ~/minecraft/start.sh
#!/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
chmod +x ~/minecraft/start.sh
JVM Flag Açıklamaları
| Flag | Açıklama |
|---|---|
| -Xms / -Xmx | Min/Max heap boyutu (aynı değer önerilir) |
| -XX:+UseG1GC | G1 Garbage Collector kullan |
| -XX:MaxGCPauseMillis=200 | GC duraklamasını 200ms ile sınırla |
| -XX:+AlwaysPreTouch | Belleği önceden ayır |
| -XX:G1NewSizePercent=30 | Young generation boyutu |
| -XX:G1HeapRegionSize=8M | Heap 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
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
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
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
# Timings raporu oluştur (Paper)
/timings on
# 10 dakika bekle
/timings paste
Önerilen Optimizasyon Pluginleri
| Plugin | İşlev |
|---|---|
| Spark | Performans profiling |
| FarmControl | Çiftlik entity limitleme |
| ClearLag | Entity temizleme |
| ViewDistanceTweaks | Dinamik view distance |
| ChunkMaster | Chunk ö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
# Oyun içi TPS kontrolü
/tps
# Spark ile detaylı profiling
/spark profiler start
# 5 dakika bekle
/spark profiler stop
/spark profiler
TPS Değerlendirmesi
| TPS | Durum |
|---|---|
| 20.0 | Mükemmel |
| 18-19.9 | İyi |
| 15-17.9 | Kabul edilebilir |
| 10-14.9 | Kötü |
| <10 | Kritik |
Bellek Yönetimi
RAM Tahsisi Rehberi
| Oyuncu Sayısı | Önerilen RAM |
|---|---|
| 1-10 | 4 GB |
| 10-30 | 6-8 GB |
| 30-50 | 8-12 GB |
| 50-100 | 12-16 GB |
| 100+ | 16+ GB |
GC Log Analizi
# 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.
İlgili Makaleler
FiveM Sunucusu Kurulumu: VDS'de Adım Adım Rehber
REXE VDS üzerinde FiveM sunucusu kurulumu, txAdmin yapılandırması, port ayarları ve performans optimizasyonu. GTA V roleplay sunucunuzu dakikalar içinde kurun.
Minecraft Sunucusu Kurulumu: Paper ile Adım Adım Rehber
REXE VDS üzerinde Paper/Spigot Minecraft sunucusu kurulumu, Java ayarları, plugin yönetimi ve performans optimizasyonu. Kendi Minecraft sunucunuzu kurun.
CS2 Sunucusu Kurulumu: SteamCMD ile Adım Adım Rehber
REXE VDS üzerinde Counter-Strike 2 dedicated sunucu kurulumu, SteamCMD, GSLT token ve sunucu yapılandırması. CS2 sunucunuzu hızlıca kurun.