Eggdrop

Eggdrop Kullanıcı Bayrakları: Global ve Kanal Yetkilerinin Tam Rehberi

· Güncelleme: · 5 dk okuma

Eggdrop Kullanıcı Bayrakları: Global ve Kanal Yetkilerinin Tam Rehberi
İçindekiler
  1. Bayrak Sisteminin Mantığı
  2. Global Bayraklar
  3. Kanal Bayrakları
  4. .chattr Komutu
  5. Kullanıcı Eklemek ve Bayrak Vermek: Örnek Senaryo
  6. Host Maskeleri Neden Önemli?
  7. Güvenli Yetki Dağıtımı
  8. Olumsuz Bayraklar: d, k, q
  9. Bayraklar ve Tcl Scriptleri
  10. Botnet'te Bayrak Paylaşımı
  11. Sonuç

Eggdrop'un en güçlü özelliklerinden biri ayrıntılı kullanıcı yetki sistemidir. Bot, tanıdığı her kullanıcıya bayrak (flag) adı verilen tek harflik yetkiler atar. Hangi kullanıcının op alacağı, kimin voice alacağı, kimin kanaldan atılacağı ve kimin botu yönetebileceği bu bayraklarla belirlenir. Bu rehberde Eggdrop bayrakları sistemini ayrıntılı olarak ele alıyoruz.

Bayrak Sisteminin Mantığı

Eggdrop bir kullanıcıyı önce host maskesiyle tanır. Örneğin *!*@ayse.example.net maskesine uyan biri kanala girdiğinde bot bu kişinin kullanıcı dosyasındaki "Ayse" kaydına ait olduğunu anlar. Ardından Ayse'nin bayraklarına bakarak nasıl davranacağına karar verir: op mu verecek, voice mu verecek, hiçbir şey mi yapmayacak, yoksa kanaldan mı atacak?

Bayraklar iki düzeyde tanımlanır:

  • Global bayraklar: Botun bulunduğu bütün kanallarda geçerlidir.
  • Kanal bayrakları: Yalnızca belirli bir kanalda geçerlidir.

Bu ayrım sayesinde aynı bot, bir kanalda op olan bir kullanıcıya başka bir kanalda hiçbir yetki vermeyebilir.

Global Bayraklar

BayrakAnlamı
nOwner (sahip): botun tam yönetim yetkisi
mMaster: kullanıcı yönetimi ve çoğu yönetim komutu
tBotnet master: botnet bağlantılarını yönetir
oGlobal op: botun bulunduğu bütün kanallarda op
lGlobal halfop
vGlobal voice
fFriend: flood korumalarından muaf, bazı kısıtlamalardan etkilenmez
pPartyline erişimi
jJanitor: dosya alanı yönetimi
xDosya transferi yetkisi
cOrtak (common) site kullanıcısı
hKomutlarda vurgulama (görsel tercih)
dGlobal deop: op alırsa bot alır
kGlobal auto-kick: botun bulunduğu kanallarda otomatik atılır
aGlobal auto-op: kanala girişte otomatik op
gGlobal auto-voice: kanala girişte otomatik voice
qGlobal quiet: voice alamaz
bBot: bu kayıt bir bota aittir
uUnshared: botnet paylaşımına dahil edilmez

Bayrak harfleri ve anlamları Eggdrop sürümüne göre küçük farklılıklar gösterebilir. Kendi botunuzdaki güncel listeyi partyline'da .help whois veya .help chattr komutlarıyla görebilirsiniz.

Kanal Bayrakları

Kanal bayraklarının çoğu global bayraklarla aynı harfleri kullanır ama yalnızca belirtilen kanalda geçerlidir:

BayrakKanalda anlamı
nKanal sahibi
mKanal master'ı
oKanal op'u
lKanal halfop'u
vKanal voice'u
fKanal arkadaşı
aKanalda otomatik op
gKanalda otomatik voice
dKanalda deop
kKanalda otomatik kick
qKanalda voice alamaz

Kanal sahibi (n) ve master (m) bayrakları, bir kanalı başkasına emanet etmek için kullanışlıdır: Kanal sahibi kendi kanalındaki kullanıcıları yönetebilir ama botun diğer kanallarına ve genel ayarlarına müdahale edemez.

.chattr Komutu

Bayraklar partyline'da .chattr komutuyla verilir ve alınır:

.chattr Ayse +o
.chattr Ayse +o #kanal
.chattr Ayse -o #kanal
.chattr Burak +v|+v #kanal
.chattr Deniz |+ao #kanal

Söz dizimi şöyledir: Dikey çizginin solundaki bayraklar global, sağındakiler kanal bayraklarıdır. Kanal adı verilmeden yalnızca global bayraklar değiştirilir. Örneğin |+ao #kanal ifadesi, kullanıcıya yalnızca #kanal için otomatik op ve op bayrağı verir.

Bir kullanıcının mevcut bayraklarını görmek için:

.match Ayse
.whois Ayse

Kullanıcı Eklemek ve Bayrak Vermek: Örnek Senaryo

Kanalınıza yeni bir op eklemek istediğinizi düşünelim. Kullanıcı kanalda olsun:

