Minecraft sunucusunda disk dolduğunda ilk refleks dünya dosyalarını silmek olmamalı. Neredeyse her vakada suçlu başka yerdedir: kontrolsüz büyüyen log arşivleri, aylardır duran crash raporları, üst üste binmiş yedekler ve eklentilerin ürettiği veritabanı dosyaları. Dünya klasörü genelde listenin ortalarında bir yerdedir.
Bu sayfada önce yeri kimin yediğini nasıl ölçeceğinizi, sonra hangi dosyaların güvenle silinebileceğini, en sonda da diskin bir daha dolmaması için ne yapmanız gerektiğini anlatıyoruz. Sıralamayı bozmayın; ölçmeden silinen dosya, geri gelmeyen dosyadır.
Önce Ölçün: Yeri Kim Yiyor?#
Tahminle silmeyin. İki komutla suçluyu bulursunuz. Linux tarafında klasör bazlı döküm için:
df -h
df -i
cd /opt/minecraft
du -h --max-depth=1 . | sort -h
du -sh world world_nether world_the_end
find . -type f -size +200M -exec ls -lh {} +
Windows tarafında aynı işi PowerShell yapar:
Get-PSDrive C
Get-ChildItem "C:\minecraft\server" -Directory |
Select-Object Name, @{n='GB';e={[math]::Round((Get-ChildItem $_.FullName -Recurse -File |
Measure-Object Length -Sum).Sum/1GB,2)}} | Sort-Object GB -Descending
df -i satırını atlamayın. Disk doluluğu normal görünüyor ama sunucu yazamıyorsa sebep alan değil inode tükenmesidir; canlı harita eklentilerinin ürettiği yüz binlerce küçük karo dosyası bunu tek başına yapabilir. Linux tarafında kaynak izlemeyi genişletmek isterseniz htop ve iotop rehberi işinizi görür.
Suçlu 1: logs Klasörü ve gzip Arşivleri#
Listenin başındaki isim neredeyse her zaman budur. Paper her yeniden başlatmada logs/latest.log dosyasını tarihli bir arşive dönüştürür: logs/2026-08-24-1.log.gz gibi. Bu arşivleri hiçbir zaman kendiliğinden silmez, yani günde bir restart yapan bir sunucuda klasör her gün büyür.
Asıl patlama, hata döngüsüne giren bir eklentiyle olur. Saniyede yüzlerce satır yazan bir istisna, tek gecede birkaç gigabayt log üretir. Böyle bir durumda dosyayı silmek yetmez, hatayı da bulmanız gerekir; log okuma rehberi hangi satırın önemli olduğunu ayırt etmeyi anlatıyor.
# Once neyin ne kadar yer kapladigina bak
du -sh logs
ls -lhS logs | head -20
# Arsivlenmis loglardaki hatalari sil(me)den once oku
zgrep -E '/(ERROR|FATAL)\]' logs/*.log.gz | tail -50
# 14 gunden eski arsivleri sil
find logs -name "*.log.gz" -mtime +14 -delete
debug.log üretmez; yalnızca logs/latest.log ve tarihli .log.gz arşivlerini yazar. Klasörde debug.log görüyorsanız Forge veya NeoForge tarafındasınız demektir, o kurulum kendi log yapılandırmasıyla gelir.Suçlu 2: crash-reports ve Eski Yedekler#
Sunucu her çöktüğünde crash-reports klasörüne bir metin dosyası bırakır. Tek başına küçüktür ama düzenli çöken bir sunucuda yüzlerce dosya birikir. Daha önemlisi, bu dosyalar okunmadan silinirse çökme sebebi de gitmiş olur.
Doğru sıra: son üç raporu okuyun, sebebi anlayın, sonra hepsini temizleyin. Raporun hangi bölümüne bakacağınız crash report okuma sayfasında anlatılıyor.
Çökme raporlarının bir de gizli maliyeti var: modlu sunucularda her rapor, o andaki mod listesini ve sistem bilgisini de yazdığı için tek dosya birkaç yüz kilobayta çıkabilir. Yüzlerce çökme yaşamış bir modpack sunucusunda klasör tek başına gigabaytları bulur.
Yedekler ise sessiz suçludur. Her gece alınan bir tar.gz yedeği, 6 GB’lık bir dünyada ayda 180 GB eder. Sunucu sahiplerinin yarısı yedek rotasyonu kurmadan yedekleme kuruyor; sonra disk dolunca ilk sildikleri şey yine yedekler oluyor.
# 7 gunden eski yedek arsivlerini sil
find /opt/yedek -name "yedek-*.tar.gz" -mtime +7 -delete
# Kac yedek kaldigini ve toplam boyutu gor
ls -1 /opt/yedek/yedek-*.tar.gz | wc -l
du -sh /opt/yedek
Suçlu 3: plugins Klasöründeki Veritabanları ve Harita Karoları#
plugins klasörü ilk bakışta birkaç jar dosyasından ibaret görünür. Asıl yük eklentilerin kendi alt klasörlerindedir ve iki isim öne çıkar.
CoreProtect veritabanı#
CoreProtect her blok değişimini kaydeder — kırılan her taş, açılan her sandık, konulan her eşya. Yoğun bir survival sunucusunda veritabanı birkaç ayda onlarca gigabayta çıkabilir. Yeni kurulumlar artık gömülü DuckDB kullanıyor; eski kurulumlar SQLite veya MySQL üzerinde kalmaya devam ediyor. Hangisinde olduğunuzu plugins/CoreProtect/config.yml içindeki database-type satırından görürsünüz.
Çözüm veritabanını silmek değil, saklama süresini kısaltmaktır. Eski kayıtları temizleyen purge işlemi tam olarak bunun için var; komutun sözdizimini ve sürümünüze uygunluğunu CoreProtect kurulum sayfasından ve eklentinin kendi belgelerinden doğrulayın. Purge öncesi veritabanı dosyasının yedeğini almak zorunlu, sunucunun boş olduğu bir saati seçmek ise şiddetle önerilir.
Canlı harita karoları#
Web tabanlı canlı harita eklentileri, dünyanın her bölgesi için ayrı ayrı görüntü karoları üretir. 10.000 blok yarıçaplı bir dünyanın tam render’ı yüz binlerce küçük dosya ve onlarca gigabayt anlamına gelir. Bu klasör güvenle silinebilir — silindiğinde harita boşalır, eklenti yeniden render eder.
Render boyutunu kalıcı olarak küçültmenin iki yolu var: render yarıçapını dünya sınırınızla eşitlemek ve en yüksek yakınlaştırma seviyesini bir kademe düşürmek. İkincisi disk kullanımını belirgin şekilde azaltır, oyuncuların çoğu farkı fark etmez bile.
Suçlu 4: Şişmiş Region Dosyaları ve Mod Önbelleği#
Dünya klasörü, oyuncular keşfe çıktıkça büyür ve küçülmez. Bir oyuncunun tek seferlik gezintisi kalıcı olarak yüzlerce yeni chunk üretir; o chunk’lara bir daha kimse uğramasa bile diskte durmaya devam eder.
Bir .mca bölge dosyası 32x32, yani 1024 chunk barındırır. Region klasöründeki dosya sayısını saymak size dünyanın gerçek genişliği hakkında hızlı bir fikir verir:
ls world/region/*.mca | wc -l
du -sh world/region world_nether/DIM-1/region world_the_end/DIM1/region
ls -lhS world/region/*.mca | head -10
Burada anlaşılması gereken bir davranış var: bölge dosyaları içleri boşalınca küçülmez. Bir oyuncu koca bir üssü yıksa bile o chunk’ın kapladığı alan diskte aynı kalır. Dosya formatı, silinen verinin yerini yeni veri için ayrılmış boşluk olarak tutar. Yani "oyuncular eski yapıları temizlesin, yer açılsın" beklentisi karşılık bulmaz; dünya klasörünü küçültmenin tek yolu chunk’ı tamamen kaldırmaktır.
Modlu sunucularda buna bir de önbellek klasörleri eklenir. Forge ve NeoForge kurulumlarında oluşan geçici veri ve indirilmiş kütüphane arşivleri birkaç gigabayt tutabilir. Bunların silinmesi güvenlidir; sunucu bir sonraki açılışta gerekeni yeniden oluşturur, sadece ilk açılış biraz uzun sürer.
Güvenle Silinebilecekler ve Asla Silinmeyecekler#
Aşağıdaki tabloyu temizlik yaparken açık tutun. Sağ sütunda "Hayır" yazan bir dosyayı sildiyseniz geri dönüş yolunuz sadece yedektir.
| Dosya / klasör | Silinebilir mi | Not |
|---|---|---|
logs/*.log.gz | Evet | 14 günden eskileri otomatik silin |
crash-reports/*.txt | Evet | Önce son üç raporu okuyun |
| Eski yedek arşivleri | Evet | Son bir yedeği yerelde bırakın |
| Canlı harita karo klasörü | Evet | Silinirse yeniden render edilir |
| Mod önbellek klasörleri | Evet | İlk açılış uzar, veri kaybı olmaz |
world/region/*.mca | Hayır | Dünyanın kendisi; sadece kontrollü trim |
world/level.dat | Hayır | Dünya ayarları ve spawn bilgisi |
world/playerdata | Hayır | Oyuncu envanterleri burada |
plugins/*.jar ve config’ler | Hayır | Silinirse eklenti ayarları sıfırlanır |
| Eklenti veritabanları | Hayır | Silmek yerine purge ile küçültün |
server.properties, ops.json | Hayır | Sunucu yapılandırması |
Log Rotasyonunu Ayarlamak#
Elle temizlik kısa vadeli bir çözümdür. İki ay sonra kimse hatırlamaz ve disk yeniden dolar. Kalıcı çözüm, temizliği zamanlanmış hâle getirmektir.
En basit yol, günlük çalışan tek satırlık bir temizlik görevidir:
# crontab -e ile ekleyin: her gece 04:00
0 4 * * * find /opt/minecraft/logs -name "*.log.gz" -mtime +14 -delete
15 4 * * * find /opt/yedek -name "yedek-*.tar.gz" -mtime +7 -delete
Windows tarafında aynı işi Görev Zamanlayıcı ile kurulmuş bir PowerShell betiği yapar; adımlar Görev Zamanlayıcı rehberinde. Cron sözdizimini hiç kullanmadıysanız cron job sayfasından başlayın.
Log üretiminin kendisini de azaltabilirsiniz. Paper’da ayrıntılı yapılandırma için kendi log4j2.xml dosyanızı verebilirsiniz:
java -Dlog4j.configurationFile=log4j2.xml -Xms10G -Xmx10G -jar paper-26.2-112.jar --nogui
Daha pratik bir kazanç ise spigot.yml içindeki gürültü ayarlarını kısmaktır; köylü ölümlerini ve komut kayıtlarını kapatmak günlük log hacmini gözle görülür şekilde düşürür.
Kalıcı Çözüm: Dünya Sınırı ve Chunk Temizliği#
Yukarıdaki adımlar size yer açar. Diskin bir daha dolmaması içinse dünyanın büyümesini durdurmanız gerekir ve bunun tek yolu sınır koymaktır.
worldborder center 0 0
worldborder set 20000
worldborder warning distance 100
Sınır koyduktan sonra sınırın dışında kalan chunk’ları temizleyebilirsiniz. Burada yaygın bir yanlış bilgiyi düzeltelim: /paper trim diye bir komut yoktur. Paper’ın komut listesinde böyle bir alt komut bulunmuyor. Doğru araçlar Chunky eklentisinin trim komutu (sunucu açıkken) ve MCA Selector (sunucu kapalıyken).
chunky trim world square 0 0 10000
# islem bitince:
stop
Adım adım budama prosedürü, InhabitedTime filtresi ve MCA Selector kullanımı dünya küçültme sayfasında anlatılıyor. Paper için doğru Chunky dosyasının Chunky-Bukkit-1.5.3.jar olduğunu da not edin; daha yeni görünen 1.5.4 sürümü yalnızca Forge ve NeoForge için yayınlandı.
MCA Selector’ün tek resmî kaynağı GitHub deposudur. Arama sonuçlarında üst sıralarda çıkan mcaselector.org ve mcaselector.com klon sitelerdir, oralardan indirmeyin.
Disk Dolduğunda Acil Müdahale Sırası#
Sunucu şu anda yazamıyorsa sıra şudur. Adımları atlamayın, özellikle ilkini.
-
Sunucuyu durdurun#
Konsoldan
save-all, ardındanstop. Dolu diskte çalışmaya devam eden sunucu bölge dosyası bozar. -
Log arşivlerini ve crash raporlarını temizleyin#
En hızlı ve en risksiz kazanç burada. Genelde birkaç gigabayt anında açılır.
du -sh logs crash-reports find logs -name "*.log.gz" -mtime +7 -delete -
Eski yedekleri uzak depoya taşıyın#
Silmeden önce taşıyın. Yedeği silip sonra dünya bozulması yaşamak, bu sayfanın en sık görülen kötü senaryosudur.
-
Harita karolarını ve önbelleği silin#
Canlı harita klasörü ve mod önbelleği yeniden üretilebilir veridir; gerekiyorsa gözünüzü kapatıp silin.
-
Sunucuyu açın ve kalıcı önlemi kurun#
Zamanlanmış temizlik görevi ve dünya sınırı olmadan aynı noktaya birkaç ay içinde geri dönersiniz.
spark health komutu TPS ve bellekle birlikte disk doluluğunu da tek ekranda gösterir; haftalık kontrol listenize ekleyin.Ne Zaman Disk Yükseltmeli?#
Temizlik her sorunu çözmez. Şu üç durumdan ikisi varsa yapılacak şey silmek değil, alan büyütmektir: dünya sınırınız zaten dar olduğu hâlde region klasörü sürekli büyüyorsa, birden fazla dünya ve modpack barındırıyorsanız, ya da yedekleri yerelde tutmak zorundaysanız.
Minecraft için disk tarafında iki kural değişmez: NVMe SSD ve modlu sunucuda en az 100 GB alan. Chunk okuma yazma gecikmesi doğrudan tick süresine yansıdığı için yavaş disk yalnızca yer sorunu değil, aynı zamanda bir performans sorunudur. Alan ihtiyacınız büyüdüyse VDS kaynak yükseltme sayfası ne zaman yükseltmeniz gerektiğini anlatıyor; NVMe tabanlı Minecraft sunucu paketleri arasından ihtiyacınıza uygun olanı seçebilirsiniz.
Özetle#
Minecraft sunucusunda disk dolduğunda sıralama nettir: önce ölçün, sonra silin. du ve df -i çıktısı size suçluyu ilk üç satırda gösterir ve o suçlu genelde log arşivleri, crash raporları, eski yedekler ya da eklenti veritabanı olur.
Silme konusunda tek bir çizgi var: yeniden üretilebilen her şey silinebilir, üretilemeyen hiçbirşey silinemez. Log, crash raporu, harita karosu ve önbellek yeniden üretilir. Region dosyaları, level.dat, oyuncu verileri ve eklenti veritabanları üretilemez.
Kalıcı çözüm iki parçadan oluşur: zamanlanmış temizlik görevi (log ve yedek rotasyonu) ve dünya sınırı. İkisini birlikte kurduğunuzda disk doluluğu bir daha gündeminize gelmez. Takıldığınız bir nokta olursa destek talebi açabilirsiniz.