Belirtiler: Sunucu beklenmedik davranıyor, ayarlar etkili olmuyor, config değişiklikleri kayboluyor veya bazı özellikler hiç çalışmıyor. Bu sorunların büyük kısmı hatalı yapılandırma dosyalarından (server.properties, spigot.yml, paper.yml, bukkit.yml) kaynaklanır.

Olası Nedenler

  • server.properties içinde anlamsız değerler girilmiş (max-players=0, view-distance=32 vb.)
  • spigot.yml ya da paper.yml YAML syntax hatası içerdiği için sunucu varsayılanlara düşüyor
  • Config değiştirildikten sonra sunucu tam yeniden başlatılmadı — /reload yetmez
  • Aynı ayar birden fazla dosyada tanımlı ve çakışıyor (örn. view-distance hem server.properties hem spigot.yml içinde)
  • YAML dosyasında tab karakteri kullanılmış — YAML yalnızca boşluk kabul eder
  • Yanlış dosya izinleri yüzünden sunucu dosyayı okuyamıyor veya yazamıyor

Adım Adım Çözüm

1. Adım

Yedeğini alıp server.properties içindeki değerleri hızlıca gözden geçirin. Çoğu sorun burada gizlidir

bash
cp server.properties server.properties.bak
grep -E "max-players|view-distance|simulation-distance|online-mode|server-port|level-name" server.properties

2. Adım

Tüm YAML dosyalarını syntax açısından doğrulayın. Tek bir hatalı boşluk sunucunun o dosyayı yok saymasına yol açar

bash
for f in *.yml plugins/*/config.yml; do python3 -c "import yaml,sys; yaml.safe_load(open(sys.argv[1]))" "$f" 2>&1 | head -3; done

3. Adım

Config değiştirdiğinizde sunucuyu TAM yeniden başlatın. /reload komutu server.properties değişikliklerini uygulamaz

bash
# screen oturumuna:
screen -S mc -X stuff "stop\n"
# pm2 ile:
pm2 restart minecraft

4. Adım

Çakışmayı tespit edin: aynı ayarı tüm config dosyalarında arayın

bash
grep -rn "view-distance" server.properties *.yml plugins/*/config.yml 2>/dev/null

5. Adım

YAML dosyalarında tab olup olmadığını kontrol edin

bash
grep -nP "\t" *.yml && echo "TAB bulundu — boşluğa çevirin" || echo "Temiz"

6. Adım

Dosya sahipliğini minecraft kullanıcısına verin. Root ile düzenlenen dosyalar ilerleyen kullanımda izin sorunu çıkarır

bash
chown -R minecraft:minecraft /home/minecraft/server/
find . -name "*.yml" -o -name "*.properties" | xargs chmod 644

7. Adım

Paper kullanıyorsanız config uyarılarını açık tutun — hatalı ayarları başlangıçta log'a yazar

bash
# config/paper-global.yml
misc:
  print-config-warnings: true

8. Adım

Plugin config'lerini doğrulamak için başlangıç sırasında loaded log satırlarını izleyin

bash
tail -f logs/latest.log | grep -iE "config|loaded|properties"