Ekran Kartlı Sunucu Satışları Başladı. İncele
Modlu Sunucu Kurulumu

Pterodactyl Panelinde Modlu Minecraft Sunucusu Kurma

Forge, NeoForge ve Fabric egg’leri, Java 25 Docker imajı seçimi, startup komutu ayarı ve modpack yükleme adımları.

  • 9 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • Pterodactyl’de modlu sunucu kurmak için doğru “egg”i (şablon) seçmeniz yeterlidir: Forge, NeoForge, Fabric, CurseForge ve Modrinth için ayrı egg’ler vardır.
  • Minecraft 26.1 ve 26.2 Java 25 ister; sunucunun Startup sekmesindeki Docker Image alanını ghcr.io/pterodactyl/yolks:java_25 yapmadan sunucu açılmaz.
  • Egg’ler artık parkervcp/eggs deposunda değil; o depo 2024’te arşivlendi. Güncel Minecraft egg’leri pelican-eggs/minecraft deposundadır ve Pterodactyl için JSON dosyalarını kullanırsınız.
  • Büyük modpacklerde kurulum sessizce başarısız oluyorsa suçlu genelde Wings’in varsayılan 1024 MB’lık kurulum konteyneri limitidir; installer_limits değerini yükseltmeniz gerekir.

Pterodactyl panelinde modlu Minecraft sunucusu kurmak, doğru eggi (sunucu şablonu) seçmek ve Docker imajını Java 25 yapmakla başlar. Egg, panelin arka planda hangi dosyaları indireceğini, sunucuyu hangi komutla başlatacağını ve size hangi ayarları göstereceğini tanımlayan tariftir. Forge, NeoForge, Fabric, CurseForge ve Modrinth için ayrı ayrı egg’ler vardır; hepsi ücretsizdir ve tek bir JSON dosyasından ibarettir.

Bu rehberde egg’leri nereden indireceğinizi, panele nasıl aktaracağınızı, sunucu oluştururken hangi alanları dolduracağınızı, Forge’un unix_args.txt meselesini ve büyük modpacklerde kurulumu sessizce öldüren Wings limitlerini anlatıyoruz. Panelin kurulumunu henüz yapmadıysanız önce Pterodactyl panel kurulumu sayfasını tamamlayın.

Pterodactyl’de Modlu Sunucu Nasıl Çalışır?#

Pterodactyl iki parçadan oluşur: tarayıcıdan gördüğünüz Panel ve sunucuları Docker konteynerlerinde çalıştıran Wings daemon’u. Bir Minecraft sunucusu açtığınızda Wings, egg’in tanımladığı Docker imajından bir konteyner oluşturur, egg’in kurulum betiğini çalıştırır ve ardından başlatma komutunu uygular.

Modlu sunucuda bu akışın kritik iki noktası vardır. Birincisi Docker imajı: konteynerin içindeki Java sürümünü belirler. İkincisi startup komutu: modern Forge ve NeoForge tek parça bir sunucu jar’ı üretmediği için bu komut klasik -jar server.jar biçiminde değildir.

BilgiPterodactyl Panel ve Wings yalnızca Linux üzerinde çalışır. Windows üzerinde panel arıyorsanız Crafty Controller ya da AMP gibi alternatiflere bakmanız gerekir. Panelle hiç uğraşmadan hazır arayüz istiyorsanız web panelli sunucu paketleri kurulumu sizin yerinize halleder.

Hangi Egg’i Seçmelisiniz?#

Egg seçimini modpack belirler, kişisel tercihiniz değil. Kuracağınız paketin sayfasında hangi mod yükleyicisi yazıyorsa ona karşılık gelen egg’i alırsınız.