.adduser Ayse
.chattr Ayse |+o #kanal
.chattr Ayse |+a #kanal

.adduser, kullanıcının o anki IRC hostunu kullanarak bir kayıt oluşturur. Ardından ona kanal op'u ve otomatik op bayrakları verilir. Kullanıcının partyline'a erişmesini de istiyorsanız global p bayrağı ekleyin ve kullanıcıdan bota /msg Bot pass parola ile kendi parolasını belirlemesini isteyin. Otomatik op konusunun inceliklerini autoop ve voice yazımızda anlattık.

Host Maskeleri Neden Önemli?

Bayraklar ne kadar doğru ayarlanırsa ayarlansın, yanlış bir host maskesi bütün sistemi işe yaramaz hâle getirir. Örneğin bir kullanıcıya *!*@* gibi çok geniş bir maske tanımlarsanız herkes o kullanıcı sayılır ve op alır. Maske dar tutulmalıdır:

  • İyi: *!*@ayse.cloaked.ornekagi.net (gizlenmiş host)
  • İyi: *!ayse@*.ornek-isp.net (dinamik IP için kullanıcı adı ile)
  • Kötü: *!*@*.net

Ağınız services hesabına göre tanıma destekliyorsa ve botunuz bu özelliği kullanıyorsa hesap tabanlı tanıma, host maskelerinden çok daha güvenilirdir. Maske yazımı için ban maskeleri yazımıza bakın.

Güvenli Yetki Dağıtımı

  1. n bayrağını sınırlı tutun: Sahip yetkisi .tcl gibi bot üzerinde tam kontrol sağlayan komutlara erişim verir. Yalnızca kendinize ve tamamen güvendiğiniz bir iki kişiye verin.
  2. Global yerine kanal bayrağı: Birine yalnızca bir kanalda yetki vermeniz gerekiyorsa global bayrak yerine kanal bayrağı kullanın.
  3. p bayrağını ihtiyaca göre verin: Partyline erişimi, botun iç işleyişine dair bilgileri ve bazı komutları açar.
  4. Parolaları zorunlu tutun: Partyline erişimi olan herkesin parolası olmalıdır.
  5. Düzenli gözden geçirin: Artık aktif olmayan kullanıcıların bayraklarını kaldırın.

Olumsuz Bayraklar: d, k, q

Bayraklar yalnızca yetki vermek için değil, kısıtlamak için de kullanılır:

  • d (deop): Kullanıcı başka bir op tarafından op alırsa bot hemen alır.
  • k (kick): Kullanıcı kanala girdiğinde bot onu atar. Ban yerine kalıcı bir kişisel "kara liste" gibi çalışır.
  • q (quiet): Kullanıcıya voice verilmez.

Bu bayraklar, ban listesini şişirmeden belirli kişileri yönetmenin pratik bir yoludur. Ban yönetimi için ban yönetimi yazımıza bakın.

Bayraklar ve Tcl Scriptleri

Tcl scriptleri de bayrakları kullanır. Örneğin bir scriptin komutunu yalnızca op'ların kullanabilmesi için bind komutunda bayrak belirtilir; script içinde ise matchattr komutuyla kullanıcının belirli bir bayrağa sahip olup olmadığı kontrol edilir. Ayrıca kendi özel bayraklarınızı da tanımlayabilirsiniz: Eggdrop, büyük harfli bayrakları kullanıcı tanımlı bayraklar olarak serbest bırakır. Böylece "bu kullanıcı bilgi yarışması yöneticisidir" gibi kendi yetki kategorilerinizi oluşturabilirsiniz. Ayrıntılar için Tcl bind komutları yazımıza bakın.

Botnet'te Bayrak Paylaşımı

Birden fazla bot kullanıcı dosyasını paylaşıyorsa bir botta verilen bayrak diğer botlara da yayılır. Bu, yönetimi kolaylaştırır ama hataların da yayılması anlamına gelir. u (unshared) bayrağı, belirli bir kullanıcı kaydının paylaşıma dahil edilmemesini sağlar. Paylaşım konusu için userfile paylaşımı yazımıza bakın.

Sonuç

Eggdrop'un bayrak sistemi ilk bakışta harf çorbası gibi görünse de mantığı basittir: global ve kanal düzeyinde, yetki veren ve kısıtlayan tek harflik etiketler. .chattr ile bayrakları yönetin, host maskelerini dar tutun ve yetkileri ihtiyaç kadar verin. Kanal davranışlarını biçimlendirmek için sıradaki rehberimiz chanset kanal ayarları.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Global bayrak ile kanal bayrağı arasındaki fark nedir?

Global bayrak botun bulunduğu bütün kanallarda geçerlidir. Kanal bayrağı ise yalnızca belirtilen kanalda geçerlidir.

Bir kullanıcıya op yetkisi vermek için hangi bayrak gerekir?

Kanal op'u için o bayrağı kullanılır. Otomatik op istiyorsanız ek olarak a bayrağı veya kanalda autoop ayarı gerekir.

n bayrağını kimlere vermeliyim?

n (owner) botun sahibi demektir ve en geniş yetkiyi verir. Yalnızca botu sizinle birlikte yöneten, tamamen güvendiğiniz kişilere verilmelidir.