Ekran Kartlı Sunucu Satışları Başladı. İncele
Bedrock ve Mobil (PE)

Minecraft Bedrock Sunucusuna Addon Nasıl Eklenir?

behavior_packs ve resource_packs klasörleri, world_behavior_packs.json düzenleme ve addon’ların dünyada etkinleştirilmesi.

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

Kısaca Özet

  • Bedrock sunucusuna addon eklemek iki klasör ve iki JSON dosyası ile olur: paketi behavior_packs/ ya da resource_packs/ içine çıkarın, sonra dünyanın içindeki world_behavior_packs.json ve world_resource_packs.json dosyalarına UUID’sini yazın.
  • Addon dosyaları (.mcaddon, .mcpack) aslında ZIP arşividir; uzantıyı .zip yapıp açabilirsiniz. Klasörün ilk seviyesinde manifest.json görünmüyorsa yanlış çıkarmışsınızdır.
  • JSON’a yazdığınız pack_id ve version değerleri, paketin manifest.json dosyasındaki header.uuid ve header.version ile birebir aynı olmalıdır. Tek karakterlik fark paketi sessizce yüklenmez hâle getirir.
  • Behavior pack yalnızca sunucuda çalışır; resource pack ise oyuncu bağlanırken istemciye indirilir. Ayrıntılı mobil tarafı için Minecraft PE mod kurulumu sayfasına bakın.

Minecraft Bedrock sunucusuna addon eklemek, dosyayı klasöre atıp geçmekle bitmez: paketi doğru dizine çıkarmanız ve ardından dünyanın içindeki iki JSON dosyasına paketin kimliğini elle yazmanız gerekir. Bedrock Dedicated Server (BDS), Java Edition’daki gibi bir eklenti (plugin) sistemi kullanmaz; yaptığınız her değişiklik behavior pack (davranış paketi) ve resource pack (kaynak paketi) üzerinden yürür.

Bu rehberde bir addon dosyasını sıfırdan alıp sunucuda çalışır hâle getirene kadar geçen bütün adımları göreceksiniz: arşivi açma, klasör yapısını doğru kurma, manifest.json içindeki UUID’yi bulma, world_behavior_packs.json dosyasını düzenleme ve paket yüklenmediğinde logdan hatayı okuma. Adımlar hem Windows hem Linux üzerindeki BDS kurulumları için geçerlidir; sunucunun kendisini henüz kurmadıysanız önce Windows’ta Bedrock Dedicated Server kurulumu ya da Ubuntu’da Bedrock Dedicated Server kurulumu sayfasını tamamlayın.

Behavior Pack ve Resource Pack Arasındaki Fark#

Bedrock tarafında "addon" dediğimiz şey aslında bu iki paket türünün biri ya da ikisidir. Hangisinin nereye gittiğini bilmezseniz kurulumun tamamı boşa gider, o yüzden önce bunu netleştirelim.

ÖzellikBehavior Pack (BP)Resource Pack (RP)
Ne değiştirirOyun mantığı: yaratık davranışı, loot tablosu, craft tarifi, scriptGörünüm ve ses: doku, model, animasyon, arayüz, müzik
Nerede çalışırYalnızca sunucudaOyuncunun cihazında
Sunucudaki klasörübehavior_packs/resource_packs/
Dünya kaydıworld_behavior_packs.jsonworld_resource_packs.json
Oyuncu indirir miHayırEvet, bağlanırken otomatik iner
Sunucu CPU’suna etkisiVar (özellikle script içerenlerde)Yok denecek kadar az
Bedrock behavior pack ve resource pack karşılaştırması

Çoğu addon iki paketi birlikte dağıtır. Örneğin yeni bir yaratık ekleyen bir addonda yaratığın yapay zekâsı ve can değeri behavior pack’te, modeli ve dokusu resource pack’tedir. İkisinden biri eksik yüklenirse yaratık ya görünmez olur ya da hiç oluşmaz.

BilgiSadece görünüm değiştirmek istiyorsanız behavior pack’e hiç dokunmanıza gerek yok. Yalnızca doku paketi yükleme konusu için sunucuya resource pack ekleme sayfasında ayrıca anlatılan yöntemi de inceleyebilirsiniz.