EggNe zaman kullanılırBaşlatma mantığıEk gereksinim
ForgeForge tabanlı paketler, eski modpackler (1.12.2, 1.16.5, 1.20.1)@unix_args.txt (1.17+) ya da -jar-
NeoForge1.20.1 sonrası yeni paketler, 26.x için varsayılan tercihHer zaman @unix_args.txt-
FabricHafif ve performans odaklı paketlerKlasik -jar server.jar-
CurseForge GenericHazır modpack’i panele indirtmekPakete göre otomatik seçilirAPI anahtarı gerekir
Modrinth GenericHazır .mrpack paketleriPakete göre otomatik seçilirAPI anahtarı gerekmez
Pterodactyl modlu sunucu egg’leri ve kullanım alanları

Minecraft 26.2 için yeni kurulan modlu sunucularda varsayılan tercih NeoForge’dur; büyük modpack ekosistemi 1.20.2 sonrasında büyük ölçüde oraya kaydı. Forge hâlâ aktif geliştiriliyor ama ağırlıklı olarak eski paketlerde kullanılıyor. İki loader arasındaki farkı Forge ile modlu sunucu kurulumu sayfasında ayrıntılandırdık.

Egg’leri Nereden İndirirsiniz?#

Burada eski rehberlerin yanılttığı bir nokta var: uzun yıllar standart olan parkervcp/eggs deposu 14 Mayıs 2024’te arşivlendi ve salt okunur hâle geldi. Güncel Minecraft egg’leri artık pelican-eggs/minecraft deposundadır. Depodaki her klasörde iki dosya bulunur: Pelican için YAML/JSON, Pterodactyl için ayrı bir JSON. Pterodactyl yalnızca JSON formatını kabul eder.

İndirmeniz gerekenler (Pterodactyl JSON egg dosyaları)
  • Forge eggJSON Pterodactyl.jsonÜcretsiz
    İndir
  • NeoForge eggÖnerilen Pterodactyl.jsonÜcretsiz
    İndir
  • Fabric egg Pterodactyl.jsonÜcretsiz
    İndir
  • CurseForge Generic egg Pterodactyl.jsonAPI anahtarı ister
    İndir
  • Modrinth Generic egg Pterodactyl.jsonAnahtar gerekmez
    İndir

Bağlantılar resmî depoya gider. Forum ve Discord kanallarından paylaşılan egg dosyalarını içine bakmadan panele aktarmayın.

Egg’i Panele Aktarma (Import Egg)#

Egg aktarma işlemi admin yetkisi ister; müşteri panelinde bu ekran görünmez. Kendi sunucunuzda çalışıyorsanız yönetici hesabınızla giriş yapın.

  1. Admin alanına geçin#

    Sağ üstteki dişli simgesine tıklayarak yönetim paneline girin. Sol menüden Nests bölümünü açın.

  2. Gerekirse yeni bir Nest oluşturun#

    Egg’i mevcut Minecraft nest’ine ekleyebilirsiniz. Ayrı bir grup istiyorsanız Create New ile önce nest’i oluşturmanız gerekir; Pterodactyl her egg’i bir nest’in altına bağlar.

  3. Import Egg düğmesiyle JSON dosyasını yükleyin#

    Yeşil Import Egg düğmesine tıklayın, indirdiğiniz JSON dosyasını seçin, Associated Nest menüsünden hedef nest’i işaretleyin ve Import deyin.

  4. Docker Images listesinde Java 25 olduğunu doğrulayın#

    İçe aktardığınız egg’i açın ve Docker Images alanına bakın. Java 25 satırı yoksa elle ekleyin ve kaydedin.

    Java 25|ghcr.io/pterodactyl/yolks:java_25
    Java 21|ghcr.io/pterodactyl/yolks:java_21
    Java 17|ghcr.io/pterodactyl/yolks:java_17
DikkatEski arşiv depolardan indirilen egg’lerin Docker Images listesi Java 21’de bitiyor olabilir. Bu durumda Minecraft 26.1 ve 26.2 sunucunuz açılışta UnsupportedClassVersionError verir. Hatanın ayrıntısı için Java sürüm hatası sayfasına bakın.

Sunucu Oluşturma ve Startup Alanlarını Doldurma#

