Sunucuna birkaç arkadaş geldiğinde herkese operatör (OP) yetkisi vermek pratik görünür. Topluluk büyüdükçe bu, sunucuyu kaybetmenin en kısa yoluna dönüşür: OP olan biri komut bloğu koyabilir, oyuncu atabilir, hatta sunucuyu durdurabilir. Doğrusu, herkese yalnız ihtiyacı olan yetkiyi vermektir. Bu rehber bunu en yaygın yetki eklentisi olan LuckPerms ile adım adım anlatır.

LuckPerms ne yapar?

Minecraft'ta ve eklentilerde her komutun arkasında bir yetki düğümü (permission node) vardır. Örneğin EssentialsX'in eve ışınlanma komutu essentials.home düğümünü sorar; oyuncuda bu düğüm yoksa komut çalışmaz. LuckPerms bu düğümleri gruplara bağlar ve oyuncuyu bir ya da birkaç gruba koyar. Oyuncu hangi gruptaysa o grubun yetkilerine sahip olur.

Eklenti ailesinden bir yazılım (Paper, Purpur, Spigot) kullanıyorsan LuckPerms'i panelin içindeki mağazadan tek tıkla kurabilirsin. Kurulumdan sonra sunucuyu yeniden başlat; eklenti ilk açılışta kendi ayar dosyalarını ve herkesin otomatik girdiği default grubunu oluşturur.

Önce grupları kâğıt üzerinde planla

Komut yazmadan önce kaç rütbe istediğini ve her rütbenin ne yapabileceğini yaz. Çoğu sunucuya dört grup yeter:

  • default: herkesin girdiği taban grup. Ev kurma, ışınlanma isteği gönderme gibi temel komutlar.
  • vip: birkaç ek kolaylık; örneğin daha fazla ev noktası ya da renkli isim.
  • yardimci: oyuncu susturma, atma ve şikâyet inceleme.
  • yonetici: yasaklama, bölge koruma ve dünya ayarları.

Gruplar birbirinden miras alabilir. Yardımcı grubu vip'in, vip grubu da default'un bütün yetkilerini devralırsa aynı yetkiyi dört gruba ayrı ayrı yazmazsın; her gruba yalnız kendine özgü olanı eklersin.

Grupları oluşturmak

Komutları oyunda OP olarak ya da panelin canlı konsolundan çalıştırabilirsin. Konsolda komutları baştaki eğik çizgi olmadan yaz; bazı sürümlerin konsolu onu tanımaz. Oyun içinde ise başına / koyarsın.

  1. Grupları oluştur: lp creategroup vip, lp creategroup yardimci, lp creategroup yonetici
  2. Mirası kur: lp group vip parent add default, lp group yardimci parent add vip, lp group yonetici parent add yardimci
  3. Gruplara ağırlık ver: lp group vip setweight 10, lp group yardimci setweight 20, lp group yonetici setweight 30. Ağırlık, bir oyuncu birden çok gruptaysa hangi grubun öne geçeceğini belirler.
  4. Yetki ver: lp group yardimci permission set essentials.mute true
  5. Oyuncuyu gruba al: lp user OyuncuAdi parent set yardimci

parent set oyuncuyu diğer gruplarından çıkarıp yalnız o gruba koyar; miras zinciri kurulu olduğu için default'un yetkilerini yine taşır. Oyuncuyu mevcut gruplarına ek olarak bir gruba daha koymak istersen parent add kullan.

Tek oyuncuya yetki, süreli rütbe ve dünyaya bağlı izin

Her şeyi grup üzerinden yürütmek düzeni korur, ama bazen bir istisna gerekir. LuckPerms aynı komut yapısını oyuncu düzeyinde ve süreli olarak da sunar:

  • Tek oyuncuya yetki: lp user OyuncuAdi permission set essentials.fly true uçma komutunu yalnız o oyuncuya açar. Geri almak için lp user OyuncuAdi permission unset essentials.fly yaz.
  • Süreli rütbe ve süreli yetki: lp user OyuncuAdi parent addtemp vip 30d oyuncuyu 30 günlüğüne vip grubuna alır; lp user OyuncuAdi permission settemp essentials.fly true 1h uçmayı bir saatliğine açar. Süre dolunca ikisi de kendiliğinden düşer.
  • Mirasla gelen yetkiyi kapatmak: EssentialsX'in başlangıç kiti default grubuna verilmişse vip de onu devralır. VIP'lerin yalnız kendi kitlerini almasını istiyorsan değeri false yap: lp group vip permission set essentials.kits.baslangic false. Gruba doğrudan yazılan değer, mirasla gelenden önce gelir.
  • Dünyaya bağlı izin: Komutun sonuna bir bağlam eklersen yetki yalnız o dünyada geçerli olur: lp group vip permission set essentials.fly true world=lobi. Birden fazla dünya işletiyorsan yaratıcı dünyada açık, survival dünyasında kapalı bir yetki böyle kurulur.
  • Rütbe yolu: lp createtrack rutbeler ile bir yol aç, sonra lp track rutbeler append default, lp track rutbeler append vip ve lp track rutbeler append yardimci ile grupları sırayla ekle. Bundan sonra lp user OyuncuAdi promote rutbeler oyuncuyu bir üst gruba taşır, demote bir alta indirir.