Sunucu Klasör Yapısını Tanıyın#

BDS kurulumunuz açıldığında karşınıza çıkan yapı şudur. Yolları Windows’ta C:\bedrock-server\, Linux’ta /opt/bedrock-server/ olarak düşünün:

bedrock-server/
├── bedrock_server            (Linux)  /  bedrock_server.exe (Windows)
├── server.properties
├── allowlist.json
├── permissions.json
├── behavior_packs/           <-- BP klasörleri buraya
├── resource_packs/           <-- RP klasörleri buraya
├── development_behavior_packs/
├── development_resource_packs/
└── worlds/
    └── Bedrock level/        <-- server.properties içindeki level-name
        ├── level.dat
        ├── db/
        ├── world_behavior_packs.json    <-- BP kaydı
        └── world_resource_packs.json    <-- RP kaydı

Dikkat edilecek nokta: paketi kök dizindeki behavior_packs/ klasörüne koymak yüklemek anlamına gelmez, sadece "kütüphaneye eklemek" demektir. Paket ancak dünyanın kendi JSON dosyasında adı geçtiğinde etkinleşir. Bu iki adımlı yapı, aynı sunucuda birden fazla dünya tutup her dünyaya farklı addon seti vermenizi sağlar.

development_behavior_packs klasörü geliştirme içindir; buradaki paketler dünya her yüklendiğinde yeniden okunur, bu yüzden addon yazarken pratiktir ama yayında olan bir sunucuda kullanılmaz.

Addon Dosyasını Açma: .mcaddon ve .mcpack#

İnternetten indirdiğiniz addon büyük ihtimalle .mcaddon veya .mcpack uzantılıdır. İkisi de standart ZIP arşividir; sadece uzantısı farklıdır çünkü telefonda ya da masaüstünde çift tıklandığında Minecraft istemcisinin açması istenir. Sunucuda böyle bir otomatik açma yoktur.

  • .mcpack — tek bir paket içerir. Açtığınızda doğrudan manifest.json ve yanındaki klasörleri görürsünüz.
  • .mcaddon — birden fazla paketi bir arada taşır. Açtığınızda içinden iki klasör (BP ve RP) ya da iki ayrı .mcpack dosyası çıkabilir. İkinci durumda o .mcpack dosyalarını da ayrıca açmanız gerekir.
  • .zip — bazı yazarlar arşivi doğrudan zip olarak dağıtır; farkı yoktur.

Windows tarafında arşivi PowerShell ile açmak en hızlısıdır:

Rename-Item "C:\indirilenler\ornek-addon.mcaddon" "ornek-addon.zip"
Expand-Archive -Path "C:\indirilenler\ornek-addon.zip" -DestinationPath "C:\indirilenler\ornek-addon"
Get-ChildItem -Recurse -Filter manifest.json "C:\indirilenler\ornek-addon"

Linux tarafında unzip aynı işi görür; uzantıyı değiştirmeye bile gerek yoktur:

mkdir -p /tmp/ornek-addon
unzip ~/ornek-addon.mcaddon -d /tmp/ornek-addon
find /tmp/ornek-addon -name manifest.json

Son satırdaki arama önemli: manifest.json dosyalarının nerede olduğunu görürseniz paket klasörlerinin gerçek sınırını anlarsınız. Kopyalayacağınız klasör, manifest.json dosyasının bulunduğu klasördür — bir üstü değil.

DikkatAddonu yalnızca yazarın kendi sayfasından, MCPEDL gibi bilinen bir depodan veya Minecraft Marketplace’ten indirin. Reklam yönlendirmeli "indirme hızlandırıcı" siteleri sık sık arşive alakasız dosya ekler. Şüpheli bir pakette manifest.json dışında .exe, .apk veya .bat uzantılı dosya görürseniz kullanmayın.

Paketleri Sunucuya Yükleme (Adım Adım)#

  1. Sunucuyu düzgün kapatın ve yedek alın#

    Konsola stop yazın ve işlemin tamamen kapanmasını bekleyin. Sunucu çalışırken dünya dosyalarına dokunmak db/ klasöründeki LevelDB veritabanını bozabilir. Kapattıktan sonra worlds/ klasörünün bir kopyasını alın; yöntem için sunucu yedekleme rehberine bakabilirsiniz.

    cd /opt/bedrock-server
    tar -czf ~/dunya-yedek-$(date +%F).tar.gz worlds/
  2. Behavior pack klasörünü kopyalayın#

    Açtığınız arşivde içinde entities, loot_tables, scripts gibi klasörler bulunan paket behavior pack’tir. Klasörün tamamını sunucudaki behavior_packs/ içine taşıyın. Klasör adında Türkçe karakter ve boşluk kullanmayın.

    cp -r /tmp/ornek-addon/OrnekAddon_BP /opt/bedrock-server/behavior_packs/
  3. Resource pack klasörünü kopyalayın#

    İçinde textures, models, sounds klasörleri olan paket resource pack’tir; o da resource_packs/ altına gider.

    cp -r /tmp/ornek-addon/OrnekAddon_RP /opt/bedrock-server/resource_packs/
  4. manifest.json dosyalarından UUID’leri alın#

    Her paketin manifest.json dosyasını açın ve header bloğundaki uuid ile version değerlerini bir kenara not edin. Bu iki değeri birazdan JSON kaydına yazacaksınız.

  5. Dünya JSON dosyalarını düzenleyin#

    worlds/<dünya adı>/ klasöründeki world_behavior_packs.json ve world_resource_packs.json dosyalarına kayıtları ekleyin. Dosyalar yoksa elle oluşturun.

  6. Sunucuyu başlatın ve logu izleyin#

    Sunucu açılırken konsolda paket adlarının geçtiğini görmelisiniz. Görmüyorsanız paket yüklenmemiştir; bir sonraki bölümlerdeki kontrol listesine geçin.

world_behavior_packs.json Nasıl Yazılır?#

Bu dosya bir JSON dizisidir ve her paket için tek bir nesne içerir. Sadece iki alan zorunludur: pack_id ve version.

[
  {
    "pack_id": "9c1c3b5a-1b2d-4e5f-8a90-1234567890ab",
    "version": [1, 0, 0]
  },
  {
    "pack_id": "d41f2a08-77c6-4b19-b0e2-55aa9911cc00",
    "version": [2, 1, 4]
  }
]

world_resource_packs.json dosyası da tamamen aynı biçimdedir; tek farkı resource pack’lerin UUID’lerini içermesidir. Değerleri şu manifest örneğinden nasıl aldığınıza dikkat edin:

{
  "format_version": 2,
  "header": {
    "name": "Ornek Addon BP",
    "description": "Ozel yaratik ve tarif paketi",
    "uuid": "9c1c3b5a-1b2d-4e5f-8a90-1234567890ab",
    "version": [1, 0, 0],
    "min_engine_version": [1, 21, 0]
  },
  "modules": [
    {
      "type": "data",
      "uuid": "3f0d9e77-2b44-4a11-9c33-abcdef123456",
      "version": [1, 0, 0]
    }
  ]
}

JSON’a yazılacak olan header bloğundaki UUID’dir, modules içindeki değil. Bu ikisinin karıştırılması, addon kurulumunda en sık görülen hatadır. Aynı şekilde version dizisi manifest’tekiyle birebir eşleşmelidir: manifest’te [2, 1, 4] yazıyorsa JSON’a [2, 1, 0] yazamazsınız.

İpucuJSON dosyalarını Not Defteri yerine Notepad++ gibi bir düzenleyiciyle açın. Eksik virgül veya fazladan kapanan köşeli parantez gibi hatalar renklendirme sayesinde hemen göze çarpar. Kaydederken kodlamayı UTF-8 (BOM’suz) bırakın; BOM’lu kaydedilen dosyayı sunucu okuyamaz.

Deneysel Özellikler ve level.dat Meselesi#

Bazı addonlar Script API’nin beta modüllerini, özel blok bileşenlerini veya henüz kararlı hâle gelmemiş oyun özelliklerini kullanır. Bu addonların çalışabilmesi için dünyada ilgili deneysel özelliğin (experiment) açık olması gerekir.

Burada takılan çok kullanıcı oluyor, çünkü deneysel ayarlar server.properties içinde bir satır değildir — dünyanın level.dat dosyasında saklanır. Yani sunucu tarafından açıp kapatamazsınız. Yapılacak iş şudur:

  1. Dünyayı oyun istemcisinde oluşturun#

    Telefon, konsol veya Windows sürümünde yeni dünya oluştururken "Oyun Ayarları" bölümünde ilgili deneysel anahtarları (örneğin Beta APIs) açın ve dünyaya girip çıkın.

  2. Dünyayı dışa aktarın#

    Dünya listesinde kalem simgesine dokunup "Dünyayı Dışa Aktar" seçeneğiyle .mcworld dosyasını alın.

  3. Sunucuya yükleyin#

    .mcworld yine bir ZIP arşividir. Açın ve içindekileri worlds/<dünya adı>/ klasörüne kopyalayın, ardından server.properties içindeki level-name değerini o klasör adıyla eşleyin.

level-name=OzelDunya
texturepack-required=true
content-log-file-enabled=true
server-port=19132
server-portv6=19133

texturepack-required=true yaptığınızda oyuncular resource pack’i indirmeden sunucuya giremez; kendi dokularınızın herkeste görünmesini istiyorsanız bu satır işinize yarar. content-log-file-enabled=true ise addon hatalarının ayrı bir günlüğe yazılmasını sağlar, sorun giderirken çok işe yarayacak.

Addon Yüklenmediğinde Ne Yapmalı?#

Paket yüklenmediğinde sunucu genelde çökmez, sadece hiçbir şey olmaz. Bu yüzden hatayı bulmak logdan geçer. Sunucu açılışında paketlerin adı geçmiyorsa aşağıdaki tabloya bakın.

BelirtiOlası nedenÇözüm
Paket logda hiç görünmüyorUUID JSON’a yanlış yazılmış veya kayıt hiç eklenmemişmanifest’teki header.uuid ile JSON’daki pack_id değerini karşılaştırın
Paket görünüyor ama içerik çalışmıyorversion dizisi manifest ile uyuşmuyorÜç sayıyı da manifest’teki hâliyle yazın
ContentLog’da "manifest not found"Klasör fazladan bir katman içindemanifest.json, pack klasörünün ilk seviyesinde olmalı
"pack requires a newer version"min_engine_version sunucudan yeniSunucuyu güncelleyin veya addonun eski sürümünü kullanın
Oyuncu bağlanırken indirme takılıyorResource pack çok büyük ya da bozukPaketi yeniden indirin, boyutu 100 MB altında tutmaya çalışın
Yaratık var ama görünmüyorResource pack yüklenmemişworld_resource_packs.json kaydını kontrol edin
Bedrock addon kurulumunda sık karşılaşılan sorunlar

ContentLog dosyasını açtığınızda paketin adının geçtiği satırları aramak en hızlı yöntemdir:

grep -i "OrnekAddon" /opt/bedrock-server/logs/ContentLog*.txt
tail -n 100 /opt/bedrock-server/logs/ContentLog*.txt

Windows’ta aynı işi Notepad++ ile açıp arama yaparak veya PowerShell’de Select-String ile yapabilirsiniz. Loglardan hata okuma alışkanlığı kazanmak, Bedrock kadar Java tarafında da işinize yarar; genel yaklaşım için Minecraft sunucu logları nasıl okunur sayfasına göz atın.

UyarıBir behavior pack’i, o paketin eklediği blok ve yaratıklar dünyada bulunurken kaldırırsanız o içerikler kalıcı olarak kaybolur ve chunk’larda boşluk bırakabilir. Paket kaldırmadan önce mutlaka worlds/ klasörünün tam yedeğini alın.

Birden Fazla Addon Kullanırken Sıralama#

JSON dizisindeki sıra rastgele değildir. Aynı dosyayı değiştiren iki paket varsa, listede üstte olan kazanır. Yani bir addonun diğerini ezmesini istiyorsanız onu dizinin başına koyun.

Pratikte şu kuralları uygulamak çakışmayı büyük ölçüde önler:

  • Aynı yaratığa dokunan iki addon kurmayın; biri diğerinin davranış dosyasını tamamen geçersiz kılar.
  • Bir addon başka bir pakete bağımlıysa manifest’in dependencies bloğunda belirtilir; bağımlı paketi de mutlaka yükleyin.
  • Yeni paketleri önce ayrı bir test dünyasında deneyin. Test dünyası açmak için server.properties içindeki level-name değerini geçici olarak değiştirmeniz yeterlidir.
  • Her eklemeden sonra sunucuyu tek seferde tek paketle başlatın; beş paketi birden ekleyip hangisinin bozduğunu aramak zaman kaybıdır.

İndirmeniz Gerekenler#

İndirmeniz gerekenler
  • Bedrock Dedicated ServerResmî Windows / Linux.zipÜcretsiz
    İndir
  • 7-Zip (arşiv açma) Windows.exeÜcretsiz
    İndir
  • Notepad++ (JSON düzenleme) Windows.exeÜcretsiz
    İndir
  • WinSCP (sunucuya dosya aktarma) Windows.exeÜcretsiz
    İndir

Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden sunucu paketi indirmeyin.

Addonlu Bedrock Sunucusu İçin Donanım#

Script çalıştıran behavior pack’ler ana tick döngüsünün üzerine ek yük bindirir. Minecraft’ın dünya döngüsü tek çekirdekte işlediği için burada belirleyici olan çekirdek sayısı değil saat hızıdır. Batihost tarafında bu iş için AMD Ryzen 9 7900X / 7950X tabanlı makineler kullanılır; alt sınır Ryzen 9 3900X’tir.

SenaryoRAMİşlemciDisk
2-10 oyuncu, birkaç hafif addon8 GBRyzen 9 7900XNVMe SSD 50 GB
10-30 oyuncu, script’li addon seti10-12 GBRyzen 9 7900XNVMe SSD 100 GB
30-60 oyuncu, çok dünyalı yapı16 GBRyzen 9 7950XNVMe SSD 100 GB+
60+ oyuncu veya büyük addon paketi32 GBRyzen 9 7950XNVMe SSD 200 GB+
Addon kullanan Bedrock sunucuları için önerilen donanım

Disk tarafında NVMe SSD tercih edilmesinin sebebi, Bedrock’un LevelDB veritabanına sürekli küçük yazma yapmasıdır; gecikmeli bir disk doğrudan chunk yükleme takılmalarına dönüşür. Hazır kurulu bir ortam istiyorsanız Minecraft PE / Bedrock sunucu paketleri ya da tam kontrol için VDS paketleri üzerinden ilerleyebilirsiniz.

Bedrock Addon mu, Java Eklentisi mi?#

Addon sistemi esnektir ama Java Edition’daki plugin ekosisteminin yerini tutmaz. Ekonomi, arazi koruma, gelişmiş yetkilendirme gibi sistemler Bedrock’ta hazır olarak yoktur; her birini addon içinde script yazarak kendiniz kurmanız gerekir.

Hem telefondan hem bilgisayardan oyuncu almak, aynı zamanda LuckPerms, WorldGuard gibi olgun eklentileri kullanmak istiyorsanız daha yaygın çözüm Paper sunucusu üzerine Geyser ve Floodgate kurmaktır. Bu yapıda Bedrock oyuncuları Java sunucusuna sorunsuz bağlanır, siz de eklenti tarafında serbest kalırsınız. İki sürüm arasındaki temel farkları Java Edition mı Bedrock Edition mı sayfasında karşılaştırdık.

Oyuncularınızın sunucuya nasıl bağlanacağını anlatmak için Bedrock sunucusuna nasıl girilir sayfasını paylaşabilirsiniz; addon yüklü sunucularda oyuncunun ilk girişte resource pack indirmesi gerektiğini de belirtin.

Özetle#

Bedrock sunucusuna addon eklemek iki aşamalıdır: paketi doğru klasöre çıkarmak ve dünyanın JSON kaydına UUID’yi yazmak. İkinci adım atlandığında paket sunucuda durur ama hiç çalışmaz — kurulumların büyük çoğunluğu tam burada takılır.

Kontrol listesi olarak aklınızda kalsın: sunucuyu stop ile kapatın, yedek alın, arşivi açıp manifest.json’un bulunduğu klasörü kopyalayın, header.uuid ve header.version değerlerini JSON’a birebir yazın, content-log-file-enabled=true yapıp sunucuyu başlatın ve logda paketin adını arayın. Bu sırayı takip ettiğinizde çalışmayan addon neredeyse hiç kalmaz.

Sıkça Sorulan Sorular#

Bedrock sunucusuna addon nasıl eklenir?

Sunucuyu stop komutuyla kapatın, addon arşivini açıp behavior pack klasörünü behavior_packs/, resource pack klasörünü resource_packs/ içine kopyalayın. Ardından worlds/DünyaAdı/ klasöründeki world_behavior_packs.json ve world_resource_packs.json dosyalarına paketin UUID ve sürüm bilgisini ekleyip sunucuyu yeniden başlatın.

behavior pack ile resource pack arasındaki fark nedir?

Behavior pack (davranış paketi) oyunun mantığını değiştirir: yaratık davranışı, loot tablosu, craft tarifi, komut ve script. Sunucuda çalışır, oyuncu indirmez. Resource pack (kaynak paketi) yalnızca görünümü ve sesi değiştirir: doku, model, ses, arayüz. Oyuncu sunucuya girerken otomatik olarak indirir.

.mcaddon dosyasını sunucuya doğrudan atabilir miyim?

Hayır. Bedrock Dedicated Server .mcaddon veya .mcpack dosyasını kendisi açmaz; bu biçimler yalnızca oyun istemcisi için hazırlanmıştır. Sunucuda arşivi elle açıp içindeki klasörleri ilgili behavior_packs ve resource_packs dizinlerine koymanız gerekir.

Addon ekledim ama oyunda hiçbir şey değişmedi, neden?

En sık üç sebep var: JSON dosyasındaki UUID manifest ile uyuşmuyor, version dizisi manifest’teki değerden farklı yazılmış, ya da paket klasörü fazladan bir katman içinde kalmış. Sunucu açılış logunda paket adı görünmüyorsa paket hiç okunmamış demektir; content-log-file-enabled=true yapıp ContentLog çıktısını kontrol edin.

Bedrock addon için deneysel özellik açmak gerekir mi?

Script API’nin beta modüllerini, özel blok bileşenlerini veya yeni deneysel içerikleri kullanan addonlar için gerekir. Deneysel ayarlar dünyanın level.dat dosyasında tutulur ve sunucu tarafında bir server.properties satırıyla açılamaz. Dünyayı oyun istemcisinde deneyseller açık şekilde oluşturup sunucuya yükleyin.

Kaç tane addon aynı anda yüklenebilir?

Teknik bir üst sınır yok, JSON dosyasına kaç kayıt eklerseniz o kadar paket yüklenir. Ancak paketler aynı dosyayı (örneğin aynı yaratığın davranışını) değiştirdiğinde listedeki sıralama belirleyici olur ve çakışma yaşanır. Uygulamada 5-10 paketin üzerine çıkmadan önce test dünyasında deneyin.

Addon eklemek sunucu performansını düşürür mü?

Behavior pack’ler özellikle script içeriyorsa tick süresini uzatır; çok sayıda özel yaratık ve sürekli çalışan script gecikme yaratır. Resource pack sunucu CPU’sunu yormaz ama boyutu büyükse oyuncuların bağlanma süresini uzatır. 8 GB RAM ve yüksek saat hızlı Ryzen 9 tabanlı bir sunucu bu yükü rahat karşılar.

Addon yüklü dünyadan addon nasıl kaldırılır?

Önce dünyanın yedeğini alın. Sunucuyu durdurup ilgili kaydı world_behavior_packs.json içinden silin, sonra paketi behavior_packs/ klasöründen kaldırın. Paketin eklediği özel blok ve yaratıklar dünyada kalmışsa kaldırıldıktan sonra kaybolur veya hatalı görünür; bu yüzden yedek almadan kaldırma yapmayın.

Bedrock ve Mobil (PE) — Tüm Rehberler#

  1. Geyser ve Floodgate ile Bedrock Oyuncularını Java Sunucuya Bağlama
  2. Minecraft PE (Bedrock) Sunucusuna Nasıl Girilir?
  3. Minecraft Bedrock Sunucusuna Addon Nasıl Eklenir?
  4. Minecraft PE’ye Mod ve Addon Kurulumu

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