Egg hazır olduğunda admin alanından Servers → Create New ile sunucuyu oluşturursunuz. Modlu sunucuda dikkat etmeniz gereken alanlar şunlardır:

Memory
Modlu sunucuda taban 16384 MB (16 GB). Büyük paketlerde 24576-32768 MB verin.
Disk Space
En az 100 GB. Modpack ZIP’i açıldığında beklediğinizin üç dört katı yer kaplar.
Egg
Forge, NeoForge, Fabric, CurseForge Generic veya Modrinth Generic.
Docker Image
26.x için Java 25 imajı.
MC_VERSION
Minecraft sürümü, örneğin 26.2.
FORGE_VERSION / NEOFORGE_VERSION
Boş bırakırsanız egg en uygun sürümü kendisi seçer. Modpack belirli bir sürüm istiyorsa tam numarayı yazın.

Forge egg’inde ayrıca BUILD_TYPE alanı vardır ve yalnızca iki değer kabul eder: recommended veya latest. Oyuncuların bulunduğu bir sunucuda recommended kanalında kalın. Minecraft 26.2 için Forge’un recommended sürümü 65.1.0, latest sürümü 65.1.2’dir; NeoForge tarafında güncel kararlı yapı 26.2.0.63’tür.

Startup Komutu ve unix_args.txt Meselesi#

Forge 1.17 ve sonrası kurulumdan sonra çalıştırılabilir tek bir forge-<sürüm>.jar üretmez. Bunun yerine run.sh, run.bat, user_jvm_args.txt ve libraries klasörü oluşur. Pterodactyl run.sh dosyasını çalıştırmaz; çünkü betik Java’yı alt süreç olarak başlatır ve panel konsolu sunucuya komut gönderemez hâle gelir.

Çözüm olarak egg’in kurulum betiği, sunucu kök dizinine bir sembolik bağ atar:

# Forge için
ln -sf libraries/net/minecraftforge/forge/*/unix_args.txt unix_args.txt

# NeoForge için
ln -sf libraries/net/neoforged/neoforge/*/unix_args.txt unix_args.txt

Startup komutu da bu dosyanın varlığına göre davranır. Forge egg’inin varsayılan komutu şudur:

java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s "-jar {{SERVER_JARFILE}}" || printf %s "@unix_args.txt" )

NeoForge egg’i her zaman unix_args.txt varsayar ve koşullu ifade içermez. Fabric egg’i ise klasik mantıkla çalışır: java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}.

İpucuSunucu açılmıyor ve konsolda Unable to access jarfile ya da argüman dosyası hatası görüyorsanız, dosya yöneticisinden kök dizine bakın. unix_args.txt yoksa sembolik bağ oluşmamıştır. Sunucuyu yeniden kurun ya da startup komutundaki @unix_args.txt ifadesini @libraries/net/neoforged/neoforge/26.2.0.63/unix_args.txt gibi tam yolla değiştirin.

Bellek Ayarı: MaxRAMPercentage mi, Sabit Heap mi?#

Modlu egg’lerin çoğu sabit -Xmx yerine -XX:MaxRAMPercentage=95.0 kullanır; yani Java, konteynere verilen belleğin yüzde 95’ini heap olarak almaya çalışır. Bu değer modlu sunucuda risklidir, çünkü konteyner limiti heap dışındaki belleği de sayar: sınıf metadata’sı, iş parçacığı yığınları ve yerel bellek. Yüzde 95 heap veren bir modpack sunucusu, GC yükü arttığında konteyner sınırını aşıp öldürülür.

Güvenli yaklaşım, startup komutunda yüzdeyi kaldırıp sabit heap vermektir:

java -Xms14G -Xmx14G -XX:+UseZGC -XX:+UseStringDeduplication -XX:+UseCompactObjectHeaders -XX:MaxMetaspaceSize=1g -Dterminal.jline=false -Dterminal.ansi=true @unix_args.txt
Panel Memory değeriÖnerilen heapUygun paket boyutu
8192 MB (8 GB)-Xms6G -Xmx6GEklentili sunucu veya çok küçük Fabric paketi
16384 MB (16 GB)-Xms14G -Xmx14GModlu sunucu için taban
24576 MB (24 GB)-Xms20G -Xmx20G150-250 mod, orta oyuncu sayısı
32768 MB (32 GB)-Xms28G -Xmx28G300+ mod, kalabalık sunucu
Pterodactyl bellek limiti ile Java heap eşleşmesi
UyarıPterodactyl’de -XX:+AlwaysPreTouch bayrağını kullanmayın. Bu bayrak heap’in tamamına açılışta dokunur ve konteyner bellek limitine erken çarparak sunucunun daha açılmadan öldürülmesine yol açar. Ayrıca Java 25’te -XX:+ZGenerational bayrağı geçersizdir; yalnızca -XX:+UseZGC yazın. Bellek hatalarının tam listesi için Out of Memory hatası çözümü sayfasına bakın.

Büyük Modpacklerde Wings ve NGINX Limitleri#

Buraya kadar her şeyi doğru yaptığınız hâlde 300 modluk bir paketin kurulumu sessizce ölüyorsa, sorun büyük ihtimalle sizin ayarlarınızda değil sunucunun kendi limitlerinde. Üç ayrı limiti kontrol edin.

1. Kurulum konteyneri belleği#

Wings, egg kurulum betiğini ayrı bir konteynerde çalıştırır ve bu konteynerin varsayılan bellek limiti yalnızca 1024 MB’dır. CurseForge egg’i onlarca modu paralel indirip açtığı için bu limit büyük paketlerde yetmez.

# /etc/pterodactyl/config.yml
docker:
  installer_limits:
    memory: 4096
    cpu: 100

2. Yükleme boyutu limiti#

Tarayıcıdan büyük ZIP yüklerken 413 hatası alıyorsanız iki limiti birlikte yükseltin.

# /etc/nginx/sites-available/pterodactyl.conf
client_max_body_size 1000m;
client_body_timeout 300s;
# /etc/pterodactyl/config.yml
api:
  upload_limit: 2048

Değişikliklerden sonra iki servisi de yeniden başlatın:

sudo systemctl restart nginx
sudo systemctl restart wings

3. Disk kotası#

Wings, bir arşivi açmadan önce içeriğinin sunucunun disk kotasına sığıp sığmayacağını hesaplar; sığmıyorsa açma işlemini reddeder. 800 MB’lık bir modpack ZIP’i açıldığında 3-4 GB olabileceği için sunucunun disk limitini buna göre ayarlayın.

Modpack’i Panele Kurdurma#

CurseForge Generic egg’i, modpack’in Project ID değerini ister. Bu numarayı modpack’in CurseForge sayfasındaki “About Project” bölümünde bulursunuz. Egg sırasıyla şunu yapar: API’den paket bilgisini çeker, sunucu paketine öncelik vererek dosyayı seçer, ZIP’i indirir, açar, manifest.json dosyasından mod yükleyicisini okur ve manifestteki her modu tek tek indirir.

Modrinth Generic egg’i aynı işi API anahtarı olmadan yapar ve 8 karakterlik proje kimliğini ister. Modrinth tarafını ayrıntılı anlatan Modrinth modpack sunucusu kurma sayfasına da göz atın.

Elinizde hazır bir sunucu paketi varsa egg kullanmadan doğrudan yükleyebilirsiniz; paketin nereden indirileceğini CurseForge server pack indirme sayfasında gösterdik. Büyük dosyalarda tarayıcı yerine SFTP tercih edin; bağlantı bilgileri panele FTP ve SFTP ile bağlanma sayfasında anlatılıyor.

