paper.yml, spigot.yml ve bukkit.yml optimizasyonu, sunucunuzun tick başına yaptığı işi doğrudan azaltmanın en pratik yoludur. Doğru ayarlanmış bir config, aynı donanımda taşınabilecek oyuncu sayısını belirgin şekilde artırır. Bu sayfada her ayarın ne yaptığını, önerilen değerini ve oyun deneyimine etkisini tek tek açıklıyoruz.
Baştan bir uyarı: bu sayfadaki değerleri toplu kopyalayıp yapıştırmayın. Skyblock sunucusunda mükemmel çalışan bir ayar, teknik survival sunucusunda oyuncuların çiftliklerini bozabilir. Her başlığı okuyup kendi sunucunuza uygun olanı seçin.
Dosyalar Nerede ve Ne İşe Yarıyor?#
Güncel Paper sürümlerinde yapılandırma dosyaları yeniden düzenlendi. Eski tek dosyalı paper.yml kaldırıldı.
| Dosya | Kapsam | Tipik içerik |
|---|---|---|
server.properties | Vanilla temel ayarlar | view-distance, port, max-players |
bukkit.yml | Bukkit API geneli | spawn-limits, ticks-per, chunk-gc |
spigot.yml | Spigot dünya ayarları | entity-activation-range, merge-radius, hopper |
config/paper-global.yml | Paper sunucu geneli | chunk-system, packet-limiter, misc |
config/paper-world-defaults.yml | Tüm dünyalar için varsayılan | chunks, entities, collisions, environment |
world/paper-world.yml | Tek dünya için özel | Varsayılanları ezen değerler |
purpur.yml | Purpur ek ayarları | Purpur’a özgü davranışlar |
bukkit.yml: Global Spawn Limitleri#
Bu dosya oyuncu başına düşen mob sayısını ve bazı zamanlama aralıklarını yönetir. Varsayılan değerler tek oyunculu deneyime yakındır ve kalabalık sunucularda gereksiz yüktür.
spawn-limits:
monsters: 40
animals: 8
water-animals: 3
water-ambient: 2
ambient: 1
ticks-per:
animal-spawns: 400
monster-spawns: 4
water-spawns: 1
ambient-spawns: 1
autosave: 6000
chunk-gc:
period-in-ticks: 600
settings:
save-user-cache-on-stop-only: true
Değerlerin anlamı:
- spawn-limits.monsters
- Yüklü chunk başına düşen canavar limiti. Varsayılan 70; 40’a çekmek oyun hissini bozmadan ciddi yük azaltır.
- ticks-per.monster-spawns
- Kaç tick’te bir canavar doğurma denemesi yapılacağı. 1 yerine 4 yapmak deneme sıklığını dörtte bire indirir.
- ticks-per.autosave
- Otomatik kaydetme aralığı. 6000 tick beş dakikadır; çok düşürmek disk I/O baskısı yaratır.
- chunk-gc.period-in-ticks
- Kullanılmayan chunk’ların bellekten atılma sıklığı. 600 tick makul bir değerdir.
- save-user-cache-on-stop-only
- Oyuncu önbelleğini her seferinde değil kapanışta yazar; küçük ama ücretsiz bir kazanç.
spigot.yml: Entity Yükünün Merkezi#
Bu dosya, tick süresini en çok etkileyen ayarları barındırır. Uzun süredir açık olan sunucularda entity işlemleri tick’in büyük kısmını yer.
entity-activation-range#
world-settings:
default:
entity-activation-range:
animals: 16
monsters: 24
raiders: 40
misc: 8
water: 8
villagers: 16
flying-monsters: 32
wake-up-inactive:
animals-max-per-tick: 2
animals-every: 1200
animals-for: 100
monsters-max-per-tick: 4
monsters-every: 400
monsters-for: 100
Bir entity, belirtilen mesafeden uzaktaysa yapay zekâsı çalışmaz. Değerleri düşürmek en hızlı hissedilen kazancı verir. misc kategorisi item’ları, minecart’ları ve armor stand’leri kapsar; 8 makul bir alt değerdir.
wake-up-inactive bölümü, uyutulmuş entity’lerin periyodik olarak kısa süre uyandırılmasını sağlar. Bu, tamamen donmuş mob’ların oyunculara tuhaf görünmesini engeller. Değerleri fazla kısmayın.
merge-radius ve çarpışma#
world-settings:
default:
merge-radius:
item: 3.5
exp: 4.0
max-entity-collisions: 2
item-despawn-rate: 4000
arrow-despawn-rate: 300
view-distance: default
mob-spawn-range: 6
merge-radius yere düşen itemleri birleştirerek entity sayısını azaltır. max-entity-collisions, bir entity’nin tick başına kaç çarpışma hesaplayacağını sınırlar; kalabalık mob yığınlarında büyük fark yaratır ve varsayılan 8 yerine 2 çoğu sunucu için yeterlidir.
item-despawn-rate yere düşen itemlerin kaç tick sonra kaybolacağıdır. Varsayılan 6000 (5 dakika); 4000’e indirmek birikmeyi hızlandırıp azaltır. Oyuncularınız uzun süre eşya bırakıp geri dönüyorsa bu değeri düşürmeyin.
hopper ve tick aralıkları#
world-settings:
default:
hopper-amount: 1
hopper-can-load-chunks: false
ticks-per:
hopper-transfer: 8
hopper-check: 8
nerf-spawner-mobs: true
tick-inactive-villagers: false
growth:
cactus-modifier: 100
cane-modifier: 100
wheat-modifier: 100
Hopper’lar varsayılan olarak her tick’te üstlerindeki envanteri kontrol eder. 200 hopper’lık bir sistemde bu saniyede 4000 tarama demektir. hopper-transfer ve hopper-check değerini 8 yapmak kontrol sıklığını yarıya indirir; item taşıma yavaşlar ama oyuncuların çoğu farkı hissetmez.
hopper-can-load-chunks: false ayarı, hopper’ların yüklü olmayan chunk’ları uyandırmasını engeller. Bu, kimsenin bulunmadığı bölgelerde çiftliklerin sunucuyu meşgul etmesini önler.
tick-inactive-villagers: false uzaktaki köylülerin işlem görmesini durdurur. Köylü çiftlikleri olan sunucularda ciddi kazanç sağlar.
nerf-spawner-mobs: true spawner’dan çıkan mob’ların yapay zekâsını kapatır. XP ve item çiftliklerinin verimini değiştirdiği için survival sunucularında oyunculara duyurmadan açmayın.paper-world-defaults.yml: Dünya Davranışları#
Paper’ın dünya ayarları, vanilla’da olmayan pek çok optimizasyon anahtarı sunar.
chunks:
auto-save-interval: 6000
delay-chunk-unloads-by: 10s
max-auto-save-chunks-per-tick: 24
prevent-moving-into-unloaded-chunks: true
collisions:
fix-climbing-bypassing-cramming-rule: true
max-entity-collisions: 2
entities:
spawning:
despawn-ranges:
monster:
hard: 96
soft: 32
creature:
hard: 96
soft: 32
per-player-mob-spawns: true
count-all-mobs-for-spawning: false
behavior:
disable-chest-cat-detection: true
experience-merge-max-value: 16
mobs-can-always-pick-up-loot:
zombies: false
skeletons: false
armor-stands:
do-collision-entity-lookups: false
tick: false
Öne çıkan ayarlar:
- per-player-mob-spawns
- Mob limitlerini oyuncu başına hesaplar. Kalabalık sunucularda hem adil hem verimlidir; açık bırakın.
- despawn-ranges
- Mob’ların hangi mesafede kaybolacağı. hard 96, soft 32 varsayılana yakın ve dengelidir. Düşürmek mob sayısını azaltır.
- armor-stands.tick: false
- Armor stand’lerin tick almasını kapatır. Hologram eklentileri armor stand kullanır; bu ayar büyük sunucularda kayda değer kazanç sağlar.
- disable-chest-cat-detection
- Sandık açılırken üstünde kedi olup olmadığını kontrol etmeyi kapatır. Küçük ama ücretsiz bir kazanç.
- delay-chunk-unloads-by
- Chunk’ların hemen boşaltılmasını geciktirir; oyuncular ileri geri hareket ettiğinde tekrar tekrar yükleme yapılmasını engeller.
Redstone motoru#
misc:
redstone-implementation: ALTERNATE_CURRENT
update-pathfinding-on-block-update: false
Alternatif redstone motoru, karmaşık devrelerde vanilla hesaplamaya göre belirgin şekilde daha hızlıdır ve oyun davranışını korur. Redstone yoğun teknik sunucularda ilk yapılacak ayarlardandır.
update-pathfinding-on-block-update: false, her blok değişiminde mob’ların yol bulma hesabını yenilemesini engeller. Yoğun inşaat yapılan sunucularda fark yaratır.
paper-global.yml: Sunucu Geneli#
chunk-system:
gen-parallelism: default
io-threads: 4
worker-threads: 6
misc:
max-joins-per-tick: 3
region-file-cache-size: 256
use-alternative-luck-formula: false
packet-limiter:
all-packets:
action: KICK
interval: 7.0
max-packet-rate: 500.0
unsupported-settings:
allow-permanent-block-break-exploits: false
allow-piston-duplication: false
io-threads ve worker-threads, chunk sisteminin kaç iş parçacığı kullanacağını belirler. Ryzen 9 sınıfı bir işlemcide 4 / 6 makul değerlerdir. Çekirdek sayınızdan fazla vermek fayda getirmez.
max-joins-per-tick, aynı anda çok sayıda oyuncunun bağlanmasında oluşan yükü dağıtır. Sunucu yeniden başladıktan sonra herkesin birden girdiği anlarda donmayı engeller.
packet-limiter hem performans hem güvenlik ayarıdır; anormal paket gönderen istemcileri atar. Bot saldırılarına karşı ilk savunma katmanlarından biridir, ayrıntılar DDoS koruması sayfasında.
unsupported-settings altındaki istismar ayarlarını kapalı tutmak, hem sunucu ekonomisini hem performansı korur. Piston duplikasyonu açık bir sunucuda oyuncular sınırsız item üretir ve entity sayısı kontrolden çıkar.Purpur Kullananlar İçin Ek Ayarlar#
Purpur, Paper üzerine kuruludur; tüm yukarıdaki ayarlar aynen geçerlidir. Ek olarak purpur.yml dosyasıyla kendi seçeneklerini sunar.
world-settings:
default:
gameplay-mechanics:
player:
idle-timeout:
tick-nearby-entities: false
count-as-sleeping: true
mobs:
zombie:
aggressive-towards-villager-when-lagging: false
Purpur kurulumu ve ek özellikleri için Purpur kurulum rehberimize bakabilirsiniz. Purpur zaten Pufferfish’in performans yamalarını içerdiği için ayrıca Pufferfish aramanıza gerek yoktur.
Uygulama Sırası ve Ölçüm#
-
Referans ölçümü alın#
Değişikliğe başlamadan önce yoğun saatte beş dakikalık profil alın.
spark health spark profiler --timeout 300 --thread server -
Config dosyalarının yedeğini alın#
Geri dönebilmek için mevcut dosyaları kopyalayın.
cp -r /opt/minecraft/config /opt/minecraft/config.yedek cp /opt/minecraft/spigot.yml /opt/minecraft/spigot.yml.yedekCopy-Item C:\minecraft\server\config -Destination C:\minecraft\server\config.yedek -Recurse Copy-Item C:\minecraft\server\spigot.yml C:\minecraft\server\spigot.yml.yedek -
Grup grup uygulayın#
Önce entity ayarları, sonra hopper, sonra chunk sistemi. Aynı anda hepsini değiştirmeyin.
-
Düzgün yeniden başlatın#
save-all stop -
Aynı yükte tekrar ölçün ve karşılaştırın#
Kazanç yoksa değişikliği geri alın. Anlamsız ayar biriktirmeyin.
-
spark profilerÖlçüm içinİndir
-
Paper 26.2 sunucu jarİndir
-
Purpur 26.2 (build 2620)İndir
-
Notepad++ (YAML düzenleme)İndir
Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden jar indirmeyin.
Sunucu Türüne Göre Öncelikler#
| Sunucu türü | Önce yapılacak | Dikkat |
|---|---|---|
| Survival | entity-activation-range, merge-radius | Mob farm dengesini bozmayın |
| Skyblock | hopper tick aralıkları, nerf-spawner-mobs | Ada başına entity limiti eklenti ile |
| Minigame | armor-stands.tick, spawn-limits | Hologram sayısını sınırlayın |
| Creative / yapı | update-pathfinding-on-block-update | Mob spawn tamamen kapatılabilir |
| Teknik / redstone | ALTERNATE_CURRENT redstone motoru | nerf-spawner-mobs açmayın |
| Modpack | Lithium ve FerriteCore modları | Mod ayarları da gözden geçirilmeli |
Ayarlarınızı uyguladıktan sonra hâlâ TPS sorunu yaşıyorsanız sıradaki adım TPS düşüklüğü teşhis rehberidir. Genel optimizasyon stratejisi için ana rehbere, mesafe ayarları için view distance sayfasına bakın. Config yeterli gelmiyorsa donanım tarafına geçmenin vakti gelmiştir; yüksek frekanslı Ryzen VDS bu noktada doğru adımdır.
Özetle#
Paper ekosisteminde config optimizasyonu dört dosyada toplanır: bukkit.yml global spawn limitlerini, spigot.yml entity ve hopper davranışını, paper-world-defaults.yml dünya mekaniklerini, paper-global.yml ise sunucu geneli sistem ayarlarını yönetir.
En yüksek kazancı entity-activation-range değerlerini düşürmek, merge-radius ile item birleştirmek, hopper kontrol sıklığını azaltmak ve mob spawn limitlerini gerçekçi seviyeye çekmek sağlar. Armor stand tick’ini kapatmak ve alternatif redstone motoruna geçmek de ücretsiz kazançlardır. Her değişikliği tek tek uygulayın, aynı yük altında ölçün ve kazanç sağlamayan ayarı config’de bırakmayın.