Minecraft Plugin YAML Dosyaları: Hata Bulma ve Düzeltme Rehberi
Minecraft plugin'lerinin büyük çoğunluğu yapılandırma dosyalarını YAML formatında saklar. config.yml, messages.yml, ranks.yml... Bu dosyalarda yapılan küçük bir yazım hatası, plugin'in tamamen çalışmamasına yol açabilir. YAML hataları yeni sunucu yöneticilerinin en sık karşılaştığı ve en çok vakit kaybettiren sorunların başında gelir.
YAML Nedir?
YAML, "YAML Ain't Markup Language" kelimelerinin kısaltmasıdır. İnsan tarafından okunması kolay, girintiye dayalı bir veri serileştirme formatıdır. Minecraft dünyasında hemen hemen tüm plugin'ler bunu kullanır.
En Sık Yapılan YAML Hataları
- Sekme (Tab) kullanımı: YAML'da girintileme için sadece boşluk kullanılır. Tab karakteri geçersizdir ve parser hatasına yol açar.
- Yanlış girinti: Alt elemanlar üst elemandan tam 2 veya 4 boşluk içeride olmalı; tutarsız girinti geçersizdir.
- İki nokta üst üste sonrası boşluk:
anahtar:degeryerineanahtar: degerolmalı.
- Özel karakterler tırnak içinde değil:
:#&gibi karakterler değer olarak kullanılıyorsa tırnak içine alın.
- Türkçe karakter sorunu: Dosya UTF-8 olmayan bir kodlamayla kaydedilirse Türkçe karakterler bozulur.
Hata Tespiti: Konsol Log'u Okuma
Plugin çalışmıyorsa ilk bakılacak yer sunucu konsoludur. YAML hataları şöyle görünür:
[ERROR] Could not load 'plugins/PluginAdi/config.yml'
org.yaml.snakeyaml.scanner.ScannerException:
mapping values are not allowed here
in 'reader', line 47, column 15
Bu çıktıda 47. satır, 15. sütun yazdığına dikkat edin. Hemen o satırı inceleyin.
Online YAML Validator Kullanımı
Config dosyasının içeriğini kopyalayıp bir online YAML validator'a (yaml.me, codebeautify.org/yaml-validator gibi) yapıştırın. Hangi satırda hata var, neden geçersiz, detaylı açıklar.
Doğru YAML Editörü Kullanın
Not Defteri gibi basit editörler YAML için uygun değildir. Bunun yerine:
- VS Code: YAML extension ile syntax vurgulama ve hata işaretleme
- Notepad++: YAML dil desteğiyle girintileri gösterir
- Nano/Vim: Sunucuda terminal üzerinden düzenleme için
Sık Karşılaşılan Senaryo: Renk Kodu Sorunu
# YANLIŞ:
message: &aHoş geldin {PLAYER}!
# DOĞRU:
message: '&aHoş geldin {PLAYER}!'
& karakteri YAML'da özel anlam taşıyabilir; tek tırnak içine almak sorunu çözer.config.yml'yi Yanlışlıkla Bozdunuz mu?
Birçok plugin, birinci çalışmada
config.yml.bak veya config.yml.default dosyası oluşturur. Bunlar varsayılan ayarları içerir. Dosyayı tamamen bozduysanız silip sunucuyu yeniden başlatın; plugin default config'i yeniden oluşturur.Config dosyasını düzenlemeden önce her zaman yedeğini alın. Kopyalamak beş saniye alır; bir hatayı düzeltmek saatler.
Toplu Config Değişikliği
Çok sayıda plugin'in config'ini aynı anda değiştirmeniz gerekiyorsa (örneğin sunucu IP değişti), Linux'ta
grep ve sed komutları işinizi kolaylaştırır:
# Tüm yml dosyalarında "eski.ip" -> "yeni.ip" değiştir
grep -r "eski.ip" plugins/ --include="*.yml"
sed -i 's/eski.ip/yeni.ip/g' plugins/**/config.yml
💡 Etkileşim için giriş yap.