Hemen her eklentili sunucuda bulunan bir eklenti varsa o da EssentialsX'tir. Ev kurma, doğma noktasına dönme, özel mesaj, ışınlanma noktaları, başlangıç kitleri ve sunucu kuralları gibi oyuncuların ilk gün aradığı kolaylıkların çoğunu tek pakette verir. Ama kurulup varsayılan hâliyle bırakıldığında ya hiçbir şey çalışmaz ya da herkes her şeyi yapabilir. Bu rehber EssentialsX'i adım adım kurup ayarlamayı ve komutları yetki gruplarına doğru dağıtmayı anlatır.

Hangi parçaları kurmalısın?

EssentialsX tek bir dosya değil, birlikte çalışan modüllerden oluşur. Çoğu sunucu için şu dördü yeterlidir:

  • EssentialsX: Ana eklenti. Ev, ışınlanma noktası, özel mesaj, kit ve yönetim komutları buradadır.
  • EssentialsX Spawn: /spawn ve /setspawn komutlarını ve yeni oyuncuların nerede doğacağını yönetir.
  • EssentialsX Chat: Sohbet satırının biçimini belirler; rütbe önekleri bu modül sayesinde görünür.
  • Vault: EssentialsX'in değil, ayrı bir projenin eklentisidir. Yetki, önek ve ekonomi bilgisini eklentiler arasında taşıyan köprüdür. LuckPerms öneklerinin sohbette çıkması için gerekir.

Eklenti ailesinden bir yazılım (Paper, Purpur, Spigot) kullanıyorsan bunları panelden kurabilir ya da dosya yöneticisiyle plugins klasörüne yükleyebilirsin. Bütün EssentialsX modüllerinin aynı sürümden olmasına dikkat et; farklı sürümlerin karışması açılışta hata vermesinin en sık sebebidir. Kurulumdan sonra sunucuyu yeniden başlat. İlk açılışta plugins/Essentials klasörü ve içinde config.yml, kits.yml, motd.txt, rules.txt gibi dosyalar oluşur.

config.yml: önce bu birkaç ayara bak

config.yml uzun bir dosyadır ve her satırın üstünde açıklaması vardır. Hepsini değiştirmen gerekmez; başlangıç için şunlar yeter. Dosyayı dosya yöneticisinden aç, düzenle, kaydet ve oyunda /essentials reload komutunu çalıştır.

  • locale: Eklenti mesajlarının dili. Türkçe için locale: tr yaz. Çevirisi olmayan satırlar İngilizce kalır.
  • teleport-cooldown: İki ışınlanma arasında beklenmesi gereken süre, saniye cinsinden.
  • teleport-delay: Komut yazıldıktan sonra ışınlanmanın gerçekleşmesi için geçen süre. Oyuncu bu sürede hareket ederse ışınlanma iptal olur; savaşın ortasında kaçmayı zorlaştırır.
  • sethome-multiple: Rütbelere göre kaç ev kurulabileceği (aşağıda).
  • per-warp-permission: true yapılırsa her ışınlanma noktası için ayrı yetki gerekir.

YAML dosyalarında girinti boşlukla yapılır, sekme karakteri kullanılmaz. Bir satırı kaydırırsan eklenti dosyayı okuyamaz ve konsola hata yazar; değişiklikten önce dosyanın bir kopyasını almak iyi bir alışkanlıktır.

Evler: oyuncu başına kaç tane?

Oyuncu /sethome ile bulunduğu yeri ev olarak kaydeder, /home ile oraya döner, /delhome ile siler. Birden çok ev için ad verilir: /sethome maden, /home maden. Rütbeye göre farklı sınırlar koymak için config.yml içindeki bölümü şöyle düzenle:

sethome-multiple:
  default: 2
  vip: 5

Buradaki default ve vip adları, yetki düğümlerinin son parçasıdır. Bir oyuncunun 5 ev kurabilmesi için essentials.sethome.multiple ve essentials.sethome.multiple.vip yetkilerine sahip olması gerekir. Bu yetkileri aşağıda LuckPerms ile vereceğiz.

Doğma noktası ve yeni oyuncular

Doğma noktasını ayarlamak için o noktaya git ve /setspawn yaz. Oyuncular artık /spawn ile oraya dönebilir. EssentialsX Spawn, ilk kez gelen oyuncular için ayrı bir davranış da tanımlar. config.yml içindeki newbies bölümünde:

newbies:
  announce-format: '&dSunucuya hoş geldin, {DISPLAYNAME}!'
  spawnpoint: default
  kit: baslangic

announce-format herkese gösterilen karşılama mesajı, kit ise ilk girişte otomatik verilecek kitin adıdır. Kit vermek istemiyorsan bu satırı boş bırak. Oyuncuların her girişte değil yalnızca öldüklerinde doğma noktasına dönmesi için spawn-on-join değerini false bırakmak yaygın tercihtir.

Doğma alanını yıkılmaya karşı korumak ayrı bir iştir; bunu WorldGuard ile bölge koruma yazısında anlattık.

Kitler: başlangıç eşyaları

