Paper sunucu kurulumu, Minecraft için performanslı bir çok oyunculu sunucu açmanın en yaygın ve en pratik yoludur: Java 25 kurar, papermc.io üzerinden güncel Paper jar’ını indirir, EULA’yı onaylar ve başlatma betiğinizi çalıştırırsınız. Toplam süre, indirme hızınıza bağlı olarak on dakikayı geçmez.
Paper (PaperMC), Spigot’un bir çatallamasıdır (fork) ve Bukkit/Spigot eklenti ekosistemiyle tam uyumlu kalırken sunucu çekirdeğine yüzlerce performans ve hata düzeltme yaması ekler. 2026 itibarıyla eklentili Minecraft sunucularının fiilî standardı Paper’dır; Purpur, Leaf ve Folia gibi popüler forkların tamamı Paper tabanlıdır.
Bu rehber işletim sisteminden bağımsızdır. Adım adım ekran görüntülü anlatım istiyorsanız Windows’ta Paper sunucusu kurulumu veya Ubuntu’da Paper sunucusu kurulumu sayfalarına geçebilirsiniz.
Paper Nedir, Spigot’tan Farkı Ne?#
Minecraft sunucu yazılımlarının soy ağacı şöyle işler: Mojang’ın resmî server.jar dosyası (vanilla) → CraftBukkit (eklenti API’si ekler) → Spigot (CraftBukkit üzerine performans yamaları) → Paper (Spigot üzerine çok daha agresif optimizasyon ve genişletilmiş API).
Paper’ın Spigot’a kıyasla getirdiği somut farklar:
- Eş zamanlı chunk sistemi. Chunk yükleme ve üretme işi ana tick döngüsünden ayrılır. Oyuncular yeni araziye yürürken sunucu donmaz.
- Varlık ve hopper optimizasyonu. Aktivasyon menzili dışındaki mob’lar ve boş hopper’lar tick harcamaz.
- Async chunk gönderimi ve ağ iyileştirmeleri. Yüksek oyuncu sayısında paket kuyruğu ana thread’i bloklamaz.
- Zengin yapılandırma. Vanilla’da sabit olan onlarca değer (despawn menzili, autosave aralığı, tick oranları) dosyadan ayarlanabilir.
- Paper API. Adventure metin bileşenleri, modern event’ler ve Spigot’ta bulunmayan yüzlerce metot.
- Hızlı güvenlik yaması. Paper, sunucu çökertme (crash exploit) ve dupe açıkları için genellikle aynı gün build yayımlar.
| Özellik | Vanilla | Spigot | Paper |
|---|---|---|---|
| Eklenti (plugin) desteği | Yok | Var | Var |
| Hazır jar olarak dağıtım | Var | Yok (derlenir) | Var |
| Eş zamanlı chunk sistemi | Yok | Yok | Var |
| Dünya başına ayrı yapılandırma | Yok | Kısmi | Tam |
| Exploit/dupe yama hızı | Sürüm bekler | Yavaş | Çok hızlı |
| 26.2 desteği | Var | Var | Var (build #112) |
Daha geniş bir kıyas ve Paper tabanlı forkların (Purpur, Leaf, Folia) durumu için Minecraft sunucu yazılımları karşılaştırması sayfasına bakın.
Kurulum Öncesi Gereksinimler#
Java sürümü#
Paper 26.2, Minecraft 26.2 üzerine kuruludur ve Java 25 ister. Java 21 ile başlatmaya kalkarsanız sunucu açılmadan UnsupportedClassVersionError ile düşer. Eski sürüm bir Paper hattı çalıştıracaksanız aşağıdaki tabloya bakın.
| Minecraft / Paper sürümü | Gerekli Java | Durum |
|---|---|---|
| 26.1, 26.1.1, 26.1.2, 26.2 | Java 25 | Güncel |
| 1.20.5 – 1.21.11 | Java 21 | Destekleniyor |
| 1.17 – 1.20.4 | Java 17 | Eski |
| 1.16.5 ve öncesi | Java 8 | Çok eski |
Donanım#
Minecraft’ın ana tick döngüsü tek çekirdekte çalışır. Bu yüzden çekirdek sayısı değil saat hızı belirleyicidir. 24 çekirdekli düşük frekanslı bir Xeon, 5 GHz’e çıkan bir Ryzen 9’un yanında Minecraft için zayıf kalır.
| Oyuncu / sunucu tipi | RAM | İşlemci | Disk |
|---|---|---|---|
| 2-10 oyuncu, hafif eklentili Paper | 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 7900X / 7950X | 100 GB NVMe |
| 60+ oyuncu veya proxy’li sunucu ağı | 32 GB+ | Ryzen 9 7950X | 100 GB+ NVMe |
Disk tarafında NVMe SSD şarttır: chunk okuma/yazma yoğun ve küçük bloklu I/O üretir, SATA SSD veya HDD üzerinde autosave anında TPS düşer. Oyuncu sayısına göre ayrıntılı hesap için Minecraft sunucusu kaç GB RAM ister tablosunu inceleyin. Türkiye lokasyonlu, yüksek frekanslı Ryzen tabanlı hazır paketler için Minecraft sunucu paketlerine göz atabilirsiniz.
Paper Jar’ını ve Java’yı İndirme#
-
Eclipse Temurin JDK 25Önerilenİndir
-
Paper 26.2 sunucu jarGüncelİndir
-
Eski Paper sürümleri (build gezgini)Aç
-
Eclipse Temurin JDK 21Eski sürümİndir
Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden Paper jar’ı indirmeyin; değiştirilmiş jar’larda arka kapı bulunma riski yüksektir.
İndirme sayfasında önce Minecraft sürümünü (26.2), sonra build’i seçersiniz. En üstteki STABLE etiketli build’i alın; EXPERIMENTAL etiketlisi henüz test aşamasındadır ve üretim sunucusunda kullanılmamalıdır.
Otomatik kurulum betiği yazıyorsanız sabit dosya adı yerine resmî Fill v3 API’sini kullanın; böylece her çalıştırmada en güncel build inilir:
# En güncel 26.2 build bilgisini JSON olarak al
curl -s https://fill.papermc.io/v3/projects/paper/versions/26.2/builds/latest
# Windows PowerShell karşılığı
# Invoke-RestMethod https://fill.papermc.io/v3/projects/paper/versions/26.2/builds/latest
paper-26.2-112.jar gibi uzun olur. Başlatma betiğinizi her güncellemede değiştirmemek için jar’ı paper.jar olarak yeniden adlandırın; güncelleme yaparken yalnızca dosyayı değiştirmeniz yeter.Paper Sunucusunu İlk Kez Çalıştırma#
-
Boş bir sunucu klasörü oluşturun#
Paper, bulunduğu dizini sunucu kökü olarak kullanır ve oraya onlarca dosya üretir. Windows’ta
C:\minecraft\server, Linux’ta/opt/minecraftgibi ayrı bir klasör açın. Masaüstü, İndirilenler veya OneDrive ile senkronize edilen klasörlerde çalıştırmayın. -
Jar’ı klasöre koyup bir kez çalıştırın#
İlk çalıştırmada sunucu EULA’yı onaylamadığınız için hemen kapanır. Bu normaldir; amaç dosyaların üretilmesidir.
java -Xms6G -Xmx6G -jar paper.jar --nogui -
eula.txt dosyasını düzenleyin#
Klasörde oluşan
eula.txtdosyasını açın ve son satırı değiştirin. Bu satır Mojang Son Kullanıcı Lisans Sözleşmesi’ni kabul ettiğiniz anlamına gelir.#By changing the setting below to TRUE you are indicating your agreement to our EULA. eula=true -
Sunucuyu tekrar başlatın#
Bu sefer dünya üretimi başlar. Konsolda
Done (23.412s)! For help, type "help"satırını gördüğünüzde sunucu ayaktadır ve 25565/TCP portunu dinlemektedir. -
server.properties dosyasını yapılandırın#
Sunucuyu
stopkomutuyla düzgünce kapatın, ardından temel ayarları girin.server-port=25565 motd=Batihost Paper Sunucusu max-players=40 online-mode=true view-distance=8 simulation-distance=6 difficulty=normal spawn-protection=0 enable-command-block=false network-compression-threshold=256
eula=true yapmadan sunucu asla açılmaz ve loglara "You need to agree to the EULA in order to run the server" yazar. Bu hatayla karşılaşırsanız EULA hatası çözümü sayfasına bakın.server.properties içindeki her satırın ne işe yaradığını öğrenmek için server.properties ayarlarının tam listesi sayfasını kullanın.
Başlatma Betiği ve JVM Bayrakları#
Paper’ı çıplak java -jar komutuyla çalıştırmak çalışır ama optimal değildir. Doğru bayraklarla GC duraklamalarını (lag spike) belirgin biçimde azaltabilirsiniz.
8-12 GB heap: G1GC ve Aikar’s Flags#
PaperMC’nin resmî olarak önerdiği bayrak seti hâlâ Aikar’s Flags’tir ve 26.x sunucularında geçerliliğini korur. Aşağıdaki komut 12 GB’lık bir pakette 10 GB heap ile çalışır:
java -Xms10G -Xmx10G \
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
-XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \
-XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 \
-XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 \
-Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true \
-jar paper.jar --nogui
12 GB’ın üzerinde heap veriyorsanız Aikar üç değeri değiştirmenizi söyler: G1NewSizePercent=40, G1MaxNewSizePercent=50, G1HeapRegionSize=16M, G1ReservePercent=15 ve InitiatingHeapOccupancyPercent=20.
Heap boyutu tablosu#
| Paket RAM’i | Java heap | Önerilen GC |
|---|---|---|
| 8 GB | -Xms6G -Xmx6G | G1GC + Aikar’s Flags |
| 12 GB | -Xms10G -Xmx10G | G1GC + Aikar’s Flags |
| 16 GB | -Xms14G -Xmx14G | G1GC veya ZGC |
| 32 GB | -Xms28G -Xmx28G | ZGC değerlendirilebilir |
-Xms ve -Xmx daima eşit verilir; JVM’in heap’i büyütüp küçültmesi gereksiz duraklama üretir. Kalan RAM’i işletim sistemine, JVM’in heap dışı belleğine (metaspace, doğrudan tamponlar) ve dosya sistemi önbelleğine bırakırsınız.
ZGC ne zaman mantıklı?#
16 GB ve üzeri heap ile çalışan, çok sayıda varlık ve büyük dünya barındıran sunucularda ZGC ortalama duraklama süresini milisaniyenin altına indirebilir. Kullanımı tek bayraktır:
java -Xms14G -Xmx14G -XX:+UseZGC -XX:+AlwaysPreTouch -XX:+DisableExplicitGC \
-jar paper.jar --nogui
-XX:+ZGenerational bayrağını yazmayın. JEP 490 ile ZGC’nin non-generational modu kaldırıldı; bu bayrak Java 25’te obsolete’tir ve başlangıçta uyarı basar. Doğru kullanım yalnızca -XX:+UseZGC şeklindedir. Bayrak seçimlerinin tamamı için RAM ayarları ve JVM flag’leri rehberine bakın.Paper Yapılandırma Dosyaları#
Paper, Spigot’tan devraldığı dosyalara ek olarak kendi yapılandırmasını config/ klasöründe tutar. Sunucu klasörünüzde ilk çalıştırmadan sonra şu dosyaları görürsünüz:
- server.properties
- Vanilla ayarları: port, oyuncu sınırı, zorluk, görüş mesafesi, online-mode.
- bukkit.yml
- Spawn limitleri, tick oranları, autosave aralığı.
- spigot.yml
- Varlık aktivasyon menzili, birleştirme yarıçapı, item despawn süresi.
- config/paper-global.yml
- Sunucunun tamamını ilgilendiren Paper ayarları: chunk sistemi, proxy, paket sınırlayıcı, watchdog.
- config/paper-world-defaults.yml
- Tüm dünyalar için varsayılan Paper ayarları.
- config/paper-world-<dünya adı>.yml
- Tek bir dünyayı ezmek istediğinizde kullanılır.
paper-global.yml içinden önemli bölümler#
chunk-system:
gen-parallelism: default
io-threads: -1
worker-threads: -1
packet-limiter:
all-packets:
action: KICK
interval: 7.0
max-packet-rate: 500.0
proxies:
velocity:
enabled: false
online-mode: true
secret: ''
watchdog:
early-warning-delay: 10000
early-warning-every: 5000
io-threads ve worker-threads değerlerini -1 bırakın; Paper bunları çekirdek sayısına göre kendisi hesaplar. Elle yüksek değer vermek genellikle performansı düşürür.
paper-world-defaults.yml içinden performans ayarları#
chunks:
autosave-interval: 6000
delay-chunk-unloads-by: 10s
max-auto-save-chunks-per-tick: 24
prevent-moving-into-unloaded-chunks: true
entities:
spawning:
despawn-ranges:
monster:
hard: 96
soft: 32
animal:
hard: 96
soft: 32
per-player-mob-spawns: true
hopper:
disable-move-event: false
ignore-occluding-blocks: true
per-player-mob-spawns: true ayarı mob limitini sunucu geneli yerine oyuncu başına uygular; kalabalık sunucularda hem daha adil hem daha ucuzdur. Bu dosyaların satır satır anlamı ve önerilen değerleri için paper.yml, spigot.yml ve bukkit.yml optimizasyon rehberine bakın.
Eklenti Kurulumu ve 26.1 Unobfuscation Kırılması#
Paper eklentileri plugins klasörüne .jar olarak atılır ve sunucu yeniden başlatılır. Süreç Spigot ile birebir aynıdır; ayrıntı için plugin kurulumu rehberini okuyun.
Ancak 26.x’e geçerken bilmeniz gereken kritik bir konu var. Minecraft 26.1 ile Mojang obfuscated sunucu jar’ı yayımlamayı bıraktı. Bu, sıradan bir sürüm atlaması değil ABI kırılmasıdır: Paper dahili remapper’ını tamamen kaldırdı, Spigot desteği düşürdü. Sonuç olarak 1.21.11 ve öncesi için derlenmiş, NMS (net.minecraft.server) sınıflarına doğrudan erişen hiçbir eklenti yeniden derlenmeden 26.1+ üzerinde çalışmaz.
| Eklenti | 26.2 uyumlu sürüm | Not |
|---|---|---|
| LuckPerms | 5.5.57 | Tam destek |
| WorldEdit | 7.4.5 | 7.4.4 ile 26.2 desteği geldi |
| WorldGuard | 7.0.18 | WorldEdit ön koşuldur |
| PlaceholderAPI | 2.12.3 | Eski sürümler 26.2’de sürüm dizgisini okuyamaz |
| ViaVersion | 5.11.0 | Paper 1.8 – 26.2 aralığı |
| EssentialsX | 2.22.0 | Resmî destek en fazla 26.1.2 |
| CoreProtect | v24.0 | 26.2 henüz desteklenmiyor |
Spigot veya Vanilla’dan Paper’a Geçiş#
Mevcut bir sunucuyu Paper’a taşımak, sıfırdan kurulumdan daha kolaydır çünkü Paper aynı dünya biçimini ve aynı yapılandırma dosyalarını okur.
-
Tam yedek alın#
Sunucuyu
stopile kapatın ve klasörün tamamını arşivleyin. Dünya, eklenti ve veritabanı dosyalarının hepsi bir arada olmalı. Yedeği sunucunun kendisinde değil ayrı bir yerde saklayın. -
Eski jar’ı kaldırıp Paper jar’ını koyun#
Yalnızca
.jardosyasını değiştirin.world,plugins,server.properties,ops.json,whitelist.jsonvebanned-players.jsondosyalarına dokunmayın. -
Java sürümünü doğrulayın#
java -versionÇıktıda
openjdk version "25"ile başlayan bir satır görmelisiniz. Görmüyorsanız sistemde birden fazla Java kuruludur; başlatma betiğinde Java 25’in tam yolunu yazın. -
İlk açılışta konsolu izleyin#
Paper,
config/klasörünü ve varsayılan Paper ayarlarını bu açılışta üretir. Konsolda kırmızıERRORsatırı ve uyumsuz eklenti uyarısı olup olmadığına bakın. -
Ayarları taşıyın ve test edin#
Spigot’ta elle değiştirdiğiniz ayarların Paper karşılıklarını
paper-world-defaults.ymlüzerinden gözden geçirin. Bir gün boyunca/tpsve spark raporlarını izleyin.
view-distance değeridir; spark profiler ile rapor alarak kaynağı bulun.Sık Karşılaşılan Kurulum Hataları#
Unable to access jarfile paper.jar#
Komutu jar’ın bulunmadığı bir dizinde çalıştırıyorsunuz ya da dosya adını yanlış yazdınız. Betiğin çalışma dizinini jar’ın bulunduğu klasöre sabitleyin; dosya adında büyük/küçük harf farkı Linux’ta önemlidir.
UnsupportedClassVersionError: class file version 69.0#
Sunucuda Java 25 yerine daha eski bir Java çalışıyor. Class file 69.0 = Java 25, 65.0 = Java 21, 61.0 = Java 17. Doğru sürümü kurun ya da başlatma betiğinde Java 25 çalıştırılabilirinin tam yolunu belirtin.
Failed to bind to port#
25565 portu başka bir işlem tarafından tutuluyor ya da eski sunucu süreci hâlâ ayakta. Aynı makinede birden çok sunucu çalıştırıyorsanız her birine ayrı port verin.
Sunucu açılıyor ama kimse bağlanamıyor#
Sunucu ayakta ve konsolda hata yoksa sorun ağ tarafındadır: güvenlik duvarında 25565/TCP kapalı olabilir veya ev bağlantısında port yönlendirme yapılmamıştır. Kiralık bir sunucuda çalışıyorsanız yalnızca sunucunun kendi güvenlik duvarını açmanız yeterlidir.
Diğer kurulum hataları için Minecraft sunucu hataları ve çözümleri sayfasına bakabilirsiniz.
Paper Sunucusunu Güncel Tutma#
Paper aynı Minecraft sürümü için sürekli yeni build yayımlar. Bunlar çoğunlukla dupe ve crash exploit yamalarıdır, dolayısıyla güncel kalmak bir güvenlik meselesidir.
Build güncellemesi (26.2 içinde #110 → #112) son derece basittir:
# 1. Sunucuyu düzgünce kapat
stop
# 2. Eski jar'ı yedekle, yenisini indir
mv paper.jar paper-eski.jar
# 3. Yeni build'i aynı adla koy ve başlat
# (indirme sayfasından alınan dosyayı paper.jar olarak adlandırın)
Özetle#
Paper sunucu kurulumu için Java 25 kurun, papermc.io’dan 26.2 hattının STABLE build’ini indirin, jar’ı boş bir klasöre koyup bir kez çalıştırın, eula.txt içinde eula=true yapın ve Aikar’s Flags içeren bir başlatma betiğiyle tekrar açın. Ayarları server.properties, spigot.yml, bukkit.yml ve config/paper-*.yml dosyalarından yaparsınız.
Donanımda kısmayın: 8 GB’ın altında RAM, düşük frekanslı işlemci veya SATA disk, Paper’ın sağladığı bütün optimizasyonu boşa çıkarır. 26.2’ye geçerken NMS bağımlı eklentileri mutlaka test sunucusunda deneyin; unobfuscation kırılması nedeniyle eski jar’lar yeniden derlenmeden çalışmaz.
Kurulumla uğraşmadan hazır bir Paper sunucusuyla başlamak isterseniz Batihost Minecraft sunucu paketleri Ryzen tabanlı, NVMe diskli ve DDoS korumalıdır; teknik bir sorunuz olursa destek talebi açabilirsiniz. Genel kurulum akışının tamamı için Minecraft sunucu kurulumu ana rehberine göz atın.