server.jar, Minecraft sunucusunun tamamını taşıyan Java arşividir: oyun döngüsünü (tick) çalıştırır, oyuncuların bağlandığı 25565/TCP portunu dinler, dünyayı üretir ve diske yazar. Tek bir dosyadır ama bulunduğu klasörü sunucunun çalışma dizinine dönüştürür — ilk çalıştırmadan sonra yanında beliren eula.txt, server.properties, ops.json ve world/ gibi her şeyi o üretir.
Bu sayfa, sunucu klasörünüzdeki dosyaların tek tek ne işe yaradığını, hangisinin düzenlenebileceğini ve hangisinin silinmesi hâlinde ne kaybedeceğinizi anlatıyor. 26.1 ile dünya klasörü yapısı kökten değiştiği için o bölümü ayrıca ele aldık; internetteki rehberlerin çoğu hâlâ eski yolu gösteriyor.
Sıfırdan kurulum yapıyorsanız önce Minecraft sunucu kurulumu rehberini izleyin; hangi jar’ı nereden indireceğinizi indirme merkezi sayfasında topladık.
server.jar Ne Yapar?#
Jar dosyası aslında bir zip arşividir: içinde derlenmiş Java sınıfları, oyun verileri ve kaynak dosyaları bulunur. Java sanal makinesi bu arşivi açar ve içindeki ana sınıfı çalıştırır. Sunucu jar’ının bir launcher’ı yoktur; nasıl çalışacağını tamamen sizin verdiğiniz komut belirler.
java -Xms6G -Xmx6G -jar server.jar nogui
Komuttaki üç parça şunu yapar: -Xms ve -Xmx Java heap’inin alt ve üst sınırını verir (daima eşit yazılır), -jar çalıştırılacak arşivi belirtir, sondaki nogui ise sunucunun küçük grafik konsol penceresini açmasını engeller. Sunucuda nogui yazmak standarttır; pencere gereksiz bellek harcar.
Jar’ın çalışma dizini, komutu çalıştırdığınız klasördür — jar’ın durduğu klasör değil. Aradaki fark küçük görünür ama sonucu büyüktür: yanlış dizinden başlattığınızda sunucu, dünyayı ve ayar dosyalarını olmadık bir yerde üretir ve “dünyam kayboldu” diye başlayan destek talepleri genelde bu yüzden açılıyor. Başlatma betiğini daima sunucu klasörünün içinde tutun.
Güncel vanilla jar tek başına sunucu değildir, bir paketleyicidir. İlk çalıştırıldığında içindeki gerçek sunucu dosyalarını libraries/ ve versions/ klasörlerine açar, sonra asıl sunucuyu başlatır. Bu yüzden ilk açılıştan sonra klasörde beklemediğiniz iki dizin görürsünüz. Paper de benzer bir yol izler.
Hangi jar’ı kullandığınız da bu klasörün nasıl görüneceğini belirler. Resmî Mojang jar’ı saf oyun davranışı verir; Paper eklenti desteği ve ek yapılandırma dosyaları getirir; Forge veya NeoForge kurduğunuzda ise klasör tamamen başka bir düzene oturur.
-
Eclipse Temurin JDK 25LTS · Zorunluİndir
-
Resmî Minecraft server.jarİndir
-
Paper 26.2Eklenti desteğiİndir
Bağlantılar resmî kaynaklara gider. Üçüncü taraf “hızlı indirme” sitelerinden sunucu jar’ı almayın; bu dosyalarda zararlı kod bulunma riski yüksektir.
İlk Çalıştırmada Ne Olur?#
Sunucuyu ilk kez başlattığınızda kapandığını görürsünüz. Bu bir hata değil: jar önce eula.txt dosyasını üretir, lisansın kabul edilmediğini görür ve konsola şu satırı basıp durur — “You need to agree to the EULA in order to run the server”. Dosyanın içeriği şudur:
#By changing the setting below to TRUE you are indicating your agreement to our EULA.
#Mon Aug 24 21:14:03 TRT 2026
eula=false
Değeri true yapıp kaydedin ve sunucuyu yeniden başlatın. İkinci açılışta dünya üretilir, ayar ve yetki dosyaları oluşur, konsolda Done satırı belirir. Bu adımda takılıyorsanız EULA hatası sayfasında tüm varyantları anlattık.
Oluşan Dosyaların Tam Listesi#
İkinci açılıştan sonra klasörünüz aşağıdaki gibi görünür. Bazı satırlar yalnızca belirli çekirdeklerde bulunur:
sunucu-klasoru/
├── server.jar
├── eula.txt
├── server.properties
├── ops.json
├── whitelist.json
├── banned-players.json
├── banned-ips.json
├── usercache.json
├── server-icon.png (isteğe bağlı, siz koyarsınız)
├── logs/
│ ├── latest.log
│ └── 2026-08-24-1.log.gz
├── libraries/ (jar kendisi açar)
├── versions/ (jar kendisi açar)
├── world/
├── plugins/ (Paper, Spigot, Bukkit)
└── mods/ (Forge, NeoForge, Fabric)
| Dosya / klasör | Ne yapar | Elle düzenlenir mi |
|---|---|---|
eula.txt | Lisans onayını tutar | Evet, bir kez |
server.properties | Port, MOTD, oyun modu, mesafe ayarları | Evet |
ops.json | Operatör listesi ve yetki seviyeleri | Tercihen konsoldan |
whitelist.json | Beyaz listeye alınmış oyuncular | Tercihen konsoldan |
banned-players.json | Yasaklı oyuncular, sebep ve süre | Tercihen konsoldan |
banned-ips.json | Yasaklı IP adresleri | Tercihen konsoldan |
usercache.json | Oyuncu adı ↔ UUID önbelleği | Hayır |
logs/ | Konsol günlükleri, arşivlenmiş kayıtlar | Hayır |
world/ | Harita, oyuncu verisi, tüm ilerleme | Hayır |
plugins/ veya mods/ | Eklenti ya da mod dosyaları | Evet |
libraries/, versions/ | Jar’ın açtığı çalışma dosyaları | Hayır |
Listede tek gönüllü dosya server-icon.png. Sunucu bunu üretmez, siz koyarsınız: 64×64 piksel bir PNG dosyasını sunucu klasörüne bu adla atarsanız oyuncuların sunucu listesinde küçük simge olarak görünür. Boyut tutmazsa sunucu simgeyi sessizce yok sayar, hata vermez. usercache.json ise tamamen otomatiktir; oyuncu adı ile UUID eşleşmesini önbelleğe alır ve her girişte Mojang’a tekrar sorulmasını engeller.
Ayar ve Yetki Dosyaları#
server.properties#
Sunucunun ana yapılandırma dosyasıdır ve anahtar=değer biçiminde satırlardan oluşur. Değiştirdiğiniz ayarlar ancak sunucu yeniden başlatıldığında geçerli olur. En çok dokunulan satırlar port, MOTD, oyuncu sınırı ve görüş mesafesidir; tam liste server.properties ayarları sayfasında.
ops.json#
Operatör listesini tutar. Her kayıt bir oyuncunun UUID’sini, adını ve yetki seviyesini içerir:
[
{
"uuid": "8f4e2a10-3c77-4b9a-9d21-6f5b0c1e77aa",
"name": "BatihostAdmin",
"level": 4,
"bypassesPlayerLimit": true
}
]
Yetki seviyesi 1’den 4’e kadar artar: 1 spawn korumasını aşar, 2 komut bloğu ve temel yönetim komutlarını açar, 3 oyuncu yönetimini (kick, ban) ekler, 4 ise stop ve op dahil her şeyi verir. Dosyayı elle düzenlemek yerine konsoldan op oyuncuadi komutunu kullanmak daha güvenlidir; sunucu UUID’yi kendisi çözer. Konu başlı başına bir rehber: OP verme ve yetki yönetimi.
whitelist.json ve ban dosyaları#
whitelist.json yalnızca white-list=true iken devreye girer ve içindeki UUID’ler dışındaki herkesi kapıda tutar. banned-players.json ise yasak kaydını sebep, kaynak ve bitiş tarihiyle birlikte saklar. Her ikisi de konsoldan yönetilmeli; JSON dosyasını elle düzenlerken virgül unutmak sunucunun dosyayı hiç okuyamamasına yol açar. Beyaz liste kurgusunun tamamı whitelist rehberinde.
Çekirdeğe Göre Değişen Dosyalar#
Yukarıdaki liste her sunucuda ortaktır, ama seçtiğiniz çekirdek klasöre kendi dosyalarını da ekler. Bu dosyaların varlığı aslında sunucunun ne olduğunu söyler: klasörde plugins görüyorsanız Bukkit ailesinden bir çekirdek, user_jvm_args.txt görüyorsanız modern bir Forge ya da NeoForge kurulumu var demektir.
| Çekirdek | Eklediği dosya ve klasörler | Ne çalıştırır |
|---|---|---|
| Vanilla (resmî jar) | libraries/, versions/ | Hiçbir eklenti veya mod |
| Paper / Purpur | plugins/, bukkit.yml, spigot.yml, config/ | Eklenti (plugin) |
| Spigot | plugins/, bukkit.yml, spigot.yml | Eklenti (plugin) |
| Forge / NeoForge | mods/, config/, user_jvm_args.txt, run.sh, run.bat | Mod |
| Fabric | mods/, config/ | Mod |
Paper tarafında ayar dosyaları sürümle birlikte yer değiştirdi: eski tek parça paper.yml yerini genel ayarlar için config/paper-global.yml dosyasına ve dünya bazlı ayarlara bıraktı. 26.1 sonrasında dünya bazlı Paper ayarı ilgili boyutun klasörü altında tutuluyor. Eklentileri doğru klasöre yerleştirme ve yapılandırma akışı için plugin kurulumu sayfasına bakın.
26.1 Sonrası Dünya Klasörü Yapısı#
Bu bölüm sayfanın en kritik kısmı. 26.1 ile dünya kayıt düzeni kökten değişti: tüm boyutlar dimensions/ altına, oyuncu verileri players/ klasörüne taşındı ve dünya verileri data/minecraft/ altında toplandı.
# 26.1 ve sonrası dünya klasörü
world/
├── level.dat
├── players/
├── data/minecraft/
└── dimensions/minecraft/
├── overworld/
│ ├── region/ r.0.0.mca ...
│ ├── entities/
│ ├── poi/
│ └── data/
├── the_nether/
└── the_end/
Karşılaştırma için eski düzen şöyleydi:
# 26.1 ÖNCESİ - artık geçersiz
world/region/
world/playerdata/
world_nether/DIM-1/region/ (Paper, Spigot)
world_the_end/DIM1/region/ (Paper, Spigot)
.mca dosyasını yedekten geri koyarken ya da silerken yeni yolu kullanın. İnternetteki kurtarma tariflerinin büyük çoğunluğu hâlâ world/region/ yolunu gösteriyor; 26.1 ve sonrasında o klasör yoktur. Bozuk dünya kurtarma adımlarını bozuk dünya kurtarma sayfasında güncel yollarla anlattık.Klasörlerin içindeki dosyalar da bir mantığa göre adlandırılır. region/ içindeki r.0.0.mca gibi dosyaların her biri 32×32 chunk’lık bir alanı taşır; entities/ varlıkları, poi/ ise köylü iş yerleri gibi ilgi noktalarını tutar. level.dat dünyanın kimlik kartıdır: seed, spawn noktası, oyun kuralları ve dünya sürümü burada durur. Yanındaki level.dat_old bir önceki kaydın kopyasıdır ve dosya bozulduğunda can simidi olabilir.
Bir de session.lock var: sunucu dünyayı açtığında oluşturduğu kilit dosyası. Aynı dünya klasörünü iki sunucunun aynı anda kullanmasını engeller. Sunucu kapalıyken silinmesi zararsızdır, çalışırken silmek ise dünya bozulmasının en hızlı yoludur.
logs Klasörü ve Günlükler#
Sunucu her açılışta logs/latest.log dosyasını sıfırdan yazmaya başlar. Bir önceki oturumun günlüğü tarihli bir arşive dönüşür: 2026-08-24-1.log.gz gibi. Yani sunucu yeniden başladıktan sonra “latest” dosyasında eski hatayı aramayın, arşive bakın.
Bu dosyalar yer kaplar ve uzun süre temizlenmezse birikirler. Konsolda gördüğünüz satırların ne anlama geldiğini ve bir hatayı log içinde nasıl bulacağınızı sunucu logları nasıl okunur sayfasında adım adım anlattık. Sunucu çöktüğünde ayrıca crash-reports/ klasörü oluşur; oradaki dosya, çökmenin nedenini logdan daha net gösterir.
Hangi Dosya Silinirse Ne Olur?#
Sunucu klasöründe “silinse de olur” diye düşünülen çok dosya var, ama hepsi aynı sonucu vermiyor. Aşağıdaki tablo pratikte en çok sorulanları topluyor:
| Silinen | Sonuç | Kayıp |
|---|---|---|
eula.txt | Yeniden oluşur, eula=false döner | Yok |
server.properties | Varsayılanlarla yeniden oluşur | Port, MOTD, tüm ayarlar sıfırlanır |
ops.json | Boş liste oluşur | Tüm OP yetkileri gider |
whitelist.json | Boş liste oluşur | Beyaz liste açıksa kimse giremez |
banned-players.json | Boş liste oluşur | Tüm yasaklar kalkar |
usercache.json | Yeniden dolar | Pratikte yok |
logs/ | Yeni günlük başlar | Geçmiş kayıtlar |
libraries/, versions/ | Jar yeniden açar | Yok |
world/level.dat | Dünya ayarları sıfırlanır | Seed, spawn, gamerule (level.dat_old kurtarabilir) |
world/ | Sıfırdan yeni dünya üretilir | Harita, envanterler, her şey |
plugins/ veya mods/ | Klasör yeniden oluşur, içi boş | Eklenti/mod ayarları; modlu dünyada blok kaybı |
Tablodaki tek gerçek felaket satırı world/. Diğerlerinin hepsi yeniden üretilebilir; dünya üretilemez. Modlu bir sunucuda mods/ klasörünü boşaltmak da benzer bir sonuç doğurur, çünkü o modların yerleştirdiği bloklar dünyada karşılıksız kalır.
Yedeklerken Hangi Dosyalar Alınmalı?#
Yedek denince akla yalnızca dünya klasörü geliyor ama tam bir geri dönüş için ayar dosyaları da gerekir. Yedeğe alınması gerekenler:
world/ve varsa ek dünya klasörleri — en kritik veri.server.properties,ops.json,whitelist.json,banned-players.json,banned-ips.json.plugins/ya damods/klasörünün tamamı, içindeki ayar dosyalarıyla birlikte.- Varsa
config/dizini ve çekirdeğe ait yapılandırma dosyaları.
Almanıza gerek olmayanlar: libraries/, versions/, cache/ ve logs/. Bunlar ya yeniden üretilir ya da geri dönüş için bir işe yaramaz; yedeği gereksiz yere şişirirler.
Yedeği sunucu çalışırken alıyorsanız sıralama önemli: konsolda önce save-off, sonra save-all çalıştırın, arşivi oluşturun, ardından save-on ile yazmayı geri açın. Bu üç adım yarım yazılmış bir bölge dosyasının yedeğe girmesini engeller. Otomatik yedek kurgusunun tamamı yedekleme rehberinde; disk tarafında NVMe SSD kullanmak hem yedek süresini hem chunk yazma gecikmesini belirgin biçimde düşürür. Türkiye lokasyonlu Minecraft sunucu paketlerimiz bu donanımla geliyor.
Özetle#
Sunucu klasöründeki dosyaların tamamını server.jar üretir. İlk çalıştırma yalnızca eula.txt oluşturup durur; onayı verdikten sonra server.properties, ops.json, whitelist.json, ban dosyaları, usercache.json, logs/ ve world/ sırayla ortaya çıkar. Çekirdeğe göre yanlarına plugins/ ya da mods/ eklenir.
Aklınızda kalması gereken iki şey var. Birincisi, tek geri dönülemez kayıp world/ klasörüdür; diğer her dosya yeniden üretilebilir. İkincisi, 26.1 ile dünya klasörü yapısı değişti ve boyutlar artık world/dimensions/minecraft/<boyut>/ altında duruyor — internetteki eski tarifleri uygularken bu farkı gözden kaçırmayın. Dosya yapısıyla ilgili takıldığınız bir nokta olursa destek talebi açarak sistem ekibimize danışabilirsiniz.