server.properties ayarları, bir Minecraft sunucusunun kimliğini belirleyen tek dosyada toplanır: oyun modu, zorluk, maksimum oyuncu sayısı, görüş mesafesi, port ve lisans kontrolü buradan yönetilir. Dosya sunucu kök dizininde durur ve sunucuyu ilk kez çalıştırdığınızda otomatik olarak oluşturulur; elle oluşturmanız gerekmez.
Bu sayfada dosyadaki tüm satırları Türkçe açıklamalarıyla, varsayılan değerleriyle ve önerilen değerleriyle bulacaksınız. Aşağıdaki bilgiler Minecraft 26.2 “Chaos Cubed” sunucusuna göre hazırlandı; satırların büyük bölümü 1.20 ve sonrası tüm sürümlerde aynıdır.
anahtar=değer. Eşittir işaretinin iki yanına boşluk koymayın, değeri tırnak içine almayın, satır sonuna noktalı virgül eklemeyin. # ile başlayan satırlar yorumdur.Dosya nerede, nasıl düzenlenir#
Dosyanın yolu kurulum biçiminize göre değişir:
- Windows
C:\minecraft\server\server.properties— Not Defteri yerine Notepad++ kullanın. Adımlar için Windows’ta Minecraft sunucu kurulumu sayfasına bakın.- Linux
/opt/minecraft/server.properties—nano /opt/minecraft/server.propertiesile düzenleyip Ctrl+O, Ctrl+X ile kaydedin. Ayrıntı: Linux ve Ubuntu’da sunucu kurulumu.- Panel
- Dosya yöneticisinde kök dizinin ilk sıralarında görünür, tıklayınca tarayıcı içi düzenleyici açılır. Bkz. Pterodactyl panel kullanım rehberi.
Windows’un Not Defteri’ni kullanmamanızın nedeni satır sonu ve kodlama biçimini bozabilmesidir. Uzak bir sunucudaki dosyayı bilgisayarınızda düzenlemek isterseniz SFTP istemcisiyle indirip yüklemeniz gerekir.
Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden kurulum dosyası indirmeyin.
Ağ, port ve bağlantı ayarları#
Sunucuya nasıl bağlanılacağını belirleyen satırlar bunlardır.
server-ip=
server-port=25565
enable-status=true
prevent-proxy-connections=false
network-compression-threshold=256
rate-limit=0
enable-query=false
query.port=25565
enable-rcon=false
rcon.port=25575
rcon.password=
accepts-transfers=false
log-ips=true
use-native-transport=true
server-ip boş bırakılır. Sunucunun tüm ağ arayüzlerinden dinlemesi istenir; buraya IP yazmak “Failed to bind to port” hatasının en sık nedenlerinden biridir (bind hatası çözümü).
server-port varsayılan 25565/TCP’dir. Tek makinede birden fazla sunucu çalıştırıyorsanız 25566, 25567 diye ilerleyin ve her portu güvenlik duvarında ayrı ayrı açmayı unutmayın. Port değişikliğinden sonra oyuncuların adresi alanadi.com:25566 biçiminde yazması gerekir.
network-compression-threshold bu bayttan büyük paketleri sıkıştırır. Varsayılan 256’dır. Tüm sunucularınız aynı veri merkezindeyse ve aralarında BungeeCord/Velocity varsa arka uç sunucularda -1 yaparak sıkıştırmayı kapatmak CPU kazandırır. İnternete açık tek sunucuda 256 ya da 512 uygundur.
enable-rcon uzaktan konsol erişimi açar. Discord botu veya web paneli bağlayacaksanız gerekir, ama rcon.password boş bırakılmış bir RCON portu sunucunuzu tamamen teslim etmek demektir.
op ve stop komutu çalıştırabilir. RCON’u yalnızca gerekiyorsa açın, 20+ karakter rastgele şifre verin ve 25575 portunu güvenlik duvarında dışarıya kapatın.Dünya ve dünya üretimi ayarları#
level-name=world
level-seed=
level-type=minecraft:normal
generator-settings={}
generate-structures=true
max-world-size=29999984
allow-nether=true
hardcore=false
level-name dünya klasörünün adıdır. Adı değiştirirseniz sunucu var olan bir klasör bulamaz ve sıfırdan yeni dünya üretir; eski dünya silinmez, sadece kullanılmaz. Dünya sıfırlamanın en temiz yolu budur: eski klasörü yedekleyip level-name=world2 yapmak.
level-type 1.19’dan beri ad alanlı kimlik alır. Geçerli değerler:
| Değer | Ne üretir |
|---|---|
minecraft:normal | Standart dünya |
minecraft:flat | Düz dünya (minigame, creative) |
minecraft:large_biomes | Biyomlar dört kat büyük |
minecraft:amplified | Aşırı yüksek arazi, CPU yorar |
minecraft:single_biome_surface | Tek biyomlu dünya |
max-world-size dünya sınırının yarıçapıdır. Skyblock veya minigame sunucularında 5000 gibi düşük bir değer chunk üretimini ve disk kullanımını ciddi biçimde azaltır; oyuncular sınırsız harita keşfedemediği için dünya klasörü aylar sonra bile birkaç yüz megabaytta kalır.
Oyun kuralları ve oyuncu davranışı#
gamemode=survival
force-gamemode=false
difficulty=easy
pvp=true
allow-flight=false
spawn-monsters=true
spawn-npcs=true
spawn-animals=true
spawn-protection=16
enable-command-block=false
player-idle-timeout=0
max-chained-neighbor-updates=1000000
gamemode değerleri: survival, creative, adventure, spectator. force-gamemode=true yaparsanız her giriş yapan oyuncu bu moda döndürülür; creative yetkisi verdiğiniz yöneticiler için sıkıntı çıkarır, genelde false kalsın.
difficulty: peaceful, easy, normal, hard. Hayatta kalma sunucularında normal ya da hard tercih edilir; peaceful tüm düşman mobları siler ve mob çiftliklerini işlevsiz bırakır.
allow-flight vanilya uçuş kontrolüdür. Eklentili sunucularda (EssentialsX /fly, elytra, jetpack modları) true yapılmalıdır, aksi halde oyuncular “Flying is not enabled on this server” mesajıyla atılır. Hile engellemeyi bu satıra bırakmayın; uçuş hilesini durdurmak bir anticheat eklentisinin işidir.
player-idle-timeout dakika cinsindendir, 0 kapalı demektir. AFK oyuncuların slot işgal etmesini istemiyorsanız 20–30 arası bir değer verin. AFK oyuncular chunk’ları yüklü tuttuğu için TPS’i de etkiler.
enable-command-block=true yalnızca komut bloğu kullanan haritalarda açılmalıdır. Açık bir sunucuda creative yetkisi olan bir kişi komut bloğuyla sunucuyu dondurabilecek işlemler yazabilir.Oyuncu erişimi, lisans ve yetki ayarları#
max-players=20
online-mode=true
white-list=false
enforce-whitelist=false
op-permission-level=4
function-permission-level=2
enforce-secure-profile=true
hide-online-players=false
pause-when-empty-seconds=60
online-mode en kritik satırdır. true iken sunucu her girişte Mojang oturum sunucusundan hesabı doğrular. false yaptığınızda doğrulama kalkar; herkes istediği kullanıcı adıyla girebilir, yani biri gelip yönetici adınızla bağlanıp OP komutlarını çalıştırabilir. Lisanssız oyuncu kabul etmek zorundaysanız AuthMe giriş eklentisini kurmadan sunucuyu açmayın.
online-mode=false olmak zorundadır, çünkü doğrulamayı proxy yapar. Bu durumda alt sunucuların portları internete kesinlikle kapatılmalı ve Velocity modern forwarding kullanılmalıdır. Kurulum: BungeeCord ve Velocity ile sunucu ağı.white-list beyaz listeyi açar, enforce-whitelist ise listeden çıkarılan oyuncuyu anında sunucudan atar. İkisini birlikte true yapmak kapalı topluluk sunucuları için doğru ayardır; ayrıntı whitelist rehberinde.
op-permission-level OP verdiğiniz oyuncuların yetki seviyesidir:
| Seviye | Kapsam |
|---|---|
| 1 | Spawn korumasını aşar |
| 2 | Komut bloğu ve çoğu tek oyunculu hile komutu |
| 3 | Oyuncu yönetimi: ban, kick, whitelist |
| 4 | Tam yetki: stop, op, deop |
Yardımcı yöneticilere seviye 4 vermek yerine OP ve yetki yönetimi sayfasındaki LuckPerms yaklaşımını izleyin; izinleri tek tek dağıtmak çok daha güvenlidir.
pause-when-empty-seconds sunucu boşken, verilen saniye sonunda tick döngüsünü duraklatır (varsayılan 60). Kiralık sunucuda CPU tasarrufu sağlar ama zamanlanmış görevleri ve redstone saatlerini de durdurur. Sürekli çalışması gereken ekonomi/çiftlik sunucularında 0 yaparak kapatın.
Performansı doğrudan etkileyen satırlar#
view-distance=8
simulation-distance=5
entity-broadcast-range-percentage=75
max-tick-time=60000
sync-chunk-writes=true
region-file-compression=deflate
view-distance oyuncuya kaç chunk uzaklığın gönderileceğini belirler ve TPS üzerindeki en büyük tek etkendir. Varsayılan 10, çoğu sunucu için savurgandır. 30 oyunculu eklentili bir sunucuda 8, 60 oyunculu bir sunucuda 6 makul değerdir.
simulation-distance hangi chunk’larda mobların hareket ettiğini, mahsullerin büyüdüğünü ve redstone’un çalıştığını belirler. view-distance’tan bağımsızdır ve daha düşük tutulabilir; 4–5 arası değerler oyun hissini bozmadan ciddi CPU kazandırır. İkisinin ilişkisi view distance ve simulation distance ayarları sayfasında ayrıntılı anlatılıyor.
entity-broadcast-range-percentage varlıkların oyunculara hangi mesafeden gönderileceğini yüzde olarak ayarlar. 100 varsayılan, 75 hissedilir bir fark yaratmadan ağ trafiğini azaltır. Çok sayıda item/mob barındıran sunucularda 50’ye kadar düşürülebilir.
max-tick-time bir tick bu süreyi (milisaniye) aşarsa sunucu watchdog’u kendini kapatır. Varsayılan 60000 (60 saniye). Büyük modpacklerde açılış sırasında tetiklendiği olur; -1 yaparak watchdog’u kapatmak yerine önce takılmanın gerçek nedenini bir spark profil raporuyla bulun.
paper.yml, spigot.yml ve bukkit.yml ayarlarındadır — bkz. paper.yml optimizasyon rehberi.Görünüm: MOTD, sunucu simgesi ve kaynak paketi#
motd=\u00a76\u00a7lBatihost Test\u00a7r \u00a77| \u00a7a26.2 Survival
resource-pack=
resource-pack-sha1=
resource-pack-prompt=
require-resource-pack=false
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
bug-report-link=
motd sunucu listesinde adınızın altında görünen iki satırlık tanıtım yazısıdır. Renk için bölüm işareti kullanılır; dosyada doğrudan § karakteri yerine \u00a7 kaçış dizisini yazmak her editörde sorunsuz çalışır. Renk kodları: \u00a7a açık yeşil, \u00a76 altın, \u00a7c kırmızı, \u00a7l kalın, \u00a7r biçimi sıfırlar. Satır atlamak için \n kullanın.
resource-pack alanına doğrudan indirilebilir bir arşiv adresi yazılır (Google Drive veya Dropbox paylaşım sayfası değil). resource-pack-sha1 boş bırakılırsa istemciler paketi her girişte yeniden indirir, bu yüzden SHA-1 özetini mutlaka doldurun. Süreç resource pack ekleme sayfasında adım adım anlatılıyor.
Sunucu simgesi server.properties’te değil, kök dizine konan server-icon.png dosyasıyla ayarlanır. Dosya tam olarak 64×64 piksel PNG olmalıdır; başka boyut yüklerseniz simge hiç görünmez.
Tam referans tablosu#
| Anahtar | Varsayılan | Açıklama / önerilen |
|---|---|---|
| accepts-transfers | false | Başka sunucudan transfer paketi kabulü |
| allow-flight | false | Eklentili sunucuda true olmalı |
| allow-nether | true | Nether boyutu |
| broadcast-console-to-ops | true | Konsol komutlarını OP’lere göster |
| difficulty | easy | peaceful / easy / normal / hard |
| enable-command-block | false | Gerekmedikçe kapalı bırakın |
| enable-jmx-monitoring | false | JMX ile JVM izleme |
| enable-query | false | GameSpy4 sorgu protokolü |
| enable-rcon | false | Uzak konsol; şifresiz açmayın |
| enable-status | true | Sunucu listesinde görünürlük |
| enforce-secure-profile | true | İmzalı sohbet zorunluluğu |
| enforce-whitelist | false | Listeden çıkanı anında atar |
| entity-broadcast-range-percentage | 100 | 75 önerilir |
| force-gamemode | false | Her girişte modu zorlar |
| function-permission-level | 2 | Datapack fonksiyon yetkisi |
| gamemode | survival | Varsayılan oyun modu |
| generate-structures | true | Köy, kale, tapınak üretimi |
| generator-settings | {} | Özel dünya üretici JSON’u |
| hardcore | false | Ölünce spectator moduna alır |
| hide-online-players | false | Liste ping’inde oyuncu adlarını gizler |
| initial-enabled-packs | vanilla | Açılışta etkin veri paketleri |
| level-name | world | Dünya klasörü adı |
| level-seed | (boş) | Dünya tohumu |
| level-type | minecraft:normal | Dünya tipi |
| log-ips | true | Girişlerde IP’yi log’a yazar |
| max-chained-neighbor-updates | 1000000 | Redstone zincir sınırı |
| max-players | 20 | Eşzamanlı oyuncu sınırı |
| max-tick-time | 60000 | Watchdog eşiği (ms) |
| max-world-size | 29999984 | Dünya sınırı yarıçapı |
| motd | A Minecraft Server | Sunucu listesi tanıtımı |
| network-compression-threshold | 256 | Proxy arkasında -1 |
| online-mode | true | Açık bırakın |
| op-permission-level | 4 | OP yetki seviyesi |
| pause-when-empty-seconds | 60 | Boşken tick’i duraklatır |
| player-idle-timeout | 0 | AFK atma süresi (dk) |
| prevent-proxy-connections | false | VPN/proxy girişlerini kısıtlar |
| pvp | true | Oyuncular arası hasar |
| query.port | 25565 | Sorgu portu |
| rate-limit | 0 | Saniyedeki paket sınırı, 0 kapalı |
| rcon.password | (boş) | Boş bırakıp RCON açmayın |
| rcon.port | 25575 | RCON portu |
| region-file-compression | deflate | deflate / lz4 / none |
| require-resource-pack | false | Paketi reddedeni atar |
| resource-pack | (boş) | Doğrudan indirme adresi |
| resource-pack-sha1 | (boş) | Mutlaka doldurun |
| server-ip | (boş) | Boş bırakın |
| server-port | 25565 | Java Edition portu (TCP) |
| simulation-distance | 10 | 4-5 önerilir |
| spawn-monsters | true | Düşman mob doğumu |
| spawn-protection | 16 | Eklentili sunucuda 0 |
| sync-chunk-writes | true | NVMe’de true kalsın |
| use-native-transport | true | Linux epoll optimizasyonu |
| view-distance | 10 | 6-8 önerilir |
| white-list | false | Beyaz liste |
Sunucu türüne göre hazır yapılandırmalar#
20-30 oyunculu eklentili survival#
max-players=30
gamemode=survival
difficulty=hard
pvp=true
allow-flight=true
view-distance=8
simulation-distance=5
entity-broadcast-range-percentage=75
spawn-protection=0
player-idle-timeout=25
online-mode=true
enable-command-block=false
Skyblock / ada sunucusu#
level-type=minecraft:flat
generator-settings={"layers":[{"block":"air","height":1}],"biome":"plains"}
max-world-size=6000
view-distance=6
simulation-distance=4
spawn-monsters=true
allow-nether=false
spawn-protection=0
Modpack sunucusu#
max-players=20
difficulty=normal
view-distance=7
simulation-distance=5
max-tick-time=180000
sync-chunk-writes=true
allow-flight=true
online-mode=true
max-tick-time değerini 180000’e çıkarmak, ilk açılışta dünya üretimi uzun sürdüğünde watchdog’un sunucuyu kapatmasını önler. Sunucu kararlı çalışmaya başladıktan sonra 60000’e geri dönün.Sık yapılan hatalar#
-
Değeri tırnak içine almak#
motd="Sunucum"yazarsanız tırnaklar da MOTD’un parçası olur. Doğrusumotd=Sunucum. -
Sunucu açıkken düzenlemek#
Sunucu kapanırken dosyayı yeniden yazar ve değişiklikleriniz silinir. Önce durdurun.
-
server-ip alanına IP yazmak#
Sunucu yalnızca o arayüzden dinler ve dışarıdan erişilemez hale gelebilir. Boş bırakın.
-
online-mode=false yapıp korumasız bırakmak#
Giriş eklentisi ve güvenlik duvarı kuralı olmadan bu ayar sunucunuzu herkese açar.
-
view-distance yükseltip lag’i çözmeye çalışmak#
Görüş mesafesini artırmak sunucunun işini artırır, TPS’i yükseltmez. Lag varsa önce bu değeri düşürün.
Donanım olmadan ayar yetmez#
server.properties iyi ayarlanmış bir sunucu bile yetersiz donanımda 20 TPS tutamaz. Minecraft’ın ana tick döngüsü tek çekirdekte çalıştığı için çekirdek sayısı değil saat hızı belirleyicidir. Pratik alt sınırlar:
| Senaryo | RAM | İşlemci | Disk |
|---|---|---|---|
| 2-10 oyuncu, vanilla/hafif eklenti | 8 GB | Ryzen 9 3900X ve üzeri | 50 GB NVMe |
| 10-30 oyuncu, eklentili Paper | 10-12 GB | Ryzen 9 7900X | 50 GB NVMe |
| 30-60 oyuncu, minigame / çok dünyalı | 16 GB | Ryzen 9 7950X | 100 GB NVMe |
| Forge / Fabric modpack | 16 GB (büyükte 24-32 GB) | Ryzen 9 7950X | 100 GB NVMe |
| 60+ oyuncu veya proxy’li sunucu ağı | 32 GB ve üzeri | Ryzen 9 7950X | 100 GB+ NVMe |
Heap değerini de buna göre verin: 8 GB paketle -Xms6G -Xmx6G, 16 GB paketle -Xms14G -Xmx14G. Batihost’un Minecraft sunucu paketleri yüksek frekanslı Ryzen işlemci ve NVMe SSD ile 156 TL’den başlıyor.
Özetle#
server.properties’i doğru kurmanın kısa yolu şu: server-ip boş kalsın, online-mode=true kalsın, view-distance 8 ve simulation-distance 5 olsun, spawn-protection=0 yapıp koruma işini eklentiye bırakın, RCON’u ihtiyacınız yoksa hiç açmayın. Her düzenlemeden önce sunucuyu durdurun, sonra başlatın.
Dosyayı elden geçirdikten sonra performans tarafını Minecraft sunucu optimizasyonu rehberiyle tamamlayın; bu ikisi birlikte çalıştığında yoğun saatlerde bile TPS 20’de kalır.