# Dünya Yönetimine Giriş

Minecraft sunucularında dünya yönetimi, oyun deneyiminin temelini oluşturur. Farklı oyun modları için ayrı dünyalar, dünya sınırları, performans için pre-generation ve veri güvenliği için yedekleme — tüm bunlar profesyonel bir sunucu için zorunludur.

Bu rehberde Multiverse-Core ile çoklu dünya yönetimi, WorldBorder/Chunky ile sınır ve pre-generation, otomatik yedekleme scriptleri ve dünya optimizasyonu konularını detaylı olarak ele alacağız.

# Multiverse-Core Kurulumu

Multiverse-Core, Minecraft sunucularında birden fazla dünya oluşturup yönetmenizi sağlayan en popüler eklentidir.

Multiverse-Core JAR dosyasını plugins/ klasörüne koyun

Multiverse-Core kurulumu

Örnek: cp Multiverse-Core-4.3.12.jar /opt/minecraft/plugins/ systemctl restart minecraft

Ek olarak Multiverse-Portals (dünyalar arası portal) ve Multiverse-NetherPortals (Nether/End portal yönetimi) eklentilerini de kurmanız önerilir.

  • Multiverse-Core — Temel dünya yönetimi (oluşturma, silme, ayarlar)
  • Multiverse-Portals — Dünyalar arası özel portallar
  • Multiverse-NetherPortals — Nether ve End portal bağlantıları
  • Multiverse-Inventories — Dünya bazlı envanter ayrımı
Bilgi:
Multiverse-Inventories, farklı dünyalarda farklı envanter tutulmasını sağlar. Örneğin Survival envanteri Creative dünyasına taşınmaz.

# Dünya Oluşturma ve Yönetim Komutları

Multiverse-Core ile dünya yönetimi için kullanılan temel komutlar aşağıdaki tabloda özetlenmiştir:

KomutAçıklamaÖrnek
/mv create Yeni dünya oluştur/mv create skyblock NORMAL
/mv create -g Generator ile oluştur/mv create void NORMAL -g CleanroomGenerator:.
/mv delete Dünyayı sil/mv delete eski_dunya
/mv import Mevcut dünyayı içe aktar/mv import world_backup NORMAL
/mv load Dünyayı yükle/mv load survival
/mv unload Dünyayı bellekten kaldır/mv unload creative
/mv tp Dünyaya ışınlan/mv tp skyblock
/mv listTüm dünyaları listele/mv list
/mv info Dünya bilgilerini göster/mv info survival
/mv setspawnDünya spawn noktasını ayarla/mv setspawn
/mv modify set Dünya ayarını değiştir/mv modify set difficulty hard
/mv regen Dünyayı yeniden oluştur/mv regen skyblock
/mv clone Dünyayı klonla/mv clone survival survival_backup

# Dünya Ayarları

Her dünya için oyun modu, zorluk, hava durumu gibi ayarları ayrı ayrı yapılandırabilirsiniz:

# Oyun Modu ve Zorluk

yaml
# plugins/Multiverse-Core/worlds.yml — Dünya ayarları
worlds:
  survival:
    environment: NORMAL
    generator: DEFAULT
    gameMode: SURVIVAL
    difficulty: HARD
    pvp: true
    hunger: true
    keepSpawnInMemory: true
    allowFlight: false
    autoHeal: true
    animals:
      spawn: true
      rate: 1
    monsters:
      spawn: true
      rate: 1
  creative:
    environment: NORMAL
    gameMode: CREATIVE
    difficulty: PEACEFUL
    pvp: false
    hunger: false
    keepSpawnInMemory: false
    allowFlight: true
    animals:
      spawn: true
    monsters:
      spawn: false

# Spawn Ayarları

Her dünya için spawn noktası ve ilgili ayarları yapılandırabilirsiniz:

AyarKomutAçıklama
Spawn ayarla/mv setspawnBulunduğunuz konumu spawn yapar
Spawn'a ışınlan/mv spawnDünya spawn noktasına gider
Spawn bellekte tut/mv modify set memory trueSpawn chunk'larını bellekte tutar
İlk giriş dünyası/mv modify set firstspawnoverride trueYeni oyuncuları bu dünyaya yönlendirir
Yatakla spawn/mv modify set bedrespawn trueYatak spawn noktasını kullan

# WorldBorder ve Dünya Sınırları

Dünya sınırları, sunucu performansı için kritik öneme sahiptir. Sınırsız dünya = sınırsız chunk üretimi = artan disk ve RAM kullanımı. Her dünya için makul bir sınır belirleyin.

# Vanilla WorldBorder Komutları

KomutAçıklamaÖrnek
/worldborder center Sınır merkezini ayarla/worldborder center 0 0
/worldborder set <çap>Sınır çapını ayarla (blok)/worldborder set 10000
/worldborder set <çap> Kademeli sınır değişimi/worldborder set 20000 3600
/worldborder add Sınırı genişlet/worldborder add 2000
/worldborder damage amount Sınır dışı hasarı/worldborder damage amount 0.5
/worldborder damage buffer Hasar başlangıç mesafesi/worldborder damage buffer 5
/worldborder warning distance Uyarı mesafesi/worldborder warning distance 50
/worldborder warning time Uyarı süresi/worldborder warning time 15
/worldborder getMevcut sınır bilgisi/worldborder get
İpucu:
Survival dünya için 10.000-20.000 blok çap makul bir sınırdır. Bu, 5.000-10.000 blok yarıçap anlamına gelir ve yeterli keşif alanı sunar.

# Chunky ile Pre-Generation

Pre-generation (ön üretim), dünya chunk'larını oyuncular keşfetmeden önce oluşturur. Bu sayede oyuncular yeni bölgelere gittiğinde sunucu anlık chunk üretimi yapmak zorunda kalmaz ve TPS düşüşü yaşanmaz.

/chunky radius <yarıçap>

Chunky pre-generation yarıçapı ayarla

Örnek: /chunky world survival /chunky center 0 0 /chunky radius 5000 /chunky start
text
Chunky Komut Sırası:
1. /chunky world <dünya>       → Hedef dünyayı seç
2. /chunky center <x> <z>     → Merkez koordinatı
3. /chunky radius <blok>      → Yarıçap (blok cinsinden)
4. /chunky shape <şekil>      → square veya circle
5. /chunky start              → Pre-generation başlat
6. /chunky pause              → Duraklatma
7. /chunky continue           → Devam ettirme
8. /chunky cancel             → İptal
Uyarı:
Pre-generation yoğun CPU ve disk kullanımı yaratır. Oyuncular sunucuda yokken veya düşük yoğunluklu saatlerde çalıştırın. 10.000 blok yarıçap, dünya boyutuna bağlı olarak saatler sürebilir.

Pre-generation sonrası disk kullanımı önemli ölçüde artacaktır. Aşağıdaki tablo yaklaşık değerleri gösterir:

Yarıçap (blok)Chunk Sayısı (kare)Yaklaşık Boyut
1.000~3.900~500 MB
2.500~24.400~3 GB
5.000~97.600~12 GB
10.000~390.600~45 GB
20.000~1.562.500~160 GB

# Otomatik Yedekleme

Dünya verilerini düzenli olarak yedeklemek, veri kaybını önlemenin en etkili yoludur. Aşağıda bir bash yedekleme scripti ve cron yapılandırması bulunmaktadır.

# Yedekleme Scripti

bash
#!/bin/bash
# minecraft-backup.sh — Otomatik dünya yedekleme scripti

# Ayarlar
SERVER_DIR="/opt/minecraft"
BACKUP_DIR="/opt/backups/minecraft"
DATE=$(date +%Y-%m-%d_%H-%M)
RETENTION_DAYS=7
SCREEN_NAME="minecraft"

# Yedekleme klasörünü oluştur
mkdir -p "$BACKUP_DIR"

# Sunucuya otomatik kaydetme bildirimi
screen -S $SCREEN_NAME -p 0 -X stuff "say §6Yedekleme başlıyor, kısa bir gecikme olabilir...$(printf '\r')"
screen -S $SCREEN_NAME -p 0 -X stuff "save-off$(printf '\r')"
screen -S $SCREEN_NAME -p 0 -X stuff "save-all$(printf '\r')"
sleep 5

# Dünyaları sıkıştır
cd "$SERVER_DIR"
tar -czf "$BACKUP_DIR/worlds_$DATE.tar.gz" \
  world/ world_nether/ world_the_end/ \
  survival/ creative/ skyblock/ \
  --exclude='*.tmp' --exclude='session.lock'

# Kaydetmeyi tekrar aç
screen -S $SCREEN_NAME -p 0 -X stuff "save-on$(printf '\r')"
screen -S $SCREEN_NAME -p 0 -X stuff "say §aYedekleme tamamlandı!$(printf '\r')"

# Eski yedekleri temizle
find "$BACKUP_DIR" -name "worlds_*.tar.gz" -mtime +$RETENTION_DAYS -delete

echo "[$DATE] Yedekleme tamamlandı: $BACKUP_DIR/worlds_$DATE.tar.gz"

# Cron ile Zamanlama

Scripti cron ile otomatik çalıştırmak için:

crontab -e

Cron job ekle

Örnek: # Her gün saat 04:00'te yedekleme 0 4 * * * /opt/minecraft/minecraft-backup.sh >> /var/log/mc-backup.log 2>&1 # Her 6 saatte bir yedekleme 0 */6 * * * /opt/minecraft/minecraft-backup.sh >> /var/log/mc-backup.log 2>&1

Script'e çalıştırma izni vermeyi unutmayın:

chmod +x /opt/minecraft/minecraft-backup.sh

Script'e çalıştırma izni ver

Örnek: chmod +x /opt/minecraft/minecraft-backup.sh
İpucu:
Yedekleri aynı diskte tutmak yerine farklı bir disk veya uzak sunucuya (rsync, rclone) aktarın. Disk arızasında tüm verinizi kaybedebilirsiniz.

# Dünya Optimizasyonu

Dünya ayarları, sunucu performansını doğrudan etkiler. Özellikle entity (varlık) yönetimi ve chunk işlemleri optimize edilmelidir.

# Entity Limitleri

yaml
# bukkit.yml — Entity spawn limitleri
spawn-limits:
  monsters: 50        # Varsayılan: 70
  animals: 8           # Varsayılan: 10
  water-animals: 3     # Varsayılan: 5
  water-ambient: 10    # Varsayılan: 20
  water-underground-creature: 3  # Varsayılan: 5
  axolotls: 3          # Varsayılan: 5
  ambient: 1           # Varsayılan: 15

ticks-per:
  animal-spawns: 400   # Varsayılan: 400
  monster-spawns: 4    # Varsayılan: 1 — artırarak CPU tasarrufu

# Chunk GC (Garbage Collection)

Kullanılmayan chunk'ların bellekten temizlenmesi, RAM kullanımını optimize eder:

yaml
# paper-world-defaults.yml (Paper 1.19+)
chunks:
  max-auto-save-chunks-per-tick: 8
  auto-save-interval: 6000     # 5 dakikada bir
  delay-chunk-unloads-by: 10s  # Chunk unload gecikmesi
  prevent-moving-into-unloaded-chunks: true
  entity-per-chunk-save-limit:
    arrow: 16
    ender_pearl: 8
    experience_orb: 16
    fireball: 8
    snowball: 8
    small_fireball: 8

# Nether ve End Yönetimi

Nether ve End dünyaları özel dikkat gerektirir. Bu dünyaların sınırlandırılması ve düzenli resetlenmesi önemlidir.

# Multiverse ile Nether/End Bağlantıları

Multiverse-NetherPortals eklentisi ile Nether ve End portal bağlantılarını yönetebilirsiniz:

yaml
# plugins/Multiverse-NetherPortals/config.yml
worlds:
  survival:
    nether: survival_nether
    end: survival_the_end
  creative:
    nether: creative_nether
    end: creative_the_end

# End Dünyası Periyodik Resetleme

End dünyasını periyodik olarak resetlemek, Elytra ve Shulker Box ekonomisini dengede tutar:

bash
#!/bin/bash
# end-reset.sh — End dünyasını sıfırlama scripti
SERVER_DIR="/opt/minecraft"
SCREEN_NAME="minecraft"

# Oyuncuları uyar
screen -S $SCREEN_NAME -p 0 -X stuff "say §c[!] End dünyası 5 dakika içinde sıfırlanacak!$(printf '\r')"
sleep 300

# End'deki oyuncuları spawn'a ışınla
screen -S $SCREEN_NAME -p 0 -X stuff "mv tp survival world_the_end$(printf '\r')"
sleep 5

# Dünyayı kaldır ve sil
screen -S $SCREEN_NAME -p 0 -X stuff "mv unload world_the_end$(printf '\r')"
sleep 3
screen -S $SCREEN_NAME -p 0 -X stuff "mv delete world_the_end$(printf '\r')"
screen -S $SCREEN_NAME -p 0 -X stuff "mv confirm$(printf '\r')"
sleep 5

# Yeniden oluştur
screen -S $SCREEN_NAME -p 0 -X stuff "mv create world_the_end THE_END$(printf '\r')"
sleep 10

screen -S $SCREEN_NAME -p 0 -X stuff "say §aEnd dünyası sıfırlandı! İyi keşifler.$(printf '\r')"
Uyarı:
End resetlemeden önce oyuncuları End'den çıkarmayı unutmayın. Aksi takdirde envanterlerini kaybedebilirler.

# Dünya İçe/Dışa Aktarma

Mevcut dünyaları sunucuya aktarmak veya sunucudan dışa aktarmak için aşağıdaki adımları izleyin:

# Dünya İçe Aktarma

  • Dünya klasörünü sunucu ana dizinine kopyalayın (ör: /opt/minecraft/harita_ismi/)
  • Klasör içinde level.dat dosyasının olduğundan emin olun
  • /mv import harita_ismi NORMAL komutu ile içe aktarın
  • /mv tp harita_ismi ile test edin

# Dünya Dışa Aktarma

tar -czf dunya.tar.gz <dünya_klasörü>/

Dünyayı arşivle

Örnek: cd /opt/minecraft tar -czf survival_export.tar.gz survival/ --exclude=session.lock

# Sık Sorulan Sorular

# Dünya boyutu nasıl kontrol edilir?

du -sh <dünya_klasörü>/

Dünya boyutunu kontrol et

Örnek: du -sh /opt/minecraft/survival/ du -sh /opt/minecraft/world_nether/ du -sh /opt/minecraft/world_the_end/

# Bozuk chunk nasıl onarılır?

Bozuk chunk'lar MCA Selector aracı veya --forceUpgrade parametresi ile onarılabilir. Ancak önce mutlaka yedek alın:

java -jar server.jar --forceUpgrade --eraseCache

Dünya chunk'larını yükselt ve önbelleği temizle

Örnek: cd /opt/minecraft && java -jar paper.jar --forceUpgrade --eraseCache
Dünya Yönetimi Desteği

Multiverse kurulumu, dünya optimizasyonu ve yedekleme altyapısı için profesyonel destek alın. Destek Talebi

Bu rehber faydalı oldu mu?

Sunucunuzdaki spesifik probleme çözüm arıyorsanız bize yazın. Her destek talebi yeni bir rehberin başlangıcı olabilir.

WhatsApp