DikkatMinecraft 26.2 için henüz büyük modpack yayınlanmadı. All the Mods, RLCraft, Better MC gibi 200-400 modluk paketlerin 26.2 sürümü yok; bu paketleri kuracaksanız MC_VERSION alanına 1.21.x veya 1.20.1 yazacaksınız ve Docker imajını da o sürümün istediği Java’ya çekeceksiniz.

Kurulum Sonrası Kontrol Listesi#

  • eula.txt dosyasında eula=true yazıyor mu?
  • Konsolda Done satırı çıktı mı, yoksa sunucu döngüye mi girdi?
  • mods klasöründeki jar sayısı modpack’in vaat ettiğiyle uyuşuyor mu?
  • Docker imajı ile Minecraft sürümü eşleşiyor mu (26.x için Java 25)?
  • Oyunculara dağıttığınız istemci paketi sunucudakiyle aynı sürüm mü?

Hâlâ açılmayan bir sunucunuz varsa hata mesajını modlu sunucu hataları ve çözümleri sayfasındaki listeyle karşılaştırın. Panelin günlük kullanımını (zamanlanmış görevler, alt kullanıcı yetkileri, yedekler) öğrenmek için Pterodactyl panel kullanım rehberi iyi bir devam noktasıdır.

Donanım Tarafı: Panel Yükü Nereye Biner?#

Pterodactyl’in kendisi hafiftir; asıl yük Wings’in çalıştırdığı Minecraft konteynerlerindedir. Modlu sunucu barındıracak bir düğüm (node) seçerken şu üçlüden şaşmayın: yüksek saat hızlı AMD Ryzen 9 7900X veya 7950X (alt sınır Ryzen 9 3900X), NVMe SSD ve modlu sunucu başına en az 16 GB ayrılabilir bellek. Minecraft’ın ana tick döngüsü tek çekirdekte çalıştığı için çekirdek sayısı değil frekans belirleyicidir.

Tek bir düğümde birden fazla modlu sunucu çalıştıracaksanız belleği toplayıp bölmeyin: her sunucu için ayrı ayrı 16 GB hesaplayın ve işletim sistemiyle Docker için pay bırakın. Kendi düğümünüzü kurmak istiyorsanız yüksek frekanslı Ryzen VDS paketleri bu iş için uygun bir başlangıçtır.

Özetle#

Pterodactyl’de modlu sunucu kurmanın özü şu: güncel depodan doğru egg’i indirin, admin alanından içe aktarın, Docker imajını 26.x için Java 25 yapın ve sunucuyu 16 GB’ın altında bir bellekle açmayın. Forge ve NeoForge tarafında unix_args.txt mantığını bilmek, açılmayan sunucuların büyük kısmını tek başına çözer.

Büyük paketlerde kurulum yarıda kesiliyorsa aklınıza ilk gelen şey Wings’in installer_limits ayarı olsun; bu tek satır, panelde en çok zaman kaybettiren sorunun kaynağıdır. Panel yerine kendi VDS’inizde elle kurulum yapmak isterseniz VDS üzerinde modlu sunucu kurma rehberi aynı işi komut satırından anlatıyor.

Sıkça Sorulan Sorular#

Pterodactyl’de hangi egg ile modlu sunucu kurulur?

Kuracağınız modpack hangi mod yükleyicisini istiyorsa o egg’i seçersiniz: Forge egg’i, NeoForge egg’i veya Fabric egg’i. Hazır bir modpack kuracaksanız CurseForge Generic ya da Modrinth Generic egg’leri paketin tüm modlarını sizin yerinize indirir. Egg seçimini modpack belirler, tercih değil.

Pterodactyl’de Java 25 nasıl seçilir?

Sunucunun Startup sekmesindeki Docker Image açılır menüsünden Java 25 seçeneğini işaretlersiniz. Liste boşsa admin panelinden Nests bölümündeki egg’in Docker Images alanına Java 25|ghcr.io/pterodactyl/yolks:java_25 satırını eklemeniz gerekir. Minecraft 26.1 ve sonrası Java 25 olmadan açılmaz.