Web editörü: komut ezberlemeden düzenleme

lp editor komutu tarayıcıda açılan bir düzenleme bağlantısı üretir. Grupları, yetkileri ve oyuncuları orada tıklayarak düzenler, bitince kaydedersin. Değişiklikler sunucuya uygulanır; bağlantı kurulamazsa editör sana sunucuda çalıştıracağın tek satırlık bir uygulama komutu verir. Çok sayıda yetkiyi bir kerede ayarlamanın en rahat yolu budur.

Sohbette rütbe öneki

Sohbette oyuncunun adının önünde rütbesinin görünmesi için gruba önek ver: lp group vip meta setprefix 10 "&6[VIP] ". Sayı önceliktir; bir oyuncu birden çok gruptaysa en yüksek öncelikli önek görünür. &6 altın sarısı renk kodudur.

LuckPerms öneki yalnız saklar, sohbete kendisi yazmaz. Önekin sohbette görünmesi için sohbet biçimini yöneten bir eklenti gerekir; en yaygın ikili EssentialsX Chat ve Vault'tur.

Bir komutun hangi yetkiyi istediğini bulmak

Eklentilerin sayfalarında ve belgelerinde komutların yetki düğümleri listelenir. Listede bulamadığın durumlar için lp verbose on komutunu kullan: açıkken bir oyuncu bir komut denediğinde LuckPerms hangi düğümün sorulduğunu ve sonucun ne olduğunu komutu yazdığın yere (oyun içi sohbet ya da konsol) yazar. İşin bitince lp verbose off ile kapat.

Örnek: sekiz kişilik bir sunucuda yardımcı atamak

Sunucun açılalı bir ay oldu, sekiz düzenli oyuncun var ve şikâyetlere tek başına yetişemiyorsun. En güvendiğin oyuncu Mert'i yardımcı yapmak istiyorsun: oyuncu atabilsin, susturabilsin ve kimin hangi bloğu kırdığına bakabilsin; ama yasaklayamasın, sunucuyu durduramasın. Gruplar yukarıdaki gibi kurulu olsun.

  1. Yardımcı grubuna gereken düğümleri ver: lp group yardimci permission set essentials.kick true, lp group yardimci permission set essentials.mute true ve CoreProtect kuruluysa lp group yardimci permission set coreprotect.inspect true.
  2. Mert'i gruba al: lp user Mert parent set yardimci.
  3. Mert daha önce OP yapıldıysa operatörlüğünü al: konsolda deop Mert yaz ya da panelde Oyuncular bölümünün Operatörler sekmesini kullan. OP kaldıkça yetki düzeni onun için devreye girmez.
  4. Konsolda lp verbose on yaz ve Mert'ten önce birini atmayı, sonra birini yasaklamayı denemesini iste. Kayıtta essentials.kick düğümünün verildiğini, essentials.ban düğümünün verilmediğini görürsün.
  5. lp verbose off ile kaydı kapat, lp user Mert info ile son durumu kontrol et.

Bir etkinliğin kazananına bir aylık VIP vermek de aynı düzende tek satırdır: lp user Zeynep parent addtemp vip 30d. Süre bitince vip grubu kendiliğinden düşer, takvim tutman gerekmez. Yardımcının inceleme aracını nasıl kullanacağını CoreProtect ile geri alma yazısında anlattık.

Sık yapılan hatalar

  • Yetki sistemini kurup herkesi OP bırakmak. OP olan biri yetki listesinden bağımsız olarak komutların çoğunu kullanabilir. Sistemi kurduktan sonra kendin dışındakilerin operatörlüğünü deop OyuncuAdi ile al.
  • Yıldız (*) izni vermek. * düğümü her şeyi açar. Yönetici grubuna bile vermek yerine kullandığın eklentilerin yetkilerini tek tek ver; bir eklenti sonradan tehlikeli bir komut eklerse kendiliğinden açılmamış olur.
  • Doğrulamasız girişte isme güvenmek. Sunucunda doğrulamasız giriş (offline mod) açıksa biri başkasının adıyla girebilir. Güvenilir liste bunu durdurmaz: yalnız listede olmayan adları dışarıda tutar; yetkili bir oyuncunun adını bilen biri o adla girip o adın yetkilerini alabilir. Bu yüzden yüksek yetkiyi az kişiye ver; en güvenlisi Ayarlar'daki "Doğrulamasız girişe izin ver (offline mod)" anahtarını kapatmaktır, o zaman her hesap Microsoft ile doğrulanır.
  • Yetki işlemiyor sanmak. LuckPerms değişiklikleri anında uygular; oyuncunun yeniden girmesi gerekmez. Bir şey beklediğin gibi çalışmıyorsa önce lp user OyuncuAdi info ile oyuncunun gerçekten hangi grupta olduğuna bak.