Kit oluşturmanın en kolay yolu oyun içindendir. Vermek istediğin eşyaları envanterine koy ve şunu yaz:

/createkit baslangic 86400

Sondaki sayı, aynı oyuncunun kiti tekrar alabilmesi için beklemesi gereken süredir, saniye cinsindendir; burada bir gün. EssentialsX kiti kits.yml dosyasına kaydeder; sonradan eşya eklemek ya da süreyi değiştirmek için dosyayı düzenleyebilirsin. Oyuncu kiti /kit baslangic ile alır, /kit yazınca da kullanabileceği kitlerin listesini görür. Bir kiti kullanmak için hem genel essentials.kit yetkisi hem de o kite özel essentials.kits.baslangic yetkisi gerekir.

Işınlanma noktaları: warp

Warp, herkesin adıyla gidebildiği sabit bir noktadır: pazar yeri, etkinlik alanı ya da ortak çiftlik gibi. Noktayı oluşturmak için oraya git ve /setwarp pazar yaz. Oyuncular /warp pazar ile oraya gider; yalnız /warp yazınca da noktaların listesini görür, bunun için essentials.warp.list yetkisi gerekir. Kullanılmayan bir noktayı /delwarp pazar siler. EssentialsX her noktayı plugins/Essentials/warps klasöründe ayrı bir dosya olarak saklar.

Bazı noktaları yalnız belli rütbelere açmak istiyorsan config.yml içinde per-warp-permission: true yap ve /essentials reload çalıştır. Bundan sonra her nokta kendi düğümünü ister: herkese açık pazar için lp group default permission set essentials.warps.pazar true yazarsın; yalnız VIP'lere açık bir alan için aynı komutu o noktanın adıyla ve vip grubuyla yazarsın.

Mesajlar: günün mesajı, kurallar, sohbet biçimi

  • Günün mesajı: motd.txt dosyasına yazdığın metin oyuncu girdiğinde gösterilir; oyuncu /motd ile tekrar okuyabilir. Renk kodları & işaretiyle yazılır.
  • Kurallar: rules.txt dosyasının içeriği /rules komutuyla gösterilir. Kuralları nasıl yazacağına dair öneriler için sunucu kuralları ve topluluk yönetimi yazısına bakabilirsin.
  • Sohbet biçimi: EssentialsX Chat kuruluysa config.yml içindeki chat bölümünde format satırı sohbet satırını belirler. Örneğin format: '{PREFIX}{DISPLAYNAME}&7: &f{MESSAGE}' rütbe önekini, oyuncunun adını ve mesajı yan yana yazar. {PREFIX} değerinin dolması için Vault ve LuckPerms'te tanımlı bir önek gerekir.

Yetkileri LuckPerms ile dağıtmak

EssentialsX'in her komutu bir yetki düğümüne bağlıdır. OP olmayan oyuncular, yetki verilmedikçe bu komutları kullanamaz. LuckPerms'te grupların nasıl kurulduğunu LuckPerms ile yetki ve rütbe sistemi yazısında anlattık; burada yalnız EssentialsX tarafına bakıyoruz. Herkesin girdiği default grubu için tipik bir başlangıç:

lp group default permission set essentials.home true
lp group default permission set essentials.sethome true
lp group default permission set essentials.delhome true
lp group default permission set essentials.sethome.multiple true
lp group default permission set essentials.sethome.multiple.default true
lp group default permission set essentials.spawn true
lp group default permission set essentials.kit true
lp group default permission set essentials.kits.baslangic true
lp group default permission set essentials.msg true
lp group default permission set essentials.motd true
lp group default permission set essentials.rules true
lp group default permission set essentials.warp true

VIP grubuna yalnızca farkı ekle: lp group vip permission set essentials.sethome.multiple.vip true ve isterse essentials.back (son bulunduğu yere ya da öldüğü yere dönme). Yönetim komutlarını, örneğin essentials.setspawn, essentials.setwarp ve essentials.mute düğümlerini, yalnız yardımcı ve yönetici gruplarına ver.

Bir oyuncunun neden bir komutu kullanamadığını anlamak için LuckPerms'in lp verbose on komutu en hızlı yoldur: oyuncu komutu denediğinde hangi düğümün sorulduğunu gösterir.

Örnek: altı kişilik bir survival sunucusunda ilk akşam

Paper'da yeni açılmış, altı arkadaşın oynayacağı bir survival sunucusu ve LuckPerms'te hazır bir default grubu düşün. Hedef: herkes iki ev kurabilsin, ilk girişte başlangıç kiti alsın ve pazara tek komutla gidebilsin. Sıra şöyle:

  1. EssentialsX, EssentialsX Spawn, EssentialsX Chat ve Vault'u aynı turda kur ve sunucuyu yeniden başlat. Konsolda dördünün de açılış satırını gör.
  2. config.yml içinde locale: tr yaz, sethome-multiple altında default: 2 bırak, kaydet ve /essentials reload çalıştır.
  3. Doğma alanının ortasında dur ve /setspawn yaz.
  4. Envanterine bir taş kılıç, bir taş kazma ve on altı ekmek koy, ardından /createkit baslangic 86400 yaz. newbies bölümünde kit: baslangic yazdığından emin ol.
  5. Pazar alanına git ve /setwarp pazar yaz.
  6. Yukarıdaki default grubu komutlarını konsolda çalıştır.
  7. OP olmayan bir arkadaşınla dene: /sethome ev, /home ev, /kit baslangic ve /warp pazar çalışmalı; kiti aynı gün ikinci kez istediğinde kalan bekleme süresini söyleyen bir mesaj almalı.

Denemeyi OP bir hesapla yapma: OP'ler çoğu kurulumda ışınlanma gecikmesini ve kit bekleme süresini atlar, kendilerine verilmemiş komutları da çalıştırır; sonuç seni yanıltır.

Sık yapılan hatalar

  • Modüllerin sürümlerini karıştırmak. Ana eklenti bir sürüm, Spawn modülü başka bir sürümse açılışta hata alırsın. Hepsini aynı sürümden güncelle.
  • essentials.* vermek. Bu yıldız (*) düğümü yasaklama ve oyun modu değiştirme gibi yönetim komutlarını da açar. Gerekenleri tek tek ver.
  • Değişikliği yapıp yeniden yüklememek. Dosyayı kaydetmek yetmez; /essentials reload çalıştır ya da sunucuyu yeniden başlat.
  • Sohbette önek görünmemesi. Çoğunlukla Vault eksiktir ya da format satırında {PREFIX} yoktur.
  • Kit süresini yanlış birimde yazmak. Süre saniyedir; bir saat için 3600 yazılır.

Sorun giderme

  • Işınlanma gecikmesi ya da kit bekleme süresi hiç işlemiyor. Deneyen kişi büyük olasılıkla OP'dir: OP'ler EssentialsX'in atlama yetkilerine (örneğin essentials.teleport.timer.bypass) kendiliğinden sahip olur. Ayarı OP olmayan bir hesapla dene; operatörlerini panelin Oyuncular bölümünde görebilirsin.
  • Komut EssentialsX'in değil başka bir eklentinin cevabını veriyor. İki eklenti aynı komut adını kullanıyordur. Komutu eklenti adıyla yazarsan EssentialsX'inki çalışır, örneğin /essentials:home. Kalıcı çözüm, aynı işi yapan eklentilerden birini kaldırmaktır.
  • Yeni gelen oyuncu kit almıyor. newbies altındaki kit adı kits.yml içindeki adla birebir aynı değildir ya da oyuncu sunucuya daha önce girmiştir; bu bölüm yalnız ilk girişte çalışır. Adı düzelt, /essentials reload çalıştır ve sunucuya hiç girmemiş bir hesapla dene.
  • /home gibi komutlar hiç tanınmıyor. EssentialsX açılışta yüklenememiştir. En sık sebep modüllerin farklı sürümlerden olması ya da config.yml içindeki bir girinti hatasıdır; konsoldaki ilk hata satırı hangisi olduğunu söyler.

EssentialsX'i diğer temel eklentilerle birlikte nasıl kurgulayacağını survival sunucusu için eklenti seti yazısında bulabilirsin.

Sık sorulan sorular

EssentialsX ile sunucu ekonomisi kurulabilir mi?

Evet. EssentialsX kendi içinde bir ekonomi taşır: bakiye, oyuncular arası ödeme ve en zenginler listesi hazırdır. Dükkân ve ödül eklentileri bu ekonomiye Vault üzerinden bağlandığı için Vault'u da kurmalısın. Başlangıç parası, dükkân tabelaları ve enflasyonu önleme Vault ile sunucu ekonomisi yazısında.

Oyuncuların evleri ve bakiyeleri nerede saklanır?

EssentialsX her oyuncu için plugins/Essentials/userdata klasöründe ayrı bir dosya tutar; evler, son konum ve bakiye bu dosyadadır. Dosyaların adı oyuncunun adı değil, kimliğidir (UUID). Klasör eklentinin parçası olduğu için Yedekler bölümünden aldığın yedeğe de girer; sunucu uykuya geçip uyandığında da yerinde durur.

EssentialsX'i nasıl güncellerim?

Panelde ayrı bir güncelleme düğmesi yoktur; önce Yedekler bölümünden bir yedek al. Sonra Eklentiler bölümünün Kurulu sekmesinden bütün EssentialsX modüllerinin eski dosyalarını sil, ana eklentiyi ve modülleri aynı yeni sürümden kur ve sunucuyu yeniden başlat. Ayar dosyaların ve userdata klasörü silinmez; açılışta konsolda hata olmadığını kontrol etmen yeter. Mağaza adımları için mağazadan eklenti kurma yazısına bakabilirsin.

EssentialsX komutlarını konsoldan çalıştırabilir miyim?

Evet, başlarındaki eğik çizgi olmadan. Bulunduğun yere bağlı komutlar (/sethome, /setwarp, /setspawn) konsolda çalışmaz, çünkü konsolun oyunda bir konumu yoktur. Oyuncu adı alan komutlar ise çalışır: örneğin kit baslangic Mert komutu Mert'e başlangıç kitini verir.