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 kurulumu
cp Multiverse-Core-4.3.12.jar /opt/minecraft/plugins/
systemctl restart minecraftEk 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ı
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:
| Komut | Açıklama | Örnek |
|---|---|---|
| /mv create <ad> <ortam> | Yeni dünya oluştur | /mv create skyblock NORMAL |
| /mv create <ad> <ortam> -g <generator> | Generator ile oluştur | /mv create void NORMAL -g CleanroomGenerator:. |
| /mv delete <ad> | Dünyayı sil | /mv delete eski_dunya |
| /mv import <ad> <ortam> | Mevcut dünyayı içe aktar | /mv import world_backup NORMAL |
| /mv load <ad> | Dünyayı yükle | /mv load survival |
| /mv unload <ad> | Dünyayı bellekten kaldır | /mv unload creative |
| /mv tp <dünya> | Dünyaya ışınlan | /mv tp skyblock |
| /mv list | Tüm dünyaları listele | /mv list |
| /mv info <ad> | Dünya bilgilerini göster | /mv info survival |
| /mv setspawn | Dünya spawn noktasını ayarla | /mv setspawn |
| /mv modify set <ayar> <değer> | Dünya ayarını değiştir | /mv modify set difficulty hard |
| /mv regen <ad> | Dünyayı yeniden oluştur | /mv regen skyblock |
| /mv clone <kaynak> <hedef> | 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
# 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: falseSpawn Ayarları
Her dünya için spawn noktası ve ilgili ayarları yapılandırabilirsiniz:
| Ayar | Komut | Açıklama |
|---|---|---|
| Spawn ayarla | /mv setspawn | Bulunduğunuz konumu spawn yapar |
| Spawn'a ışınlan | /mv spawn | Dünya spawn noktasına gider |
| Spawn bellekte tut | /mv modify set memory true | Spawn chunk'larını bellekte tutar |
| İlk giriş dünyası | /mv modify set firstspawnoverride true | Yeni oyuncuları bu dünyaya yönlendirir |
| Yatakla spawn | /mv modify set bedrespawn true | Yatak 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ı
| Komut | Açıklama | Örnek |
|---|---|---|
| /worldborder center <x> <z> | 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> <süre> | Kademeli sınır değişimi | /worldborder set 20000 3600 |
| /worldborder add <miktar> | Sınırı genişlet | /worldborder add 2000 |
| /worldborder damage amount <hasar> | Sınır dışı hasarı | /worldborder damage amount 0.5 |
| /worldborder damage buffer <mesafe> | Hasar başlangıç mesafesi | /worldborder damage buffer 5 |
| /worldborder warning distance <blok> | Uyarı mesafesi | /worldborder warning distance 50 |
| /worldborder warning time <sn> | Uyarı süresi | /worldborder warning time 15 |
| /worldborder get | Mevcut sınır bilgisi | /worldborder get |
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 pre-generation yarıçapı ayarla
/chunky world survival
/chunky center 0 0
/chunky radius 5000
/chunky startChunky 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 → İptalPre-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
#!/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:
Cron job ekle
# 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>&1Script'e çalıştırma izni vermeyi unutmayın:
Script'e çalıştırma izni ver
chmod +x /opt/minecraft/minecraft-backup.shDü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
# 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 tasarrufuChunk GC (Garbage Collection)
Kullanılmayan chunk'ların bellekten temizlenmesi, RAM kullanımını optimize eder:
# 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: 8Nether 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:
# plugins/Multiverse-NetherPortals/config.yml
worlds:
survival:
nether: survival_nether
end: survival_the_end
creative:
nether: creative_nether
end: creative_the_endEnd Dünyası Periyodik Resetleme
End dünyasını periyodik olarak resetlemek, Elytra ve Shulker Box ekonomisini dengede tutar:
#!/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')"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.datdosyasının olduğundan emin olun /mv import harita_ismi NORMALkomutu ile içe aktarın/mv tp harita_ismiile test edin
Dünya Dışa Aktarma
Dünyayı arşivle
cd /opt/minecraft
tar -czf survival_export.tar.gz survival/ --exclude=session.lockSık Sorulan Sorular
Dünya boyutu nasıl kontrol edilir?
Dünya boyutunu kontrol et
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:
Dünya chunk'larını yükselt ve önbelleği temizle
cd /opt/minecraft && java -jar paper.jar --forceUpgrade --eraseCache