Sorun giderme

  • Konsolda lp komutu tanınmıyor. LuckPerms yüklenmemiştir. Açılış satırlarında LuckPerms adını ara; yüklenemediyse sebebi orada yazar. Eklentiler bölümünün Kurulu sekmesinde devre dışı bırakılıp bırakılmadığına da bak.
  • Oyuncu gruba alındı ama komut yine reddediliyor. Verdiğin düğüm, komutun sorduğu düğüm değildir ya da komut başka bir eklentiye aittir. lp verbose on açıkken oyuncudan komutu tekrar denemesini iste ve doğru adı kayıttan al. Tek bir düğümü hızla sınamak için lp user OyuncuAdi permission check essentials.home yeter.
  • Önek tanımlı ama sohbette görünmüyor. Sohbet satırını biçimleyen bir eklenti ya da Vault eksiktir. EssentialsX Chat ile Vault'un kurulumu ve format satırı EssentialsX kurulumu yazısında.
  • Doğrulamasız giriş ayarı değiştikten sonra yetkililerin rütbesi kayboldu. LuckPerms oyuncuyu adıyla değil kimliğiyle (UUID) tanır ve Ayarlar'daki "Doğrulamasız girişe izin ver (offline mod)" anahtarı değişince oyuncuların kimliği de değişir. Panel OP, güvenilir liste ve ban kayıtlarını yeni kimliğe taşır, ama LuckPerms'in kendi kayıtları eski kimlikte kalır. lp user OyuncuAdi info ile kontrol et ve grubu gerekirse parent set ile yeniden ver.

Yetkileri ayırdıktan sonra sunucunu kimin girebileceği ve iş ters giderse ne yapılacağı katmanlarında korumayı sunucu güvenliği yazısında anlattık.

Sık sorulan sorular

LuckPerms ücretli mi, hangi yazılımda çalışır?

LuckPerms ücretsiz ve açık kaynaklı bir eklentidir. Bu rehberdeki kurulum eklenti ailesi içindir: Paper, Purpur, Spigot ve CraftBukkit. Vanilla eklenti çalıştırmaz; sunucun Vanilla ise önce Yazılım bölümünden Paper'a geçmen gerekir.

Rütbeler nerede saklanır, yedeğini nasıl alırım?

Varsayılan ayarda LuckPerms grupları, yetkileri ve oyuncu atamalarını plugins/LuckPerms klasöründeki bir veritabanı dosyasında tutar. Bu klasör sunucunun dosyalarının parçası olduğu için Yedekler bölümünden aldığın yedeğe de girer. Yetki düzenini ayrıca saklamak istersen lp export rutbeler aynı klasöre bir dışa aktarım dosyası yazar; gerektiğinde lp import rutbeler ile geri yüklersin.

Doğrulamasız giriş açıkken rütbeler güvende mi?

Tam olarak değil. Bu modda oyuncunun kimliği adından türetilir: yetkili bir oyuncunun adıyla giren herkes onun rütbesini taşır ve o ad güvenilir listede olduğu için liste de onu durdurmaz. Bütün oyuncuların Microsoft hesabı varsa asıl çözüm, yeni sunucularda açık gelen "Doğrulamasız girişe izin ver (offline mod)" anahtarını Ayarlar'dan kapatmaktır.

Anahtarı açık bırakman gerekiyorsa yetkililere yasaklama ya da dünya düzenleme gibi kötüye kullanılınca zarar verecek yetkileri verme. Anahtarı değiştirirsen yetkililerin grubunu yukarıdaki sorun giderme adımıyla kontrol et.

Bir yetkiliyi görevden aldığımda neleri geri almalıyım?

Önce grubunu indir: lp user OyuncuAdi parent set default. Sonra lp user OyuncuAdi permission info ile ona tek tek verdiğin bir yetki kalıp kalmadığına bak ve kalanları permission unset ile sil. Operatörse Oyuncular bölümünün Operatörler sekmesinden ya da deop ile operatörlüğünü de al; değişiklikler anında geçerli olur.

Önekte hangi renk kodlarını kullanabilirim?

Minecraft'ın standart biçim kodlarını & işaretiyle yazarsın: &0 ile &9 ve &a ile &f arası renk verir (örneğin &c kırmızı, &a yeşil, &b açık mavi, &7 gri); &l kalın, &o eğik yazar, &r biçimi sıfırlar. Renk kodu kendinden önceki biçimi sıfırladığı için önce rengi, sonra biçimi yaz: lp group yonetici meta setprefix 30 "&c&l[Yönetici] ".