Forge kurdum ama sunucu açılmıyor, unix_args.txt hatası veriyor. Ne yapmalıyım?

Forge 1.17 ve sonrası tek parça sunucu jar’ı üretmez. Pterodactyl bu yüzden kurulum sırasında libraries altındaki unix_args.txt dosyasına sunucu kökünden sembolik bağ atar. Bağ oluşmamışsa startup komutundaki @unix_args.txt ifadesini dosyanın tam yoluyla değiştirin ya da sunucuyu yeniden kurun.

Büyük modpack kurulumu neden yarıda kesiliyor?

Wings’in kurulum konteyneri varsayılan olarak yalnızca 1024 MB bellek kullanır. 200-400 modluk paketlerde bu limit yetmez ve kurulum sessizce ölür. /etc/pterodactyl/config.yml içindeki installer_limits altındaki memory değerini 4096’ya çıkarıp Wings’i yeniden başlatın.

Panelde tanımlı bellek ile -Xmx aynı olabilir mi?

Hayır. Pterodactyl’in bellek limiti heap dışında sınıf metadata’sını, iş parçacığı yığınlarını ve yerel belleği de sayar; -Xmx ise yalnızca heap’i sınırlar. İkisini eşitlerseniz konteyner OOM ile öldürülür. 16 GB limitte heap’i 14 GB civarında bırakın.

Modpack ZIP’ini panele yüklerken 413 hatası alıyorum.

İki ayrı limit var ve ikisini birlikte yükseltmeniz gerekir. NGINX tarafında client_max_body_size, Wings tarafında /etc/pterodactyl/config.yml içindeki api.upload_limit. Değişiklikten sonra hem NGINX’i hem Wings’i yeniden başlatın. Alternatif olarak dosyayı SFTP ile yükleyebilirsiniz.

Pterodactyl mi Pelican mı kullanmalıyım?

Üretim sunucusunda Pterodactyl’in 1.15 hattı kararlı sürümdür; Pelican ise hâlâ beta aşamasındadır. Pelican, Pterodactyl’den çatallanan yeni nesil paneldir ve Pterodactyl egg’lerini sorunsuz çalıştırır. Yeni bir kurulum yapıyorsanız ve kararlılık önceliğinizse Pterodactyl’de kalın.

CurseForge egg’i için API anahtarı şart mı?

Evet, CurseForge Generic egg’i çalışmak için bir CurseForge API anahtarı ister ve bu alan müşteriye gösterilmez, admin tarafından tanımlanır. Anahtar almak başvuru ve onay gerektirir. Bu süreçle uğraşmak istemiyorsanız API anahtarı gerektirmeyen Modrinth Generic egg’ini kullanın.

Modlu Sunucu Kurulumu — Tüm Rehberler#

  1. Modlu Minecraft Sunucusu Nasıl Kurulur? VDS Üzerinde Adım Adım
  2. CurseForge Modpack Sunucusu Nasıl Kurulur? (VDS)
  3. CurseForge Server Pack (Sunucu Paketi) Nasıl İndirilir?
  4. Web Panel Üzerinden Modlu Minecraft Sunucusu Kurma
  5. Pterodactyl Panelinde Modlu Minecraft Sunucusu Kurma
  6. Modlu Minecraft Sunucusu İçin Kaç GB RAM Gerekir?
  7. Modlu Sunucuya Sonradan Mod Ekleme ve Çıkarma
  8. Modlu Sunucuya Arkadaşlarınız Nasıl Bağlanır?
  9. CurseForge Launcher Kurulumu ve Kullanımı
  10. Modrinth Modpack Sunucusu Nasıl Kurulur?
  11. ATLauncher, Technic ve FTB Modpack Sunucusu Kurma
  12. Modlu Minecraft Sunucusu Hataları ve Çözümleri
  13. “Missing or Unsupported Mods” Mod Uyuşmazlığı Hatası
  14. Modlu Minecraft Sunucusu Optimizasyonu

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön