UnrealIRCd - 3.2 - Resmi Döküman English | German | Spanish | Hungarian | French | Greek | Dutch | Russian | Turkish

UnrealIRCd
http://www.unrealircd.com/
Versiyon: 3.2.8
En Son Güncelleme: 13.07.2007

Head Coders: Stskeeps / codemastr / Syzop / Luke
Katkıda Bulunanlar: McSkaf / Zogg / NiQuiL / assyrian / chasm / DrBin / llthangel / Griever / nighthawk
Dökümantasyon: CKnight^ / Syzop
Çeviri: oepidus (tt`), Strathmore (Timaeus) - irc.trsohbet.com

Bu dökümanı görüntüleyebilmeniz için aşağıda listelenmiş olan tarayıcılardan birine sahip olmanız gerekir. Güncellenmiş dökümanlara http://www.vulnscan.org/UnrealIRCd/unreal32docs.tr.html adresinden ulaşabilirsiniz ve ayrıca FAQ (Sıkça Sorulan Sorular) bölümüne de http://www.vulnscan.org/UnrealIRCd/faq/ adresinden ulaşabilirsiniz.

WARNING: The translation of this document is not up to date, the English version is more recent.

Uyumlu Tarayıcılar:

DİZİN / İÇERİK TABLOSU
1. Önsöz & Notlar
---1.1. 3.1.x -> 3.2 yükseltme / uyum üzerine notlar
---1.2. 3.2 versiyonları arasında yükseltme üzerine notlar
2. Kurulum
3. Özellikler
-- 3.1. Gizleme (Cloaking)
-- 3.2. Moduller
-- 3.3. Snomasklar
-- 3.4. Aliases
-- 3.5. Helpop
-- 3.6. Oper erişim seviyeleri
-- 3.7. Oper komutları
-- 3.8. SSL
-- 3.9. IPv6
-- 3.10. Zip links
-- 3.11. Dinamik DNS/IP bağlantı desteği
-- 3.12. Anti-flood özellikleri
-- 3.13. Ban tipleri
-- 3.14. Spamfilter
-- 3.15. CIDR
-- 3.16. Nick Karakter Grupları
-- 3.17. CGI:IRC Desteği
-- 3.18. Zaman Senkronizasyonu
-- 3.19. Diğer özellikler
4. unrealircd.conf dosyasının konfigürasyonu
---4.1. Açıklamalı konfigürasyon dosyası
---4.2. Me Bloğu -=- (M:Line)
---4.3. Admin Bloğu -=- (A:Line)
---4.4. Class Bloğu -=- (Y:Line)
---4.5. Allow Bloğu -=- (I:Line)
---4.6. Listen Bloğu -=- (P:Line)
---4.7. Oper Bloğu -=- (O:Line)
---4.8. DRpass Bloğu -=-(X:Line)
---4.9. Include Yönergesi
---4.10. Loadmodule Yönergesi
---4.11. Log Bloğu
---4.12. TLD Bloğu -=- (T:Line)
---4.13. Ban Nick Bloğu -=- (Q:Line)
---4.14. Ban User Bloğu -=- (K:Line)
---4.15. Ban IP Bloğu -=- (Z:Line)
---4.16. Ban Server Bloğu -=-(q:Line)
---4.17. Ban Realname Bloğu -=- (n:Line)
---4.18. Ban Version Bloğu
---4.19. Ban Exception Bloğu -=- (E:Line)
---4.20. TKL Exception Bloğu
---4.21. Throttle Exception Bloğu
---4.22. Deny DCC Bloğu -=- (dccdeny.conf)
---4.23. Deny Version Bloğu -=- (V:Line)
---4.24. Deny Link Bloğu -=- (D:Line / d:Line)
---4.25. Deny Channel Bloğu -=- (chrestrict.conf)
---4.26. Allow Channel Bloğu
---4.27. Allow DCC Bloğu
---4.28. Vhost Bloğu -=- (vhost.conf)
---4.29. Badword Bloğu -=- (badwords.conf)
---4.30. Uline Bloğu -=- (U:Line)
---4.31. Link Bloğu -=- (C/N/H:Lines)
---4.32. Alias Bloğu
---4.33. Help Bloğu
---4.34. Official Channels Bloğu
---4.35. Spamfilter Bloğu
---4.36. Cgiirc Bloğu
---4.37. Set Bloğu -=- (networks/unrealircd.conf)
5. Ek Dosyalar
6. Kullanıcı & Kanal Modları
7. Kullanıcı & Oper Komutları
8. Güvenlik için tavsiyeler/kontrol listesi
---8.1. Şifreler
---8.2. Ircd ile alakalı olmayan zayıflıklar
---8.3. Konfigürasyon dosyası ve yetkilendirme
---8.4. Kullanıcı-kaynaklı problemler
---8.5. SSL/SSH & sniffing
---8.6. Denial of Service attacks (DoS) [veya: hubumu nasıl koruyabilirim?]
---8.7. Bilgilendirme
---8.8. Exploitlere karşı korunma
---8.9. Özet
9. Sıkça Sorulan Sorular (FAQ)
A. Düzenli İfadeler
---A.1. Değişmezler
---A.2. Nokta İşleci
---A.3. Yineleme İşleçleri
---A.4. Parantez İfadeleri
---A.5. Demirleme İşleçleri
---A.6. Veya İşleci
---A.7. Gruplama İşleçleri (Alt ifadeler)
---A.8. Grup Adresleme İşleci
---A.9. Büyük/küçük harf duyarlılığı

1.0 – Önsöz & Notlar

Bu döküman UnrealIRCd ile özel kullanım için yazılmıştır. Bu dökümanın, UnrealIRCd Geliştirme Grubunun yazılı izni olmadan, başka bir yazılım paketi ile kullanımı veya başka bir yazılım paketi ile dağıtılması kesinlikle yasaktır. Bu dökümanı, UnrealIRCd ile kullanılması koşulu ile ve dökümanın üzerinde hiçbir şekilde değişiklik yapmamak koşulu ile, istediğiniz miktarda kopyasını çıkarabilir / bastırabilir / çoğaltabilir / yayınlayabilirsiniz. - Copyright (telif Hakkı) UnrealIRCd Geliştirme Grubu 2002-2006

Yardım istemeden önce lütfen bu klavuzu okuyun, ayrıca FAQ (Sıkça Sorulan Sorular) kısmına GERÇEKTEN göz atın ki bu kısımda sorularınızın/sorunlarınızın yaklaşık olarak %80 'i cevaplanmıştır/çözülmüştür. Eğer hala yardıma ihtiyacınız varsa, irc.ircsystem.net (port 6667) sunucusunda #unreal-support kanalından yardım için istekte bulunabilirsiniz. (not: belgeleri ve faq kısmını okumuş olduğunuzu kabul ediyoruz ve UnrealIRCd hakkında yardım edebiliriz, servisler hakkında değil!). Eğer bir açık varsa (bug, hata) bunu http://bugs.unrealircd.org/ adresine bildirin.

1.1 – 3.1.x -> 3.2 uyum / yükseltme üzerine notlar

Unreal3.1.x den Unreal3.2 ye yükseltme yaptığınızda var olan konfigürasyon dosyasının değişmiş olduğuna dair uyarılacaksınız, başlangıçta bu değişimi yapmak size zor gözükebilir, fakat değişim olduğunda bunu daha iyi bulacaksınız!

Aynı zamanda 3.1.x’de olan özellikleri bilmenize rağmen özellikler hakkında ki bölüm 3’ü okumayı unutmayın, çünkü birkaç yeni özellik mutlaka vardır.

3.1.x ile 3.2 uyum/link açısından uygun değildir, fakat eğer gerçekten bunu yapmak istiyorsanız, en düşük 3.1.4’e ihtiyacanız vardır, fakat 3.1.5.1 şiddetle önerilir.

1.2 – 3.2 versiyonları arasında yükseltme üzerine notlar

Yükseltme için önerilen yol:
Linux:

Windows:

Aynı zamanda lütfen .RELEASE.NOTES dosyasını nelerin değiştiğini görmek için kontrol edin. Eğer versiyonlar arasında ki değişim için bir hata (bug) bildirecekseniz; bunun bir bug olduğunu bildirmeden önce .RELEASE.NOTES kısmını okuduğunuza emin olun.

2.0 - Kurulum


Test edilmiş & Desteklenen İşletim Sistemleri:

Eğer sizin kurduğunuz Unreal3.2 diğer bir işletim sistemi ile düzgün olarak çalışıyorsa lütfen ayrıntıları aşağıdaki adrese bildirin: coders@lists.unrealircd.org

Kurulum Yönergeleri
Linux:

  1. gunzip -d Unreal3.2.X.tar.gz
  2. tar xvf Unreal3.2.X.tar
  3. cd Unreal3.2
  4. ./Config
  5. En iyi bilginizle bu soruları cevaplayın, genellikle; eğer emin değilseniz, başlangış ayarları iyi çalışacaktır!
  6. make
  7. Şimdi unrealircd.conf dosyasını ve diğer konfigürasyon dosyalarını oluşturun, Bölüm 4’e bakın.

Windows:

  1. Unreal installer ‘ı çalıştırın
  2. unrealircd.conf ve diğer konfigürasyon dosyalarınızı oluşturun, Bölüm 4’e bakın.

3.0 - Özellikler

Bu bölümde bazı ana/kullanışlı özellikler anlatılmıştır. Bu bölüm için genel bir bilgi gerekmektedir ve bazen de konfigürasyon dosyalarından bahsedilecektir (hakkında henüz bir fikir sahibi olmadığınız şeyler).

Bu bölümü atlayabilirsiniz, bununla birlikte bu bölümü kurulumdan önce ve sonra okumanız tavsiye edilir. Aksi takdirde 'cloaking', 'snomasks' vs. gibi özelliklerin genel mantığını anlayamayacaksınız.

3.1 - Gizleme (Cloaking)

Gizleme(cloaking) kullanıcıların gerçek hostname’lerinin gizlenmesi için bir yoldur, örneğin eğer gerçek hostname’iniz d5142341.cable.wanadoo.nl, ise, bu (giriş, çıkış ve whois ‘de, vs) rox-2DCA3201.cable.wanadoo.nl olarak görülecektir. Bu özellik kullanıcıların, gerçek host/IP’yi göremeyeceklerinden, birbirlerine saldırı yapmalarını engellemeye yardımcı olur..

Bu +x kullanıcı modu ile kontrol edilir. (örnek: /mode nickiniz +x), aynı zamanda adminler, +x kipini default kipi olarak veya kullanıcıların –x yapamamaları için belirtebilirler.

Gizlenmiş bir host, gizleme (cloaking) modülü tarafından oluşturulur (en az bir tane yüklenmesi zorunludur), şu an için sadece 1 modul içermektedir:
cloak: Bu modül 3.2.1’den bu yana resmi gizleme modulüdür, eski algoritmaya nazaran daha güvenlidir, dahili olarak md5 kullanır ve 3 adet; küçük karakter olarak (a-z) arası karakterleri içeren, büyük karakter olarak (A-Z) arası karakterleri içeren ve rakam olarak (0-9) arası rakamları içeren set::cloak-keys:: belirtmenizi gerektirir. [ör: "AopAS6WQH2Os6hfosh4SFJHs"]. Örnek için example.conf dosyasına bakın.

Gizleme anahtarları (cloak keys) bir ağdaki bütün sunucular için aynı olmak zorundadır. Aynı zamanda gizleme anahtarları (cloak keys) gizli tutulmalıdır, çünkü gizleme anahtarlarının bilinmesi halinde gerçek hostun bulunabilmesi olasıdır.

3.2 - Moduller

UnrealIRCd modül özelliğini destekler, bu:
- Ircd çalışırken yükleyebilirsiniz/yeniden yükleyebilirsiniz/iptal edebilirsiniz  (/rehash ile). Bu bazı açıkların saptanmasını veya yeni özelliklerin restart atmadan eklenmesini sağlamaktadır.
- Diğer kişiler yeni komutlar,yeni kullanıcı modları ve hatta yeni kanal modları içeren (3. parti) moduller oluşturabilirler.
Sebeplerinden dolayı çok iyi bir özelliktir. UnrealIRCd sadece birkaç modül ile başlar. www.unrealircd.com -> modules kısmına bir göz atın veya 3. parti modulleri bulabilmek için google arama motorunu kullanın.

En az 2 modulü yüklemeniz (load) zorunludur, aksi taktirde boot işlemini gerçekleştiremezsiniz!:
- komutlar modulü: commands.so (windows için commands.dll)
- gizleme modulü: çoğunlukla cloak.so (windows için cloak.dll).

3.3 - Snomasklar

Snomasklar sunucu uyarı maskeleridir, kullanıcı modunun özel bir tipidir ki bu hangi sunucu uyarılarını alacağınızı belirler/kontrol eder. (çoğunlukla operler tarafından kullanılır)

Şu şekilde belirtilebilir: /mode nickiniz +s SNOMASK, örneğin: /mode nickiniz +s +cF
Kullandığınız snomask’ın kaldırılması için: /mode nickiniz +s -c
Veya kullandığınız bütün snomask’ları: /mode nickiniz –s yazarak kaldırabilirsiniz.

Mevcut SNOMASKlar:
c - Yerel sunucudaki giris/cikislari gosterir
F - Uzak sunucudaki giris/cikislari gosterir
f - Flood saldiri uyarilarini gosterir
k - Atilan /kill komutlarini gormenizi saglar.[*]
e - /CHG* ve /SET* ile servislere gonderilen komutlari gormenizi saglar
j - Junk uyarı mesajlarını gormenizi saglar.
v - vhost kullanım uyarılarını görmenizi sağlar
G - gline/shun uyarılarını görmenizi sağlar
n - Yerel sunucudaki nick degisimlerini gormenizi saglar
N - Uzak sunucudaki nick degisimlerini gormenizi saglar
q - Q-line sebebi ile reddedilen nickleri gormenizi saglar
s - Genel uyarıları gormenizi saglar.[*]
S - Spamfilter eslesmelerinin uyarılarını görmenizi sağlar
o - oper açma uyarılarını görmenizi sağlar
[*: ircop olmayanlarda kullanabilir]

Otomatik olarak alınacak snomaskları (set::snomask-on-connect) ile ve oper açıldığı anda alınacak snomaskları (set::snomask-on-oper, oper::snomask) ile belirtebilirsiniz.

Başlangış ayarı olarak, bir kullanıcı +s modunu kullanıyorsa, belirtilmiş snomasklar kullanılır. Oper olmayanlar için snomasklar +ks, oper olanlar için ise +kscfvGqo.

3.4 - Aliases

Aliases ile sunucu-taraflı alias komutlarını düzenleyebilirsiniz. Örneğin nickserv’e identify komutunu "/ns identify blah" komutunu kullanarak gönderebilirsiniz. (bu: privmsg nickserv identify blah olarak değerlendirilecektir). Hatta daha kompleks yapılarda kisaltmalar (aliases) yapabilirsiniz; /register ‘in register’dan sonra gelecek ilk parametrenin # işareti olduğu durumlarda ChanServ’e olmadığı durumlarda ise NickServ’e gönderilmesi gibi.

Kısaltmalar (aliases) konfigürasyon dosyasındaki alias blokları ile düzenlenir, aynı zamanda bu alias’ları bir dosya ile de belirtebilirsiniz.

3.5 - Helpop

UnrealIRCd bünyesinde /helpop ile erişilebilinen bir yardım sistemine sahiptir. /helpop komutu tamamıyla, konfigürasyon dosyasında ki help bloğu aracılığıyla kullanıcı tarafından düzenlenebilir. Ek olarak tüm komutlar için bazı temel kullanımları içeren bir help.conf dosyası da dahil edilmiştir.
Örneğin /helpop chmodes size UnrealIRCD’in sahip olduğu bütün kanal modlarını gösterecektir.
Eğer IRCOp veya (helpop) yardım operatörü iseniz kelimenin başına ‘?’ karakteri koymanız gerektiğini unutmayın, bu durumda /helpop için /helpop ? ve /helpop chmodes için de /helpop ?chmodes vs. kullanmanız gerekecektir.

3.6 - Oper erişim seviyeleri

UnrealIRCd ‘de birkaç oper seviyesi vardır ve bunların herbirine yetki eklemesi (örneğin /gline kullanma yetkisi gibi) yapabilirsiniz, böylelikle her opere ihtiyacı olduğu erişimi sağlayabilirsiniz.

Bu oper bloğundaki oper flagları ile kontrol edilir. Daha fazla bilgi için oper bloğuna bakın.

3.7 - Oper komutları

UnrealIRCd’de, birçok etkili oper komutu vardır. Bunlar Kullanıcı & Oper Komutları kısmında açıklanmıştır, kurulumdan sonra okumak isteyebilirsiniz :).

3.8 - SSL

Açılımı Secure Socket Layer olan SSL ile güvenli şifrelenmiş bağlantılar yapabilirsiniz. Bu sunucu<->sunucu trafiğini şifrelemek için kullanılabilir, fakat aynı zamanda istemci<->sunucu trafiği de şifrelenebilir. SSL özelliğini korsanlığa (veri korsanlığı) karşı korunmada veya güvenlik için kullanabilirsiniz.

Bu özelliği kullanabilmeniz için IRC sunucunuzun SSL desteği ile derlenmiş olması gerekmektedir. SSL portunu listen::options::ssl yönergesi ile belirtebilirsiniz.

SSL portundan normal bağlantı sağlayamazsınız (bu yüzden SSL portunu 6667 olarak belirtmeyin!), aynı zamanda SSL protokolunu destekleyen bir yazılım kullanmanız gerekmektedir.

SSL desteği olan yazılımlar: XChat, irssi, mIRC (6.14 ve üzeri, aynı zamanda birkaç ek adım gerektirmektedir)

SSL desteği olmayan yazılımlar için ise stunnel gibi bir gecit kullanabilirsiniz, aşağıda örnekte bir stunnel.conf verilmiştir (stunnel 4.x için):

   client = yes
   [irc]
   accept = 127.0.0.1:6667
   connect = irc.myserv.com:6697
Eğer 127.0.0.1'e 6667 portundan bağlanırsanız, trafiğiniz şifrelenecektir ve irc.myserv.com port 6697 'ye yönlendirilecektir. (SSL portu).

Aynı zamanda sunuculara bağlanırken sertifakaları doğrulamalısınız ve körü körüne onaylamamalısınız aksi takdirde "aktif veri korsanlığı" saldırılarına karşı korunmanız hala zayıf kalacaktır. Bu konu bu başlığın konusunun dışında bir konudur. (SSL hakkında bilgi edinin, bize sormayın). [mIRC ve xchat yazılımları sertifikayı onaylayıp onaylamayacağınıza dair bir pop up açmaktadır, dolayısıyle bu iyidir.]

3.9 - IPv6

UnrealIRCd IPv6 özelliğini, beta15'den beri devamlı olarak desteklemektedir.
Bu özelliği kullanabilmeniz için işletim sisteminizin IPv6 özelliğini desteklemesi ve UnrealIRCd'de ./Config sırasında IPv6 desteğini aktif etmeniz gerekmektedir.

Microsoft'un w2k/XP için deneme aşamasında olan IPv6 uygulaması olmasına rağmen, bu (henüz) UnrealIRCd tarafından desteklenmemektedir.

3.10 - Zip links

Zip links sunucu<->sunucu linkleri için aktif edilebilir, bu özellikle data zlib kullanılarak sıkıştırma yapılır. Bu özellik sayesinde bant genişliğinin 60-80% 'i saklanabilir... Bu nedenle bu özellik, küçük bant genişlikli linkler için veya çok kullanıcılı linkler için oldukça kullanışlıdır.

Zip links desteğini aktif etmek için ./Config sırasında karşılaşacağınız zlib sorusuna YES cevabı vermeniz ve bunu link::options::zip ile belirtmeniz gerekmektedir.(her iki tarafta da)

3.11 - Dinamik DNS/IP link desteği

UnrealIRCd'in, dinamik DNS (blah.dyndns.org gibi) kulanan dinamik IP'li kullanıcılara yardımcı olan birkaç (yeni) güzel özellikleri vardır. Eğer iki dinamik DNS kullanan hostu linkliyorsanız, bunu link::options::nodnscache ve link::options::nohostcheck ile belirtmelisiniz.

3.12 - Anti-Flood özellikleri

Throttling
Throttling bir kullanıcının sunucunuzdan bağlantısını kesmesinin ve yeniden sunucunuza bağlanmasının ne kadar hızla gerçekleşebileceğini sınırlayabilmenizi sağlayan bir metotdur. Bunu konfigürasyon dosyasında ki set::throttle bloğunda belirtebilirsiniz.Burada X, YY saniye içinde ki aynı IP ‘ye sahip bağlantı sayısıdır.
Kanal Modları
Aynı zamanda flood saldırılarına karşı çok etkili olan kanal modları da vardır. Bazıları:
K = /knock kullanılamaz kanal, N = Nick değiştirelemez kanal, C = CTCP’lerin izinli olmadığı kanal, M = sadece kayıtlı nicklerin konuşabildiği kanal, j = süreye ilişkin giriş kısıtlama (kullanıcı-başına)
beta18’deki gibi aynı zamanda daha da geliştirilmiş olan +f kanal modu vardır...
f kanal modu
Kanalı flood saldırılarına karşı korumak için script ve bot kullanmak yerine bu özellik kullanılabilir.
+f modunun kullanımına bir örnek: *** Blah sets mode: +f [10j]:15
Bunun manası bu kanal, her 15 saniye için 10 giriş izinlidir, eğer limit aşılırsa kanal otomatik olarak +i moduna alınacaktır.
Belirtilen flood tipleri mevcuttur:
tip: isim: sabit eylem: diğer eylem(ler): yorumlama
c CTCP otomatik +C m, M  
j join otomatik +i R  
k knock otomatik +K   (sadece yerel bağlantıları kapsar)
m mesaj/notice otomatik +m M  
n nickdeğişiklikleri otomatik +N    
t text kick b eski +f'de olduğu gibi kullanıcı-başına mesaj/notice. kullanıcı atılır veya banlanır.

  Örnek:

*** ChanOp sets mode: +f 
[20j,50m,7n]:15
<ChanOp> lalala
*** Evil1 (~fdsdsfddf@Clk-17B4D84B.blah.net) has joined 
#test
*** Evil2 (~jcvibhcih@Clk-3472A942.xx.someispcom) has joined #test
*** Evil3 (~toijhlihs@Clk-38D374A3.aol.com) has joined #test
*** Evil4 (~eihjifihi@Clk-5387B42F.dfdfd.blablalba.be) has joined 
#test
-- snip XX lines --
*** Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has 
joined #test
-server1.test.net:#test *** Channel joinflood detected 
(limit is 20 per 15 seconds), putting +i
*** server1.test.net sets mode: +i
<Evil2> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
<Evil12> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
<Evil15> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
<Evil10> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
<Evil8> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
-- snip XX lines --
-server1.test.net:#test *** Channel msg/noticeflood 
detected (limit is 50 per 15 seconds), putting +m
*** server1.test.net sets mode: +m
*** Evil1 is now known as Hmmm1
*** Evil2 is now known as Hmmm2
*** Evil3 is now known as Hmmm3
*** Evil4 is now known as Hmmm4
*** Evil5 is now known as Hmmm5
*** Evil6 is now known as Hmmm6
*** Evil7 is now known as Hmmm7
*** Evil8 is now known as Hmmm8
-server1.test.net:#test *** Channel nickflood detected 
(limit is 7 per 15 seconds), putting +N
*** server1.test.net sets mode: +N
Gerçekte daha karışık, daha komplike bir şekil alabilir:
Ayrı ayrı belirtmek yerine, flood tiplerini başka bir biçimde de belirtebilirsiniz, örneğin: +f [20j#R,50m#M]:15
Bu; eğer join limiti aşılırsa kanalın +R moduna (burada limit 15 saniye içinde 20 join) ve eğer mesaj limiti aşılırsa kanalın +M moduna (burada limit 15 saniye içinde 50 mesaj) alınmasını sağlayacaktır.

Aynı zamanda “X dakika sonra modu kaldır” özelliği de vardır: +f [20j#R5]:15 limit aşıldığı takdirde kanal +R moduna alınacaktır ve 5 dakika sonra kanal –R moduna alınacaktır.
Bir sunucu için, belirli bir süre sonra modun kaldırılması özelliği, (set::modef-default-unsettime) başlangıç değeri olarak bir değere sahip olabilir, yani eğer +f [20j]:15 olarak belirtirseniz bu sunucu tarafından +f [20j#i10]:15, olarak algılanabilir, bu sadece bir başlangıç değeridir, hala [20j#i2]:15 olarak belirtebilirsiniz. Aynı zamanda; ör: [20j#i0]:15 şeklinde belirterek modun kaldırılması özelliğini iptal edebilirsiniz.

Aynı zamanda eski +f modu (kullanıcı başına mesaj floodu) 't' olarak mevcuttur, +f 10:6 modu +f [10t]:6 olarak yorumlanır ve +f *20:10 modu +f [20t#b]:10 olarak yorumlanır. Ircd, bu modu kullanıldığı anda otomatik olarak yeni +f modu tipine çevirecektir. Not: ‘t’ ban’ları için ban kaldırma zamanı yoktur.(Ör: [20t#b30]:15 işlevi yoktur).

Bir kanalda +f modundan en iyi şekilde yararlanmak nelere dayanır... kanalın kaç kullanıcısı var? Kanalınız kullanıcıların çokça mesajlaşması gerektiği bir kanal mı (ör: trivia) veya kullanıcılar sık sık popup kullanıyorlar mı? Bu tarz bir ana kanal mı veya auto-join kanalı mı? vs..
Bütün kanallar için iyi olabilecek mükemmel bir +f modu kullanımı yoktur ama başlangıç için aşağıdaki örneğe bakıp ihtiyaçlarınıza göre değiştirebilirsiniz:
+f [30j#i10,40m#m10,7c#C15,10n#N15,30k#K10]:15
her 15 saniye için 30 join, limit aşılırsa kanal otomatik olarak 10 dakikalığına +i moduna alınır
her 15 saniye için 40 mesaj, eğer limit aşılırsa kanal otomatik olarak 10 dakikalığına +m moduna alınır
her 15 saniye için 7 CTCP, eğer limit aşılırsa kanal otomatik olarak 15 dakikalığına +C moduna alınır
her 15 saniye için 15 nick değişimi, eğer limit aşılırsa kanal otomatik olarak 15 dakikalığına +N moduna alınır
her 15 saniye için 30 knock, eğer limit aşılırsa kanal otomatik olarak 10 dakikalığına +K moduna alınır
Eğer söz konusu kanal büyük bir kanal ise (ör: kullanıcı sayısı>75) join duyarlılığını (örneğin: 50) ve mesaj limitini (örneğin: 60 veya 75) arttırabilirsiniz.
Özellikle modun kaldırılma süresi bir deneme yanılma işidir.. Böyle düşünebilirsiniz.. Eğer kanalda duruma el koyabilecek bir op olmazsa, kanalı 15 dakikalığına kitlemeli miyim (=kullanıcılar için hoş olmaz) veya 5 dakikalığına (=saldırıyı yapanlar 5 dakika bekleyip daha sonra saldırıya devam edebilirler). Bu aynı zamanda flood tipine de bağlıdır, kullanıcıların kanala girememesi (+i) veya kanalda konuşamaması (+m) nick değiştirememelerinden (+N) veya kanala CTCP (+C) gönderememelerinden daha kötü bir durumdur bu nedenle herbir flood tipi için ayrı ayrı mod kaldırılma süresi belirtmek isteyebilirsiniz
j kanal modu
+f modu join flood’ları engelleme özelliğini de kapsamaktadır, bununla birlikte bu özellik "geniş kapsamlıdır". Örneğin, eğer 5:10 belirtilirse ve 5 farklı kullanıcı 10 saniye içinde kanala girerse, flood koruması tetiklenecektir. +j kanal modu farklıdır. Bu mod kullanıcı-başına esasıyla çalışır. Join flood saldırılarına karşın korunma amacından ziyade, join-part flood saldırılarından korunma amacıyla tasarlanmıştır (revolving door floods). Mod: X join (giriş) sayısını belirtmek üzere ve Y saniye sayısını belirtmek üzere X:Y olarak belirtilir. Eğer bir kullanıcı bu limit aşarsa , onun kanala girişi engellenecektir.

3.13 - Ban tipleri

Ana bantipleri ve gizlenmiş (cloaked) hostlar
UnrealIRCd +b nick!user@host gibi ana bantiplerini desteklemektedir.
Aynı zamanda, eğer bir kullanıcı 'rox-ACB17294.isp.com' gibi bir gizlenmiş hosta sahipse ve siz *!*@rox-ACB17294.isp.com şeklinde bir ban belirtmişseniz, bu durumda kullanıcı -x (böylelikle hostu 'dial-123.isp.com' olacaktır(örneğin)) moduna geçse dahi belirtilen ban hala eşleşecektir. Banlar herzaman gerçek ve gizlenmiş hostlarla eşleşir.
Bununla birlikte IP ban da vardır (ör : *!*@128.*).

Gizlenmiş IP’lere ban için birkaç açıklama gereklidir:
Eğer kullanıcının IP’si 1.2.3.4 ise gizlenmiş IP’si 341C6CEC.8FC6128B.303AEBC6.IP olabilir.
Eğer *!*@341C6CEC.8FC6128B.303AEBC6.IP şeklinde ban atarsanız bu ban *!*@1.2.3.4 şekline eşdeğerdir (bu açıktır...)
Eğer *!*@*.8FC6128B.303AEBC6.IP şeklinde ban atarsanız bu ban *!*@1.2.3.* şekline eşdeğerdir.
Eğer *!*@*.303AEBC6.IP şeklinde ban atarsanız bu ban *!*@1.2.* şekline eşdeğerdir.
Bu bilgilendirme atılacak bir banın ne kadarlık bir kapsaması olduğuna karar verirken size yardımcı olacaktır.

Genişletilmiş bantipleri
Genişletilmiş banlar ~[!]<tip>:<parametre> şeklindedir. Mevcut tipler:
tip: isim açıklama:
~q quiet Bu ban ile eşleşen kullanıcı kanala girebilir ancak +v veya daha yükseğine sahip değilse konuşamaz. Ör: ~q:*!*@blah.blah.com
~n nickchange Bu ban ile eşleşen kullanıcı +v veya daha yükseğine sahip değilse nick değiştiremez. Ör: ~n:*!*@*.aol.com
~c [prefix]channel Eğer kullanıcı belirtilen kanalda ise ban konulan kanala giremez. Bununla birlikte burada önek olarak (+/%/@/&/~) belirtilebilir.Önek belirtilirse kanalda belirtilen öneke sahip veya daha yükseğine sahip olan kullanıcı kanala giremez. Ör: +b ~c:#lamers, +e ~c:@#trusted
~r realname Eğer kullanıcının realname kısmı eşleşirse kullanıcı kanala giremez.
Ör: ~r:*Stupid_bot_script*
NOT: alt çizgi ('_') hem boşluk (' ') hemde ('_') ile eşleşir, bu sebepten bu ban 'Stupid bot script v1.4' ile eşleşecektir.
Bu ban tipleri aynı zamanda kanal kabul modunda da (+e) desteklenmektedir.
Aynı zamanda Moduller ile de başka ban tipleri de eklenebilir.

3.14 - Spamfilter

Spamfilter spam,reklam,worm ve diğer türlerde ki istenmeyen durumlara karşı yeni bir sistemdir. Badwords sistemi ile benzer çalışır fakat birçok avantajı vardır.

Spamfilter kullanımı aşağıda gösterilmiştir:
/spamfilter [add|del|remove|+|-] [tip] [eylem] [tklsüresi] [sebep] [düzenli-ifade]
[tip] Hedef tipini belirtir:
Karakter: Konfig.Dosyasında Tanımı: Açıklama:
c channel Kanal mesajları
p private Özel mesajlar (kullanıcı->kullanıcı)
n private-notice Özel notice
N channel-notice Kanala notice
P part Part sebebi
q quit Quit sebebi
d dcc DCC dosya ismi
a away Away mesajı
t topic Belirtilen topic
u user Kullanıcı banı, nick!user@host:realname ile eşleşecektir
Çoklu hedefler belirtebilirsiniz, cpNn gibi.
[eylem] Eşleşme gerçekleştiği takdirde uygulanacak eylem (sadece 1 eylem belirtilebilir).
kill Kullanıcıya kill atılır
tempshun Kullanıcının o anlık oturumuna shun atılır (eğer yeniden bağlanırsa shun kalkacaktır)
shun Hosta shun atılır
kline Host için kline eklenir
gline Host için gline eklenir
zline Host için zline eklenir
gzline Host için gzline (global zline) eklenir
block Sadece mesaj bloklanır
dccblock Kullanıcı işaretlenir böylelikle kullanıcı DCC gönderimi yapamaz
viruschan Bütün kanallardan çıkartılır, set::spamfilter::virus-help-channel ile belirtilen kanala giriş yaptırılır, PONG, ADMIN , ve set::spamfilter::virus-help-channel ile belirtilen kanala msg/notice hariç hiçbir komutu kullanamaz
[tklsüresi] Spamfilter tarafından eklenen *line/shun için geçerli olma süresidir, başlangıç değeri için '-' kullanın veya atlayın (Ör: eğer eylem = 'block' ise)
[sebep] Block/*line/shun sebebidir. Burada belirtilen sebep içinde boşluk kullanamazsınız, alt çizgiler ('_') boşluk olarak değerlendirilir. Ve çift altçizgi ('__') ('_') olarak değerlendirilir. Yine aynı şekilde başlangıç değeri için, '-' kullanın.
[düzenli ifade] bu kısım, hangi ifadenin veya 'yasak kelime'nin kullanıldığında belirtilen eylemin uygulanacağını bildirilen kısımdır.

İşte bir örnek: /spamfilter add pc gline - - Come watch me on my webcam
Eğer metin come watch me on my webcam (özel mesajda veya kanal mesajında) ise mesaj bloke edilecek ve ardından gline eklenecektir.
Diğer bir örnek: /spamfilter add pc block - - come to irc\..+\..+
Burda belirtilen ifade Hi, come to irc.blah.net metniyle eşleşecektir.vs..
Ve süre/sebep belirtilmiş bir örnek:
/spamfilter add p gline 3h Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam
Eğer özel mesajda come watch me on my webcam metnine rastlanırsa kullanıcı 3 saat süreliğine belirtilen Please go to www.viruscan.xx/nicepage/virus=blahsebebinden dolayı gline'lı olarak kalacaktır .

/spamfilter komutuyla eklenmiş spam filtreleri bütün ağ boyunca geçerlidir. Kullanıcı/kanal +G modunda olsun olmasın muhakkak çalışacaktır, sadece operler ve servisler (uline) filtrelemeden etkilenmezler.

Aynı zamanda spam filtrelerini konfigürasyon dosyasından da ekleyebilirsiniz fakat bunlar yerel sunucuda geçerli olacaktır(bütün ağ kapsamında değil). Bu spamfilter { } bloğunun kullanımı burada açıklanmıştır.
Örnek:

spamfilter {
	regex "//write \$decode\(.+\|.+load -rs";
	target { private; channel; };
	reason "Generic $decode exploit";
	action block;
};

set::spamfilter::ban-time spamfilter ile eklenen *line/shun için ban süresinin default değerini değiştirebilmenize olanak sağlar.(default değeri: 1 gün)
set::spamfilter::ban-reason Default değeri olarak bir sebep belirtmenize olanak sağlar.(default değeri: 'Spam/advertising')
set::spamfilter::virus-help-channel belirtilen 'viruschan' eylemi için bir kanal belirtmenize olanak sağlar. (default: #help)
set::spamfilter::virus-help-channel-deny yukarıda belirttiğiniz kanala yapılacak bütün normal girişleri bloklamanıza olanak sağlar.(default değeri: no)

3.15 - CIDR

UnrealIRCd şimdi CIDR (Classless Interdomain Routing) özelliğini de desteklemektedir. CIDR IP dizilerine ban atmanıza olanak sağlar. Unreal CIDR desteği hem IPv4 hem de IPv6 için geçerlidir. CIDR maskeleri allow::ip, oper::from::userhost, ban user::mask, ban ip::mask, except ban::mask, ve except throttle::mask ve except throttle (gzline, gline ve shun için) yönergeleri içinde kullanılabilir. Ek olarak yine CIDR maskeleri /kline, /gline, /zline, /gzline ve /shun komutları kullanılırken de belirtilebilir. Unreal standart IP/bit sözdizimini kullanır, ör. 127.0.0.0/8 (127.0.0.0 - 127.255.255.255 arasındaki bütün IP'lerle eşleşir).

3.16 - Nick Karakter Grupları

UnrealIRCd şimdi belirtilen karakter grubu/dil ile o gruba/dile ait karakterlerden oluşabilen nick kullanımını da desteklemektedir. Bunu set::allowed-nickchars ile yapabilirsiniz.
Bütün olası seçeneklerin tablosu:
İsim: Açıklama: Karakter seti/encoding:
catalan Katalancaya ilişkin karakterler iso8859-1 (latin1)
danish Dancaya ilişkin karakterler iso8859-1 (latin1)
dutch Flemenkçeye ilişkin karakterler iso8859-1 (latin1)
french Fransızcaya ilişkin karakterler iso8859-1 (latin1)
german Almancaya ilişkin karakterler iso8859-1 (latin1)
swiss-german İsviçre-Alman diline ilişkin karakterler (no es-zett) iso8859-1 (latin1)
icelandic Izlandacaya ilişkin karakterler iso8859-1 (latin1)
italian İtalyancaya ilişkin karakterler iso8859-1 (latin1)
spanish İspanyolcaya ilişkin karakterler iso8859-1 (latin1)
swedish İsveç diline ilişkin karakterler iso8859-1 (latin1)
latin1 catalan, danish, dutch, french, german, swiss-german, spanish, icelandic, italian, swedish karakter gruplarına ilişkin bütün karakterler iso8859-1 (latin1)
hungarian Macarcaya ilişkin karakterler iso8859-2 (latin2), windows-1250
polish Lehçeye ilişkin karakterler iso8859-2 (latin2)
romanian Romenceye ilişkin karakterler iso8859-2 (latin2), windows-1250, iso8859-16
latin2 hungarian, polish, romanian karakter gruplarına ilişkin bütün karakterler iso8859-2 (latin2)
polish-w1250 Lehçeye ilişkin karakterler, windows biçiminde(maalesef iso'ya nazaran daha çok karşılaşılır) windows-1250
slovak-w1250 Slovakçaya ilişkin karakterler, windows biçiminde windows-1250
czech-w1250 Çek diline ilişkin karakterler, windows biçiminde windows-1250
windows-1250 lehçe-w1250, slovakça-w1250, çek-w1250, macarca, romence windows-1250
greek Yunancaya ilişkin karakterler iso8859-7
turkish Türkçeye ilişkin karakterler iso8859-9
russian-w1251 Rusçaya ilişkin karakterler windows-1251
belarussian-w1251 Belarusçaya ilişkin karakterler windows-1251
ukrainian-w1251 Ukraynacaya ilişkin karakterler windows-1251
windows-1251 rusça-w1251, belarussian-w1251, ukraynaca-w1251 windows-1251
hebrew İbraniceye ilişkin karakterler iso8859-8-I/windows-1255
chinese-simp Basitleştirilmiş Çinceye ilişkin karakterler Multibyte: GBK/GB2312
chinese-trad Geleneksel Çinceye ilişkin karakterler Multibyte: GBK
chinese-ja Japoncaya ilişkin karakterler (Hiragana/Pinyin) Multibyte: GBK
chinese çince-* Multibyte: GBK
gbk çince-* Multibyte: GBK

NOT 1: Bazı kombinasyonlar problemlere neden olabilir. Örneğin, latin* ve chinese-* dillerinin kombinasyonunda Unreal hata verebilir. Diğer karakter setlerinin kombinasyonu da görüntü problemlerine neden olabilir, eğer latin1/latin2/yunanca/diğer gibi uyumsuz grupların kombinasyonunu kullanırsanız Unreal bir uyarı mesajı verecektir.

NOT 2: Karakter haritaları US-ASCII tablosuna göre hazırlanmıştır, bunun manası ise şudur: o" ile O" karakterleri aynı karakterler olarak yorumlanmaz. Bu nedenle birisi B"ar nickini kullanırken aynı anda bir başkası da BA"r nickini kullanabilir. Bu kısa bir süre sonra çözülemeyecek, mevcut sistemin ve IRCd standartlarının, bir sınırlamasıdır. Kişiler bu sınırlamadan haberdar olmalılardır. Bu anlatılanlar kanal isimleri içinde geçerlidir.

NOT 3: Temel nick karakterleri (a-z A-Z 0-9 [ \ ] ^ _ - { | }) herzaman kullanılabilir ve kapsam içindedir.

Örnek 1, batı avrupa kullanıcıları için:
set { allowed-nickchars { latin1; }; 
};
Örnek 2, eğer çok sayıda çinli kullanıcınız varsa:
set { allowed-nickchars { 
chinese-simp; chinese-trad; }; };

3.17 - CGI:IRC Desteği

UnrealIRCd CGI:IRC bağlantıları için host yanıltma özelliğini destekler. Bunun manası belirli CGI:IRC ağ geçitlerini "güvenilir" olarak işaretleyebilirsiniz böylelikle belirtilen ağ geçidinden bağlanan kullanıcıların kullandıkları CGI:IRC ağ geçidinin sahip olduğu host/ip'si yerine kullanıcıların gerçek host/ip'si görülecektir.

Yapılandırma hakkında bilgi edinmek için cgiirc bloğuna bakın.

3.18 - Zaman Senkronizasyonu

Zamanlamanın doğru olmasının IRC sunucular açısından son derece önemlidir. Zamanlamanın sunucularda doğru olmaması, kanal arasında eş zamansızlığa, masum insanların sunucudan bağlantısının kesilmesine (kill), bazı kanalların /LIST komutu sorgusunda listede bulunmamasına sebep olabilir, kısaca istenmeyen durumlar meydana gelebilir.

UnrealIRCd kendi bünyesinde zaman senkronizasyonu özelliğine bir bakıma destekler, fakat optimal değildir (hala birkaç saniye uyumsuzluk yaşanabilir), bu da büyük zaman farklarına yol açabilir. Eğer yapabilirseniz, bir zaman senkronizyonu programı kullanmanız önerilir, *NIX platformunda ntpd gibi veya Windowsta zaman senkronizyon servisi gibi. (eğer böyle bir yazılım kullanırsanız, Unreal’in zaman senkronizasyon özelliğini devre dışı bırakabilirsiniz).

UnrealIRCd (default olarak) başlatıldığı anda zaman senkronizyonunu sağlar. Çoklu zaman sunucularına istek gönderir ve ilk aldığı cevaba göre (en hızlı olanı) dahili ircd saatini ayarlar (sistem saatini DEĞİL). Eğer herhangi bir sebepten dolayı 3 saniye içinde zaman sunucusundan cevap alınamazsa, IRCd açılmaya devam edecektir. (bu olaya nadiren rastlanır)

Zaman senkronizasyonu set::timesynch bloğu ile yapılandırılır, daha fazla bilgi için set dökümanına bakın..

3.19 - Diğer Özellikler

UnrealIRCd buraya sığamayacak kadar çok özelliğe sahiptir... Bu özellikleri kendiniz bulacaksınız.

4.0 - unrealircd.conf dosyasının konfigürasyonu

İlk olarak, iyi bir unrealircd.conf oluşturmak biraz zaman alacaktır, 10 – 60dak gibi. Yapabildiğiniz kadar çabuk bir biçimde boot etmeyi deneyebilirsiniz ve daha sonra geniş olarak konfigürasyon dosyasını inceleyebilirsiniz, veya adım adım ana kısımları öğrenebilirsiniz ki bu tercih edilen yoldur. ;P. Eğer bir sorunla karşılaşırsanız, yardım istemeden önce yazımınızı (syntax), klavuzu ve FAQ kısmını kontrol edin.

4.1 Açıklamalı Konfigürasyon Dosyası

Yeni sistem blok-tabanlı bir format kullanır. Yeni biçimde herbir girişin, veya bloğun kendine özgü bir formatı vardır. Biçim genel olarak şu şekildedir:

<blok-ismi> <blok-değeri> {
	<blok-yönergesi> <yönerge-değeri>;
};

<blok-ismi> bloğun tipidir, me veya admin gibi. <blok-değeri> kimi zamanlarda özel bir değer olabilir, /oper login gibi, fakat kimi zamanlarda da ban user ‘da olduğu gibi alt bir tip olacaktır.

<blok-yönergesi> bloğa özgü özel bir değişkendir ve <yönerge-değeri> ise birleşik değerdir. Eğer <yönerge-değeri> ,boşluk karakterini içeriyorsa veya bir açıklama tarzı bir ifade içeriyorsa , çift tırnak içerisinde belirtilmelidir. Eğer tırnak karakterini çift tırnak içine alınmış bir ifade içinde kullanmak istiyorsanız \" kullanın, bu tırnak karakteri olarak algılanacaktır.

Bir <blok-yönergesi> kendi içinde yönergelere sahip olabilir. Bazı bloklarda yönerge bulunmaz ve sadece <blok-değeri> ile belirtilir, include bloğunda olduğu gibi. Aynı zamanda sabit belirli bir formatı yoktur, bunun manası sözü edilen blok 1 satır olarak da görülebilir veya 1 satırdan fazla da olabilir. Normal kullanım formatı (dosyada kullanılacak format) yukarıdaki gibidir, çünkü bunun okunması kolaydır.

Not: konfigürasyon dosyası büyük ve küçük harf duyarlıdır, yani BLOK-İSMİ yazımı blok-ismi yazımıyla eş değildir. Konfigürasyon dosyasında, yapılan girişlerden bahsederken özel bir notasyon kullanılır. Örneğin, yukarıda ki örnek için bu notasyon <blok-ismi>::<blok-yönergesi> şeklindedir ve eğer bu yönergenin alt bir bloğu varsa bunun içinde diğer bir :: ekleyip ardından alt yönergenin ismini ekleyebilirsiniz.

Yönerge ismi belirtilmeden gösterim şekli ise <blok-ismi>:: şeklindedir, bu bir <blok-değeri>'de olabilir, veya alt bloklardan herhangi birini de belirtebilir.

Açıklama yaparken desteklenen 3 tip vardır:

# 1 satırlık açıklama
// 1 satırlık açıklama
/* 1 veya daha fazla
    satırlık açıklama */

Şimdi konfigürasyon dosyasının nasıl işlediğini biliyorsunuz, doc/example.conf dosyasını UnrealIRCd 'in bulunduğu klasöre (ör: /home/user/Unreal3.2) kopyalayın ve unrealircd.conf olarak yeniden isimlendirin. Konfigürasyon dosyanızı oluşturmak için bütün blok tipleri ve ayarlamalar için adım adım ilerlemeniz ve bu klavuzu referans almanız önerilir.

4.2 - Me Bloğu GEREKLİ (Önceden bilinen M:Line)

Kullanımı:

me {
	name <sunucu-ismi>;
	info <sunucu-için-açıklama>;
	numeric <sunucu-numerik-değeri>;
};

Bu değerler çok açıktır. name ile sunucu ismi belirtilir, info ile sunucu için bir açıklama belirtilir, numeric ile ise sunucuyu tanıtan sayısal bir değer belirtilir. Bu değer 0 ile 254 arasında olmak zorundadır ve burda belirtilen sayısal değere ağda ki diğer hiçbir sunucu sahip olamaz.

Örnek:

me {
	name "irc.foonet.com";
	info "FooNet Server";
	numeric 1;
};

4.3 - Admin Bloğu GEREKLİ (Önceden bilinen A:Line)

Kullanımı:

admin {
	<metin>;
	<metin>;
};

Admin bloğu /admin sorgusunda görüntülenecek metni belirler. Burada ki satırları istediğiniz oranda çoğaltabilirsiniz ve bu satırlar istediğiniz bilgiyi içerebilir, ancak genel olarak minimum admin nicki ile email adresi girilir. Diğer bilgiler ise yazmak istediğiniz herhangi diğer bir iletişim bilgileri de olabilir.

Örnek:

admin {
	"Bob Smith";
	"bob";
	"widely@used.name";
};

4.4 - Class Bloğu GEREKLI (Önceden bilinen Y:Line)

Kullanımı:

class <isim> {
	pingfreq <ping-frekansı>;
	connfreq <bağlantı-frekansı>;
	maxclients <maximum-istemci>;
	sendq <send-queue>;
	recvq <recv-queue>;
};

Class blokları bağlantıların yerleştirileceği sınıfları belirler (örneğin allow bloğuyla gelen bağlantılar veya link bloğuyla gelen sunucu bağlantıları gibi.), genel olarak çoklu class blokları kullanılır.(ör: sunucular için, kullanıcılar, operler için).

name "clients" veya "servers" gibi bir tanımlayıcı isimdir, bu isim bu sınıfı allow/link/oper/vs. bloklarıyla ilişkilendirmek için kullanılır

pingfreq sunucudan gelen PING'ler arasında ki saniye olarak süredir.(90 ile 180 arasında ki bir değer önerilir.)

connfreq sunucular için kullanılır ve eğer otomatik bağlantı aktif ise bağlantı denemeleri arasında ki saniye olarak süredir

maxclients bu sınıfta maksimum (toplamda) kaç istemci/sunucu sayısı olabileceğini belirler

sendq gönderim dizisi içinde ne kadar miktarda veri olabileceğini belirtir. (düşük bant genişlikli sunucular için çok yüksektir, istemciler (clients) için ise orta bir değerdir.)

recvq alınan veri dizisinde ne kadar miktarda veri olabileceğini belirler ve bu flood kontrolu için kullanılır. (bu değer sadece normal kullanıcılara uygulanır, 3000-8000 arasında bir değeri deneyebilirsiniz, default değer 8000'dir.).

Örnekler:

class clients {
	pingfreq 90;
	maxclients 500;
	sendq 100000;
	recvq 8000;
};

class servers{
	pingfreq 90;
	maxclients 10; /* Bir kerede linkleyebileceğimiz max sunucu sayısı */
	sendq 1000000;
	connfreq 100; /* herbir bağlantı girişimi arasında ki saniye olarak süre */
};

4.5 - Allow Bloğu GEREKLİ (Önceden bilinen I:Line)

Kullanımı:

allow {
	ip <kullanıcı@ip-bağlantı-maskesi>;
	hostname <kullanıcı@host-bağlantı-maskesi>;
	class <bağlantı-sınıfı>;
	password <bağlantı-şifresi> { <auth-tipi>; };
	maxperip <ip-başına-max-bağlantı>;
	redirect-server <yönlendirilecek-sunucu>;
	redirect-port <yönlendirilecek-port>;
	options {
		<tercih>;
		<tercih>;
		...
	};
};

Allow bloğu ile sunucunuza kimlerin bağlanabileceğini belirtebilirsiniz, bir veya daha fazla allow bloğunuz olabilir.

Eşleşme hakkında
Giriş kontrolu ip eşleşmeleri veya host eşlemeleri ile yapılır. Yani "hostname *@*" ;ve "ip *@1.2.3.4" ise bu herzaman eşleşecektir. Aynı zamanda allow blokları yukarıdan aşağıya doğru okunarak değerlendirilir, bu nedenle genel *@* allow bloklarından sonra açık host/ip 'ler belirtmelisiniz. Ek olarak sadece IP tabanlı eşleşme yapmasını istediğiniz bir blok oluşturmak isterseniz, hostname kısmına geçersiz herhangi birşey belirtin, "hostname NOBODY;" gibi, bu bloğun sadece IP tabanlı eşleşme yapmasına olanak sağlayacaktır.

ip
IP maskesi kullanıcı@ip formundadır, kullanıcı kısmı burada idente karşılık gelir ve genellikle * olarak belirtilir, ip ise ip kalıbıdır. Birkaç örnek: *@* (herhangi bi yerden), *@192.168.* (sadece ip adresi 192.168 ile başlayanlar), vs..

host
yine hostmaskesi kullanıcı@host formundadır. kullanıcı kısmı genelde * olarak belirtilir. Birkaç örnek: *@* (heryerden), *@*.wanadoo.fr (sadece wanadu.fr 'den).

password (isteğe bağlı)
eğer belirtilirse bağlanabilmek için şifre gerekir. Aynı zamanda burada yeniden şifreleme metodu ile oluşturdugunuz bir şifre de belirtebilirsiniz.

class
Bu allow bloğunu kullanan bağlantıların yerleştirileceği sınıfı belirtir.

maxperip (isteğe bağlı, ancak önerilir)
Sunucu için IP başına nekadar bağlantıya izin verileceğini belirtir.(ör: maxperip 4;).

redirect-server (isteğe bağlı)
Eğer belirtilen sınıf full ise, kullanıcılar burada belirtilen sunucuya yönlendirilirler.(eğer istemci yazılımı da destekliyorsa [mIRC 6 destekliyor]).

redirect-port (isteğe bağlı)
Eğer redirect-server belirtilmişse bu kısma portu belirtebilirsiniz, aksi takdirde 6667 olarak varsayılacaktır

options bloğu (isteğe bağlı)
Geçerli tercihler:
   useip hostname yerine herzaman IP görüntülenir
   noident ident kullanılmaz fakat client'in belirlediği username kullanılır
   ssl sadece SSL ile bağlanan istemciler bağlanabilir
   nopasscont eğer şifre belirtilmemişse eşleşme devam eder.

Örnekler:

allow {
	ip *;
	hostname *;
	class clients;
	maxperip 5;
};

allow {
	ip *@*;
	hostname *@*.passworded.ugly.people;
	class clients;
	password "f00Ness";
	maxperip 1;
};

 

4.6 - Listen Bloğu GEREKLI (Önceden bilinen P:Line)

Kullanımı:

listen <ip:port> {
	options {
		<tercih>;
		<tercih>;
		...
	};
};

Bu blok IRCD'in hangi portları dinleyeceğini belirtmenizi sağlar. Eğer seçilmesi gereken hiçbir seçenek yoksa, bu bloğu sadece listen <ip:port>; şeklinde belirtebilirsiniz.

ip and port
Kullanılabilir bütün IP'lere bağlanmak için IP kısmını * olarak belirtebilirsiniz, veya bağlanılacak tek IP belirtebilirsiniz.(çoğunlukla shell sağlayıcıları için gerekir). Belirtilecek port ise dinlemek istediğiniz porttur. Tek port yerine belirli port aralıklarını da belirtebilirsiniz. Örneğin 6660-6669 şeklinde belirttiğiniz zaman 6660 dan 6669 (dahil) 'a kadar bütün portları belirtmiş olursunuz. IPv6 kullanıcıları için aşağıda açıklama yapılmıştır.

IPv6 kullanıcıları için bilgi
Eğer IPv6 desteği açık bir sunucunuz varsa IP'yi parantez ifadesi içinde belirtmelisiniz. [::1]:6667 gibi. Eğer IPv6 kullanıyorsanız ve belirli bir IPv4 adresini dinlemek istiyorsanız ::ffff:ipv4ip şeklinde belirtme yapmalısınız. Örnek: [::ffff:203.123.67.1]:6667 ile 203.123.67.1 IP'sini 6667 portu üzerinden dinlemek için. Elbette burada sadece * da belirtebilirsiniz.

options bloğu (isteğe bağlı)
Kullanılacak port için özel tercihler de belirtebilirsiniz, geçerli tercihler:
clientsonly
sadece istemciler için
serversonly
sadece sunucular için
java
CR javachat desteği
ssl
SSL kullanan bağlantılar için

Örnekler:

listen *:6601 {
	options {
		ssl;
		clientsonly;
	};
};

Veya tercih belirtilmemiş şekil:

listen *:8067;
listen 213.12.31.126:6667;
listen *:6660-6669;

4.7 - Oper Bloğu ÖNERİLİR (Önceden bilinen O:Line)

oper <isim> {
	from {
		userhost <hostmaskesi>;
		userhost <hostmaskesi>;
	};
	password <şifre> { <auth-tipi>; };
	class <class-ismi>;
	flags <flaglar>;
	flags {
		<flag>;
		<flag>;
		...
	};
	swhois <whois bilgisi>;
	snomask <snomask>;
	modes <modlar>;
	maxlogins <num>;
};

Oper bloğu IRC Operatörleri atamanızı sağlar. oper:: kısmı /oper kullanımında ki login ismini belirtir. oper::from::userhost kısmı ile belirtilecek kullanıcı@host maskesi kullanıcının eşleşeceği maskedir, burada birden çok oper::from::userhost belirtebilirsiniz. oper::password kısmında belirttiğiniz şifre ise kullanıcının belirteceği şifredir, oper::password:: kısmında ise bu şifre için bir auth metodu belirtebilirsiniz, kullanılan auth tipleri: crypt, md5 ve sha1, ripemd-160. Eğer düz-metin bir şifre kullanmak istiyorsanız bu alt bloğu kullanmayın.

Lütfen login ismi kısmının ve şifre kısmının büyük-küçük harfe duyarlı olduğunu unutmayın

oper::class yönergesinde ise oper bloğunun kullanacağı daha önceden anlatılmış olan class ismi belirtilir.

oper::flags yönergesinin iki formatı vardır. Eğer eski stil oper flaglarını kullanmak istiyorsanız, örneğin; OAa, bunu flags <flags>metodu ile belirtebilirsiniz, eğer yeni stili kullanmak istiyorsanız, örneğin; services-admin, bunu flags { <flag>; } metodu ile belirtebilirsiniz. Aşağıda (her iki format için) flaglar ve işlevleri listelenmiştir.

Eski Flag
Yeni Flag
Açıklama
o
local
Sizi local operator yapar
O
global
Sizi global operator yapar
C
coadmin
Sizi coadmin yapar
A
admin
Sizi admin yapar
a
services-admin
Sizi servisler admini yapar
N
netadmin
Sizi ağ admini yapar
r
can_rehash
/rehash komutunu kullanabilme yetkisi verir
D
can_die
/die komutunu kullanabilme yetkisi verir
R
can_restart
/restart komutunu kullanabilme yetkisi verir
h
helpop
Opere +h (helpop) kullanıcı modunu verir
w
can_wallops
/wallops ile mesaj gönderebilme yetkisi verir
g
can_globops
/globops ile mesaj gönderebilme yetkisi verir
c
can_localroute
Yerel /SQUIT ve /CONNECT komutlarını kullanabilme yetkisi verir
L
can_globalroute
Global /SQUIT ve /CONNECT komutlarını kullanabilme yetkisi verir
k
can_localkill
Yerel /kill komutu kullanabilme yetkisi verir
K
can_globalkill
Global /kill komutu kullanabilme yetkisi verir
b
can_kline
/kline komutunu kullanabilme yetkisi verir
B
can_unkline
/kline -u@h komutunu kullanabilme yetkisi verir(kline silme yetkisi)
n
can_localnotice
Yerel sunucu noticeleri gönderebilme yetkisi verir
G
can_globalnotice
Global sunucu noticeleri gönderebilme yetkisi verir
z
can_zline
/zline komutunu kullanabilme yetkisi verir
t
can_gkline
/gline, /shun ve /spamfilter komutlarını kullanabilme yetkisi verir
Z
can_gzline
/gzline komutunu kullanabilme yetkisi verir
W
get_umodew
Oper açtığında kullanıcının +W modunu almasını sağlar
H
get_host
Oper açtığında kullanıcının oper hostu almasını sağlar
v
can_override
OperOverride kullanabilme yetkisi verir
q
can_setq
+q kullanıcı modunu kullanabilme yetkisi verir
X
can_addline
/addline komutunu kullanabilme yetkisi verir
d
can_dccdeny
/dccdeny ve /undccdeny komutlarını kullanabilme yetkisi verir

Belirli flaglar default olarak diğer flagları da verir:

local global admin/coadmin services-admin netadmin
can_rehash can_rehash can_rehash can_rehash can_rehash
helpop helpop helpop helpop helpop
can_globops can_globops can_globops can_globops can_globops
can_wallops can_wallops can_wallops can_wallops can_wallops
can_localroute can_localroute can_localroute can_localroute can_localroute
can_localkill can_localkill can_localkill can_localkill can_localkill
can_kline can_kline can_kline can_kline can_kline
can_unkline can_unkline can_unkline can_unkline can_unkline
can_localnotice can_localnotice can_localnotice can_localnotice can_localnotice
  can_globalroute can_globalroute can_globalroute can_globalroute
  can_globalkill can_globalkill can_globalkill can_globalkill
  can_globalnotice can_globalnotice can_globalnotice can_globalnotice
    global global global
    can_dccdeny can_dccdeny can_dccdeny
      can_setq can_setq
        admin
        services-admin

oper::swhois yönergesi oper whois bilgisine ekstra bir satır eklemenize olanak sağlar. [isteğe bağlı]

oper::snomask yönergesi ise oper açıldığında hangi snomaskların alınacağını belirlemenizi sağlar. Kullanılabilir SNOMASKlar için Bölüm 3.3'e bakın. [isteğe bağlı]

oper::modes yönergesi ise oper açıldığında alınacak modları belirlemenizi sağlar. [isteğe bağlı]

oper::maxlogins yönergesi ise belirtilen hosttan max kaç oper logini olabileceğini belirlemenizi sağlar. Örneğin bunu 1 olarak belirtmişseniz belirttiğiniz hosttan sadece tek bir kullanıcı oper açabilir. [isteğe bağlı]

Örnek:

oper bobsmith {
	class clients;
	from {
		userhost bob@smithco.com;
		userhost boblaptop@somedialupisp.com;
	};
	password "f00";
	flags {
		netadmin;
		can_gkline;
		can_gzline;
		can_zline;
		can_restart;
		can_die;
		global;
	};
	swhois "Example of a whois mask";
	snomask frebWqFv;
};

OperOverride hakkında kısa bir bilgilendirme:
OperOverride ile: +ikl modlarında olan kanallara girebilirsiniz veya banları yok sayıp kanallara giriş yapabilirsiniz (ilk önce /invite komutuyla kendinizi davet etmeniz gerekir), bir kanalda kendinizi op yapabilirsiniz vs.
can_override oper flagı, oper yetkisini kötüye kullanma girişimlerinin önüne geçmek için eklenmiştir. Default ayarı olarak can_override flagını eklemedikçe, hiç bir oper override yapma yetkisine sahip değildir.

4.8 - DRpass Bloğu ÖNERİLİR (Önceden bilinen X:Line)

Kullanımı:

drpass {
	restart <restart-şifresi> { <auth-tipi>; };
	die <die-şifresi> { <auth-tipi>; };
};

Bu blok ile /restart ve /die şifrelerini drpass::restart ve drpass::die yönergeleriyle belirtebilirsiniz. drpass::restart:: ve drpass::die:: kısımları bu şifreler için auth tipini belirtmenize olanak verir. Geçerli auth tipleri: crypt, md5 ve sha1, ripemd-160.

Örnek:

drpass {
	restart "I-love-to-restart";
	die "die-you-stupid";
};

4.9 - Include Yönergesi

Kullanımı:
include <dosya-ismi>;

Bu yönergeyle yüklenecek ayrı bir konfigürasyon dosyası belirtebilirsiniz. Bu dosya konfigürasyon bloklarından herhangi birini içerebilir veya diğer herhangi bir dosya da olabilir. Dosya isminde birçok dosyayı tek seferde yükleyebilmek için (?) (*) (!) işaretlerinin kullanımı desteklenmektedir.

örnek 1: bir network (ağ) dosyası

include mynetwork.network;

Ayrı bir network dosyası kullanmak istiyorsanız bu şekilde belirtebilirsiniz. Network dosyası artık gerekli değildir; bütün network ayarları direkt olarak unrealircd.conf'ta belirtilebilmektedir. Veya bu ayarları include ifadesi ile belirttiğiniz, yüklenecek dosya içinde de belirtebilirsiniz.

örnek 2: aliases

include aliases/ircservices.conf

Bu yönergeye diğer bir örnek ise alias bloklarını içeren dosyaların belirtilmesi örneğidir, UnrealIRCd bir çok servis ile uyumlu olan aliaslar içerir:

4.10 - LoadModule Yönergesi GEREKLİ

Kullanımı:
loadmodule <dosya-ismi>;

Modüllerin neden kullanışlı olduklarını öğrenmek için buraya tıklayın.

Unreal3.2 ile birlikte gelen standart modüller:

commands.so / commands.dll - Bütün komutlar (henüz hepsi değil, ama sonuç olarak hepsi olacak GEREKLİ
cloak.so / cloak.dll - Gizleme modülü GEREKLİ (veya herhangi bir gizleme modülü)

Bu modüllerin yüklendiğinden emin olmanız gerekir:

loadmodule 
"src/modules/commands.so";
loadmodule "src/modules/cloak.so";

veya windows için:

loadmodule "modules/commands.dll";
loadmodule "modules/cloak.dll";

4.11 - Log Bloğu ÖNERİLİR

Kullanımı:

log <dosya-ismi> {
	maxsize <max-dosya-boyutu>;
	flags {
		<flag>;
		<flag>;
		...
	};
};

Log bloğu farklı amaçlar için farklı kayıt dosyaları tahsis etmenize olanak sağlar. log:: kayıt dosyasının ismini içerir. log::maxsize ise isteğe bağlı bir yönergedir, dosya bu yönergede belirtilen boyuta ulaştığında temizlenir ve dosyaya yeniden yazım başlar. Buraya belirteceğiniz değerde megabyte için MB, kilobyte için KB, gigabyte için GB şeklinde kullanım yapabilirsiniz. log::flags ile ne tür bilginin kaydedileceğini belirtebilirsiniz. Aşağıda geçerli mevcut flagların listesi verilmiştir.

Aynı zamanda farklı şeyleri farklı kayıt dosyalarında tutmak için birden fazla log bloğu oluşturabilirsiniz.

Mevcut Flaglar:
errors self explanatory
kills /kill noticelerini kaydeder
tkl *line, shun ve spamfilter (ekleme/kaldırma/zamanaşımı) bilgilerini kaydeder
connects kullanıcı giriş/çıkışlarını kaydeder
server-connects sunucu bağlantılarını/çıkışlarını kaydeder
kline /kline komutunun kullanımlarını kaydeder
oper oper açma denemelerini kaydeder (hem başarılı olanları hem de başarısız olanları)
sadmin-commands /sa* (samode, sajoin, sapart, vs.) komutlarının kullanımlarını kaydeder
chg-commands /chg* (chghost, chgname, chgident, vs.) komutlarının kullanımlarını kaydeder
oper-override operoverride kullanımlarını kaydeder
spamfilter spamfilter eşleşmelerini kaydeder

Örnek:

log ircd.log {
	maxsize 5MB;
	flags {
		errors;
		kills;
		oper;
		kline;
		tkl;
	};
};

4.12 - TLD Bloğu İSTEĞE BAĞLI (Önceden bilinen T:Line)

Kullanımı:

tld {
	mask <hostmaskesi>;
	motd <motd-dosyası>;
	rules <kurallar-dosyası>;
	shortmotd <kısamotd-dosyası>;
	opermotd <opermotd-dosyası>;
	botmotd <botmotd-dosyası>;
	channel <kanal-ismi>;
	options {
		ssl;
	}
};

Tld bloğu kullanıcıların hostuna göre, kullanıcılara, belirli bir motd dosyası, kurallar dosyası veya kanal ataması yapmanızı sağlar. Farklı diller için farklı motdler istiyorsanız, tld bloğu kullanışlıdır. tld::mask ile belirttiğiniz kullanıcı@host maskesi kullanıcının kullanıcı adı(username) ve host (hostname) kısmıyla uyuşmalıdır. Belirttiğiniz hostmaskesine görüntülenecek motd, kısamotd, opermotd, botmotd ve kurallar dosyalarını sırasıyla tld::motd, tld::shortmotd, tld::opermotd, tld::botmotd, and tld::rules kısımlarında belirleyebilirsiniz. tld::shortmotd, tld::opermotd ve tld::botmotd kısımları isteğe bağlıdır. tld::channel kısmı da isteğe bağlıdır, bu belirtilen hostmaskesine sahip kullanıcıların bağlandıkları anda girecekleri kanalı belirler. Eğer bu belirtilirse default oto giriş kanalı, belirtilen hostmaskesinde ki kullanıcılar için geçerli olmayacaktır. tld::options bloğu ise ek olarak seçenek belirtmenizi sağlar, şu an için tek mevcut seçenek ssl seçeneğidir.

TLD girişleri eşleşmesi yukarıdan aşağıya doğrudur.

Örnek:

tld {
	mask *@*.fr;
	motd "ircd.motd.fr";
	rules "ircd.rules.fr";
};

4.13 - Ban Nick Bloğu İSTEĞE BAĞLI (Önceden bilinen Q:Line)

Kullanımı:

ban nick {
mask <nick>; reason <yasaklama-için-sebep>; };

Ban nick bloğu bir nickin sunucuda kullanımını yasaklamanıza olanak sağlar. ban::mask kısmında birden çok nick belirtilebilmesi için (*), (!), (?) işaretleri kullanılabilir ve ban::reason kısmında ise bu yasaklama için gerekçe belirtilir. Çoğunlukla bu bloklar Network Servislerinin kullandığı nicklerin kullanımını yasaklamak için kullanılır.

Example:

ban nick {
	mask "*C*h*a*n*S*e*r*v*";
	reason "Reserved for Services";
};

4.14 - Ban User Bloğu İSTEĞE BAĞLI (Önceden bilinen K:Line)

Kullanımı:

ban user {
	mask <hostmaskesi>;
	reason <ban-için-sebep>;
};

Bu blok belirtilen kullanıcı@host hostmaskesine sahip kullanıcıların sunucuya girişlerini engellemek için kullanılır. ban::mask kısmında belirtilecek kullanıcı@host maskesinde (?), (*), (!) işaretleri kullanılabilir, ve ban::reason kısmında ise ban için sebep belirtilir. Not, burada atılacak ban yerel bir bandır, kullanıcı ağdaki diğer bir sunucuya bağlantı sağlayabilir.

Örnek:

ban user {
	mask *tirc@*.saturn.bbn.com;
	reason "Idiot";
};

4.15 - Ban IP Bloğu İSTEĞE BAĞLI (Önceden bilinen Z:Line)

Kullanımı:

ban ip {
	mask <ipmaskesi>;
	reason <ban-için-sebep>;
};

Ban ip bloğu belirtilen ip maskesinin sunucuya erişimini yasaklamak için kullanılır. Bu bağlantı deneyen kullanıcıları ve sunucuları da içerir. ban::mask parametresi (?), (*), (!) işaretlerini de içerebilecek bir IP'dir, ban::reason kısmında ise ban gerekçesi belirtilir. Bu ban sunucuları da kapsadığından çok dikkatli kullanılmalıdır.

Örnek:

ban ip {
	mask 192.168.1.*;
	reason "Get a real ip u lamer!";
};

4.16 - Ban Server Bloğu İSTEĞE BAĞLI (Önceden bilinen q:Line)

Kullanımı:

ban server {
	mask <sunucu-ismi>;
	reason <ban-için-sebep>;
};

Bu blok belirtilen sunucunun ağa bağlantısını engellemek için kullanılır. Eğer belirtilen sunucu direkt olarak sunucunuza linklenirse, link reddedilir. Eğer belirtilen sunucu uzak sunucuya linklenirse, yerel sunucunun ağdan bağlantısı kesilir. ban::mask kısmında bağlantısı engellenecek sunucu ismi belirtilir, burada (?), (*), (!) işaretleri kullanılabilir ve ban::reason kısmında ise bu engelleme için gerekçe belirtilir.

Örnek:

ban server {
	mask broken.server.my.network.com;
	reason "Its broken!";
};

4.17 - Ban RealName Bloğu İSTEĞE BAĞLI (Önceden bilinen n:Line)

Kullanımı:

ban realname {
	mask <realname-maskesi>;
	reason <ban-için-sebep>;
};

Ban realname bloğu bir kullanıcıyı, GECOS kısmı esas alınarak, banlamanıza olanak sağlar. Bu clone saldırılarını durdurmada yardımcı olacaktır, çünkü çoğunlukla saldırılarda ki clone botlar aynı realname 'e sahiptir. ban::mask kısmında banlanacak realname belirtilir. Bu kısımda (*), (?), (!) işaretleri kullanılabilir. ban::reason kısmında ise ban gerekçesi belirtilir.

Örnek:

ban realname {
	mask "Bob*";
	reason "Bob sucks!";
};

4.18 - Ban Version Bloğu İSTEĞE BAĞLI

Kullanımı:

ban version {
	mask <versiyon-maskesi>;
	reason <ban-için-sebep>;
	action [kill|tempshun|shun|kline|zline|gline|gzline];
};

Ban version bloğu bir kullanıcıya, kullandığı IRC client yazılımı esas alınarak, ban atmanıza olanak verir. Bu, kullanıcıların CTCP version 'a karşı verdikleri cevap kullanılarak yapılır. Bu yüzden eğer kullanıcı CTCP version'a cevap vermezse ban işlevi geçerli olmayacaktır. Bu özellik kötü niyetli scriptleri bloke etmek için tasarlanmıştır. ban::mask kısmında banlanacak versiyon belirtilir. Bu kısımda (?), (*), (!) işaretleri kullanılabilir. ban::reason kısmında ise ban gerekçesi belirtilir. Aynı zamanda ban::action kısmında, kill default değeri olmak üzere, tempshun/shun/kline/zline/gline/gzline eylemlerini de, (*@IPADDR) şeklinde uygulanmak üzere belirtebilirsiniz. Burada atılacak banın süresi set::ban-version-tkl-time kısmında belirtilen değerdir ve default değeri 1 gündür.

Örnek:

ban version {
	mask "*SomeLameScript*";
	reason "SomeLameScript contains backdoors";
};
ban version {
	mask "*w00tZombie*";
	reason "I hate those hundreds of zombies";
	action zline;
};

4.19 - Ban Exceptions Bloğu İSTEĞE BAĞLI (Önceden bilinen E:Line)

Kullanımı:

except ban {
	mask <hostmaskesi>;
};

Except ban bloğu, ban atılsa dahi, atılan ban kaldırılmaksızın sunucuya giriş yapabilecek kullanıcı@host 'ları belirtmenizi sağlar. Belirli bir ISP için bütün ip'lere ban atmak istediğinizde bu özellik yararlı olacaktır, çünkü o ISP üzerinden bağlantı sağlayan, sunucuya girebilmelerini istediğiniz kullanıcıların bu blok ile sunucuya girişleri mümkün olacaktır. except::mask yönergesi ile sunucuya bu şekilde girmelerine izin verilecek kullanıcıların maskelerini kullanıcı@host şeklinde belirtebilirsiniz.

Örnek:

except ban {
	mask myident@my.isp.com;
};

4.20 - TKL Exceptions Bloğu İSTEĞE BAĞLI

Kullanımı:

except tkl {
	mask <hostmaskesi>;
	type <tip>;
	type {
		<tip>;
		<tip>;
		...
	};
};

Except tkl bloğu , belirtilen tip(ler)de atılan bir ban kaldırılmaksızın, sunucuya giriş yapabilecek kullanıcı@host 'ları belirtmenizi sağlar. Eğer belirli bir ISP için bütün IPlere ban atmak istiyorsanız ve hala bu ISP üzerinden belirli kullanıcıların girebilmesini istiyorsanız bu blokla bunu mümkün kılabilirsiniz. except::mask yönergesi ile bağlantısına izin verilecek kullanıcı@host maskesi belirtilir. except::type yönergesi ile hangi bandan etkilenilmeyeceği belirtilir. Geçerli tipler: gline, gzline, qline, gqline, ve shun, eğer type {} formatı kullanılırsa birden fazla tip belirtilebilir.

Örnek:

except tkl {
	mask myident@my.isp.com;
	type gline;
};

4.21 - Throttle Exceptions Bloğu İSTEĞE BAĞLI

Kullanımı:

except throttle {
	mask <ipmaskesi>;
};

Except throttle bloğu ile throttling sisteminden etkilenmiyecek IP maskelerini belirtebilirsiniz. Bu blok ancak throttling özelliğini aktif ederseniz işlem görecektir. except::mask yönergesi ile bu sistemden etkilenmeyecek IP maskesi belirtilir.

Örnek

except throttle {
	mask 192.168.1.*;
};

4.22 - Deny DCC Bloğu İSTEĞE BAĞLI (Önceden bilinen dccdeny.conf)

Kullanımı:

deny dcc {
	filename <bloke-edilecek-dosya-ismi>;
	reason <bloke-için-gerekçe>;
	soft [yes|no];
};

Deny dcc bloğu sunucu üzerinden DCC yoluyla gönderilmesine izin verilmeyecek dosya isimlerini belirtmenize olanak sağlar. Bu trojanların ve virüslerin yayılmasını engellemeye yardımcı olacaktır.

deny::filename yönergesi ile gönderimine izin verilmeyecek dosya ismi belirtilir, burada (?), (*), (!) işaretleri kullanılabilir, deny::reason yönergesi ile gönderimi bloklama gerekçesi belirtilir.

Aynı zamanda birde deny::soft seçeneği vardır, eğer bu yönerge değeri 'yes' olarak belirtilirse karşı taraf dosyayı /DCCALLOW +göndermeyi-deneyen-nick komutuyla alabilir. Daha fazla bilgi için dccallow.conf dosyasına göz atın.

Örnek

deny dcc {
	filename virus.exe;
	reason "This is a GD Virus";
};

deny dcc {
	filename "*.exe";
	reason "Executable content";
	soft yes;
};

4.23 - Deny Version Bloğu İSTEĞE BAĞLI (Önceden bilinen V:Line)

Kullanımı:

deny version {
	mask <sunucu-ismi>;
	version <versiyon-numarası>;
	flags <derleme-flagları>;
};

Bu blok, bir sunucudan gelecek linki, sunucunun kulandığı Unreal versiyonuna ve derleme zamanı flag seçeneklerine göre reddetmenize olanak sağlar. Bu blok format olarak biraz kompleks bir yapıya sahiptir ama düzenlemesi o kadar zor değildir. deny::mask yönergesi ile linki, kullandığı unreal versiyonu sebebiyle reddedilecek sunucu maskesi belirtilir, burada (?), (*), (!) işaretleri kullanılabilir. deny::version yönergesi ile sözü edilen unreal versiyonunun protokol numarası belirtilir.

Örneğin, 3.0 versiyonu için bu numara 2301, 3.1.1/3.1.2 için 2302, 3.2 için 2303 olarak belirtilebilir. Bu parametrenin ilk karakteri olarak >, <, =, ! işaretleri belirtilebilir. Bu karakterle IRCd'e, belirtilecek versiyonu nasıl yorumlağacağı bildirilir. Eğer ilk karakter olarak > işareti belirtilmişse, versiyon numarası belirtilen versiyondan büyük olan bütün versiyonların linki reddedilecektir. Eğer ilk karakter olarak < işareti belirtilmişse, versiyon numarası belirtilen versiyondan küçük olan bütün versiyonların linki reddedilecektir. Eğer ilk karakter olarak = işareti belirtilmişse sadece o versiyonun linki reddedilecektir, ve eğer ! işareti belirtilmişse ilk karakter olarak, belirtilen versiyon haricinde ki bütün versiyonların linki reddedilecektir. deny::flags yönergesi ile sunucunun olabilecek veya olamayacak derleme zamanı flagları belirtilir. Flaglar aralarında boşluk olmadan ardarda belirtilir, eğer başında ! karakteri belirtilirse, belirtilen flaglar haricindeki flaglara sahip versiyonların linki reddedilecektir. Eğer ! işareti yoksa sadece belirtilen flaglarla derlenmiş versiyona sahip sunucuların linki reddedilecektir.

4.24 - Deny Link Bloğu İSTEĞE BAĞLI (Önceden bilinen D/d:Line)

Kullanımı:

deny link {
	mask <sunucu-ismi>;
	rule <ifade>;
	type <reddetme-tipi>;
};

Bu blok bir sunucudan gelecek linkin belirli kurallara göre reddedilmesine olanak sağlar. deny::mask yönergesi ile belirtilecek kurallarla örtüşen sunucu ismi maskesi belirtilir, burada (!),(*),(?) işaretleri kullanılabilir. deny::rule yönergesi çok kompleks bir yapıya sahiptir. Bu yönerge sayesinde linki çok büyük bir ayrıntıyla kontrol edebilirsiniz. Bu yönerge ile 4 operator belirtilebilir, connected(<sunucumaskesi>), eğer belirtilen sunucumaskesi bağlı olan bir sunucu ile eşleşirse bu yönergenin dönüş değeri lojik 1'dir, directcon(<sunucumaskesi>), eğer belirtilen sunucu maskesi direkt bağlantı ile sunucuya linkli ise bu yönergenin dönüş değeri lojik 1'dir, via(<viamaskesi>,<sunucumaskesi>), eğer belirtilen sunucumaskesi, viamaskesi ile eşleşmiş bir sunucu tarafından bağlantı kuruyorsa bu yönergenin dönüş değeri lojik 1'dir, ve directop(), eğer link /connect komutu ile direkt olarak gerçeklendiyse dönüş değeri yine lojik 1'dir. Bu operatörler && (ve) ve || (veya) karakterleri ile birleştirilebilir, öğeler gruplama sağlamak için parantez içinde de belirtilebilir. Ek olarak bir operatörden önce ! karakteri belirtilirse bu, bu karakter kullanılmadan önce ki dönüş değeri 1 ise bunu 0 yapar. Eğer dönüş değeri lojik olarak 1se link reddedilecektir. deny::type yönergesi iki farklı değere izin verir, auto (otomatik bağlantılar, /connect hala kullanılabilir) ve all (bütün bağlantı denemeleri).

4.25 - Deny Channel Bloğu İSTEĞE BAĞLI (Önceden bilinen chrestrict.conf)

Kullanımı:

deny channel {
	channel "<kanal-maskesi>";
	reason <yasaklama-için-gerekçe>;
	redirect "<kanal-ismi>";
	warn [on|off];
};

Deny channel bloğu, kullanıcıların belirli kanallara girmesini engellemenize olanak sağlar. deny::channel yönergesi ile girilemeyecek kanal maskesi belirtilir, burda (*),(?),(!) işaretleri kullanılabilir. deny::reason yönergesi ile kanala neden girilemeyeceğinin gerekçesi belirtilir. Ek olarak, deny::redirect yönergesini de kullanabilirsiniz. Eğer bu yönerge ile bir kanal ismi belirtirseniz, kullanıcı deny::channel yönergesi ile belirttiğiniz kanala girmeyi denerse otomatik olarak deny::redirect yönergesinde belirttiğiniz kanala yönlendirilecektir. Aynı zamanda deny::warn yönergesini de ,belirtilen kanala girme denendiğinde, operlere uyarı gitmesi için (eğer on olarak belirtirseniz) kullanabilirsiniz.

Örnek

deny channel {
	channel "#unrealsucks";
	reason "No it don't!";
};

deny channel {
	channel "#*teen*sex*";
	reason "You == dead";
	warn on;
};

deny channel {
	channel "#operhelp";
	reason "Our network help channel is #help, not #operhelp";
	redirect "#help";
};

4.26 - Allow Channel Bloğu İSTEĞE BAĞLI

Kullanımı:

allow channel {
	channel "<kanal-maskesi>";
};

Allow channel bloğu ile kullanıcıların girebileceği belirli kanallar belirtebilirsiniz. allow::channel yönergesi ile kanal maskesi belirtilir, burada (*),(?),(!) işaretleri kullanılabilir.

Örnek:

allow channel {
	channel "#something";
};

4.27 - Allow DCC Bloğu İSTEĞE BAĞLI

Kullanımı:

allow dcc {
	filename "<dosyaismi-maskesi>";
	soft [yes|no];
};

Allow dcc bloğu , deny dcc bloğunun kapsamı dışında tutulacak dosya isimleri belirtebilmenize olanak sağlar. Burada (*),(?),(!) işaretleri kullanılabilir. Eğer allow dcc::soft yönergesini 'yes' olarak belirtirseniz 'soft dcc bans' listesi kullanılır, eğer 'no' olarak belirtirseniz normal ('hard') dcc ban listesi kullanılır.

Örnek:

allow dcc {
	filename "*.jpg"; /* Görüntü dosyaları genelde güvenilirdir. */
	soft yes;
};

4.28 - Vhost Bloğu İSTEĞE BAĞLI (Önceden bilinen vhosts.conf)

Kullanımı:

vhost {
	vhost <vhost>;
	from {
		userhost <hostmaskesi>;
		userhost <hostmaskesi>;
		...
	};
	login <login-ismi>;
	password <şifre> { <auth-tipi>; };
	swhois "<swhois bilgisi>";
};

Vhost bloğu, /vhost komutuyla host alabilmek için kullanılacak login/şifreyi belirlemenize olanak sağlar. vhost::vhost parametre olarak user@host biçiminde olabilir veya sadece host biçiminde de olabilir. Bu yönergeyle kullanıcının /vhost komutunu kullandığında alacağı hostu belirtebilirsiniz. vhost::from::userhost yönergesiyle vhost kullanım hakkı olacak user@host 'ları belirtebilirsiniz, burda belirteceğiniz maskenin vhost komutunu kullanacak kullanıcının maskesiyle eşleşmesi gereklidir. Birden fazla hostmaskesi belirtebilirsiniz. vhost::login yönergesi ile kullanıcının girmesi gereken login ismini, vhost::password yönergesi ile kullanıcının girmesi gereken şifreyi belirtebilirsiniz. vhost::password:: yönergesi ile belirtilen şifre için auth tipini de belirtebilirsiniz. Geçerli auth tipleri: crypt, md5, and sha1, ripemd-160. Son olarak vhost::swhois yönergesi, vhost kullanacak kullanıcının whois bilgisine ekstra bir satır eklemenize olanak sağlar, kullanımı ise oper::swhois yönergesindeki kullanım şekli ile aynıdır.

Örnek:

vhost {
	vhost my.own.personal.vhost.com;
	from {
		userhost my@isp.com;
		userhost myother@isp.com;
	};
	login mynick;
	password mypassword;
	swhois "Im Special";
};

4.29 - Badword Bloğu İSTEĞE BAĞLI (Önceden bilinen badwords.*.conf)

Kullanımı:

badword <type> {
	word <eşleşecek-metin>;
	replace <yerine-gelecek-metin>;
	action <replace|block>;
};

Badword bloğu, kullanıcı ve kanal modu olan +G modu için gönderimi engellenecek "badwords" (kötü kelimeler) listesini yönetmenize olanak sağlar. badword:: yönergesi ile tip belirtilir, geçerli tipler: channel, message, quit ve all. channel: kanal modu +G için "badwords" listesi için, message: kullanıcı modu +G için "badwords" listesi için, quit: çıkış mesajlarını sansürlemek için, ve all: her 3 liste için kullanılabilir. badword::word yönergesi ile sade bir kelime belirtebilirsiniz veya bir ifade (regex) de belirtebilirsiniz. badword::replace ile badword::word yönergesiyle belirtilen ifade veya kelime eşleşmesi gerçekleşmesi durumunda, bu ifade veya metnin yerine gönderilecek metni belirtebilirsiniz. Eğer badword::replace yönergesi belirtilmezse, metin eşleşmesi durumunda metin <censored> ile değiştirilecektir. badword::action yönergesi ile, kötü kelimeler listesi içinde bulunan bir ifade kullanılması halinde uygulanacak eylem belirtilir. Eğer burda replace belirtilirse ifade badword::replace yönergesiyle belirtilen metinle değiştirilecektir, eğer block belirtilirse ifade bloklanacaktır. Eğer burda hiçbirşey belirtmezseniz geçerli eylem replace eylemi olacaktır.

Örnek:

badword channel {
	word shit;
	replace shoot;
};

4.30 - ULines Bloğu İSTEĞE BAĞLI (Önceden bilinen U:Line)

Kullanımı:

ulines {
	<sunucu-ismi>;
	<sunucu-ismi>;
	...
};

Ulines bloğu, belli sunuculara ekstra yetkiler vermenize olanak sağlar. Bu sadece servisler ve stats sunucuları için kullanılmalıdır. Normal bir sunucu burda belirtilmemelidir.

Örnek

ulines {
	services.mynetwork.com;
	stats.mynetwork.com;
};

4.31 - Link Bloğu İSTEĞE BAĞLI (Önceden bilinen C/N/H:Lines)

Kullanımı:

link <sunucu-ismi> {
	username <kullanıcımaskesi>;
	hostname <ipmaskesi>;
	bind-ip <bağlanılacak-ip>;
	port <bağlantı-için-kullanılacak-port>;
	password-connect <bağlantı-için-gereken-şifre>;
	password-receive <onaylanacak-şifre> { <auth-tipi>; };
	hub <hub-maskesi>;
	leaf <leaf-maskesi>;
	leafdepth <depth>;
	class <sınıf-ismi>;
	ciphers <ssl-anahtarları>;
	options {
		<tercih>;
		<tercih>;
		...
	};
};

Bu sunucuları linklemek için gerekli bloktur, lütfen burda yazılan açıklamaları okumaya zaman ayırın, çünkü bu zor işlemlerden bir tanesidir ve kullanıcılar genellikle bu kısımda hata yaparlar ;P

İlk olarak sunucu-ismi ile uzak sunucu ismi belirtilir, uzak sunucu ismi, o sunucunun me { } bloğunda belirtilen isimdir, hub.blah.com gibi (IP olamaz ve uzak sunucunun hostname'inden farklı olabilir).

username
Eğer kimlik denetimi için sunucunuzda identi kullanıyorsanız bu kısmı belirtebilirsiniz, normalde "*" olarak belirtilir.

hostname
Uzak sunucunun IP'si veya hostudur. Bu hem bağlantı hem de kimlik denetimi/doğrulaması için kullanılır. Birkaç örnek:
1.2.3.4 normal IP
hub.blah.com sadece giden bağlantılar için, gelen bağlantılarda, link::options::nohostcheckhost yönergesi ile belirtilmeden, kabul edilemez
* doğru şifre kullanıldığı sürece link hangi hostname'den gelirse gelsin bağlanmasına izin verilecektir
::ffff:1.2.3.4 ipv6 özelliğini kullanan bir sunucuyu ipv4 özelliğini kullanan bir sunucuya linklemek için kullanılır

bind-ip (isteğe bağlı)
Belirli bir IP'ye bağlamak için kullanılabilir (ör: 192.168.0.1) , hemen hemen neredeyse hiç kullanılmaz.

port
Link için bağlantı portu.

password-connect
Uzak sunucuya bağlanmak için gerekli olan şifre, sade-metin şeklinde olmalı.

password-receive
Gelen linkleri doğrulamak (onaylamak) için gerekli şifre. Geçerli metodların biri ile yeniden şifrelenebilir.(geçerli metodlar: crypt, md5, sha1, ripemd-160). Şifre olarak sade-metin belirtmek için auth-tipi parametresini kullanmayın. Bu şifre genellikle uzak sunucuya bağlanmak için gerekli olan şifre ile aynıdır.

hub vs leaf
Birçok sunucunun linklendiği sunucu bir hubdur, leaf ise tek bir linke sahiptir...Bu blokta eğer hub direktifi belirtilmediyse sunucu leaf olarak algılanır, Aynı zamanda leaf * direktifi belirtilirse de yada leafdepth 1 direktifi belirtilirse de sunucu leaf olarak algılanır.

hub (isteğe bağlı)
hub olarak bağlanacak sunucuların maskesidir (ör: *.my.net).

leaf (isteğe bağlı)
leaf olarak bağlanacak sunucuların maskesidir.

leafdepth (isteğe bağlı)
Eğer bu belirtilirse leaf de belirtilmelidir. Belirtilen sunucu için sıçrama sayısıdır. Örneğin bu sayı 1 olarak belirtilirse, sunucunun bu bloktaki sunucudan baska bir linke sahip olmadıgı bildirilir, eğer 2 olarak belirtilirse bu bloktaki link diğer sunuculara linklenebilir ancak linklenilecek sunucular başka sunuculara linklenemez. 0 ise herhangi bir limit olmadıgı anlamını taşır ve başlangıç değeridir.

class
Sunucunun bulunacağı sınıftır (class), genellikle bunun için ayrı bir sunucu sınıfı kullanılır (server class).

compression-level (isteğe bağlı)
Bu link için sıkıştırma düzeyini belirtir (1-9 arasında olmalıdır). Sadece, daha önceden link::options::zip yönergesi belirtildiyse kullanılır.

ciphers (isteğe bağlı)
Bu linkte kullanılacak SSL anahtarlarını belirtir. Mevcut geçerli anahtarları görmek için `openssl ciphers` komutunu kullanın. Anahtarlar : işareti ile ayrılarak ayrı ayrı belirtilebilir.

options bloğu
Sunucuyla bağlantı sırasında bir veya daha çok tercih kullanılır, bazen de gerekmez.
ssl Eğer SSL portundan bağlanıyorsanız bu seçeneği tercih edebilirsiniz.
autoconnect Sunucu, bağlanmayı otomatik olarak deneyecekse (bunu tek taraflı olarak aktif etmeniz önerilir leaf->hub) bu seçeneği tercih edebilirsiniz.
zip Eğer sıkıştırılmış linkler istiyorsanız (derleme sırasında belirtilmeli + her iki tarafta da tercih edilmeli) bu seçeneği tercih edebilirsiniz.
nodnscache giden sunucu bağlantısında IP gizlemesinin olmasını istemiyorsanız bu seçeneği tercih edebilirsiniz. Bunu eğer host sık sık değişiyorsa kullanın (dyndns.org gibi).
nohostcheck uzakta host (link::hostname yönergesi ile belirtilen host)doğrulaması yapılsın istemiyorsanız bu seçeneği tercih edebilirsiniz. Bunu eğer host sık sık değişiyorsa kullanın (dyndns.org gibi).
quarantine Bu sunucuda ki operler GLOBAL oper yetkilerine sahip olamazlar, linkleri test etmek gibi eylemlerde kullanılır.

Örnek:

link hub.mynet.com {
	username *;
	hostname 1.2.3.4;
	bind-ip *;
	port 7029;
	hub *;
	password-connect "LiNk";
	password-receive "LiNk";
	class servers;
	options {
		autoconnect;
		ssl;
		zip;
	};
};

4.32 - Alias Bloğu İSTEĞE BAĞLI

Kullanımı [standard alias]:

alias <isim> {
	target <yönlenilecek-nick>;
	type <alias-tipi>;
	spamfilter <yes|no>;
};

(Not: aynı zamanda UnrealIRCd'in sahip olduğu standart alias dosyalarını görmek için buraya tıklayın.)

Alias bloğu [standard alias] bir kullanıcıya bir komutu yönlendirmenize olanak sağlar, örneğin /chanserv komutu chanserv nickli kullanıcıya mesaj gönderir. alias:: ile alias olacak komut ismi belirtilir(ör: chanserv), alias::target yönergesi ile hedef olarak komutun yönlendirileceği nick veya kanal belirtilir, eğer alias:: kısmı belirtilen hedef ile aynı olacaksa, bu durumda alias::target belirtilmeyebilir. alias::type yönergesi ile alias'ın tipi belirtilir, geçerli tipler: services (hedef servisler kullanıcısı ise), stats (hedef istatistik sunucusu kullanıcısı ise), normal (hedef ağdaki herhangi bir sunucudaki herhangi bir kullanıcı ise), ve channel (hedef bir kanal ismi ise). Eğer alias::spamfilter (isteğe bağlı) yönergesi değeri 'yes' olarak belirtilirse, spam filtre sistemi gönderilecek mesajı kontrol edecektir, bu yönerge için default değeri 'no' 'dur.
Alias bloğunun, aşağıda açıklandığı üzere, diğer bir formatı da vardır.

Kullanımı [command alias]:

alias <isim> {
	format <düzenli-ifade> {
		target <yönlenilecek-nick>;
		type <alias-tipi>;
		parameters <parametre-dizisi>;
	};
	format <düzenli-ifade> {
		command <komut>;
		type real;
		parameters <parametre-dizisi>;
	};
	format <düzenli-ifade> {
		...
	};
	type command;
	spamfilter <yes|no>;
};

Alias bloğunun bu formatta kullanımı size daha geniş bir etki alanı sağlar. Örneğin /identify gibi bir alias oluşturabilirsiniz. alias:: yukarıda anlatıldığı ile aynı formdadır, alias komutunun ismidir. alias::format ile, alias komutuna gönderilecek metinle karşılaştırılması yapılacak ifade belirtilir, alias komutunun, gönderilecek metine göre farklı şeyler yapmasını birden fazla alias::format yönergesi belirterek sağlayabilirsiniz. alias::format::target yönergesiyle bu alias komutunun yönlendirileceği hedef belirtilir, "gerçek alias" ta bu yönerge yerine alias::format::command yönergesi kullanılır. alias::format::type ile yönlendirilecek mesajın tipini belirtebilirsiniz, burada aynı zamanda tip olarak "gerçek alias" için "real" olarak belirtme yapabiliriz. alias::format::parameters bu aliasa gönderilecek parametreleri belirtmenizi sağlar. Bu parametreleri % işaretini takip eden bir sayıyla belirtebilirsiniz, örneğin %1 ilk parametreyi temsil eder. Bütün parametreleri belirli bir parametreden sona doğru belirtmek için % işareti, ardından gelen bir sayı ve ardından da - işaretini belirterek sağlayabilirsiniz, örneğin %2- bütün parametreleri 2. parçadan itibaren sona doğru belirtir. Komutlar için alias bloğunun kullanımına örnekler için, doc/example.conf dosyasına bakın.

4.33 - Help Bloğu İSTEĞE BAĞLI

Kullanımı:

help <komut> {
	<metin-dizisi>;
	<metin-dizisi>;
	...
};

(Note: normally you just include help.conf)

Help bloğu /helpop komutunda kullanılmak üzere girişler oluşturmanıza olanak sağlar. help:: /helpop ile belirtilmesi gereken parametre değeridir, eğer bu kısım belirtilmezse metin dizileri tek /helpop komutu kullanımında (parametresiz kullanımında) görüntülenecektir. Bu blokta belirtilen metin dizileri /helpop komutunun belirtilen parametre ile kullanılması durumunda kullanıcıya gönderilecektir.

4.34 - Official Channels Bloğu İSTEĞE BAĞLI

Kullanımı:

official-channels {
	"#channel" { topic "The default topic"; };
};

Bu blokta belirtilecek kanallar; kanallarda kullanıcı bulunmasa dahi /list komutu uygulandığında kanal listesinde gözükecektir. topic ise isteğe bağlı olarak belirtilebilir. Burda belirtilen topic sadece kanalda kullanıcı bulunmadığında ve /list komutunun uygulanması durumunda gösterilecektir.

Örnek:

official-channels {
	"#Help" { topic "The official help channel, if nobody is present type 
/helpop helpme"; };
	"#Home";
	"#Main" { topic "The main channel"; };
};

4.35 - Spamfilter Bloğu İSTEĞE BAĞLI

Spamfilter bloğu ile lokal (yerel) spam filtreleri ekleyebilirsiniz. (ağ çapında değil).
Spam filtreleri hakkında daha fazla bilgi edinmek için Özellikler - Spamfilter bölümüne bakınız.

Kullanımı:

spamfilter {
	regex <kelime>;
	target { <hedef(ler)> };
	action <eylem>;
	reason <sebep>;
	ban-time <süre>;
};

regex ile filtrelenecek ifade belirtilir.
target ile hedef(ler) belirtilir, olası hedef tiplerini görmek için buraya tıklayınız. (ör: 'channel')
action ile uygulanacak eylem belirtilir, olası eylem tiplerini görmek için buraya tıklayınız. (ör: 'gline').
reason isteğe bağlı: yasaklama (ban) veya bloke etme gerekçesi belirtilir. eğer belirtilmezse default değeri gerekçe olarak görüntülenecektir.
ban-time isteğe bağlı: *line ban veya shun için süre belirtmenize olanak sağlar, eğer belirtilmezse default değeri uygulanır.(default değeri: 1 gün).

Örnekler:

spamfilter {
	regex "Come watch me on my webcam";
	target { private; channel; };
	action gline;
	reason "You are infected, please go to 
www.antivirus.xx/blah/virus=GrrTrojan";
	ban-time 6h;
};

spamfilter {
	regex "come to irc\..+\..+";
	target { private; channel; };
	action gline;
	action gline;
	reason "No spamming allowed";
};

4.36 - Cgiirc Bloğu İSTEĞE BAĞLI

Cgiirc bloğu, güvendiğiniz CGI:IRC ağ gecitleri için, host spoofing özelliğini yapılandırmanıza olanak sağlar (daha fazla bilgi).

Kullanımı:

cgiirc {
	type <webirc|old>;
	username <maske>; /* isteğe bağlı */
	hostname <maske>;
	password <şifre>; /* sadece webirc tipi için */
};

type ya 'webirc' ya da 'old' olarak belirtilir.
username kısmı ident ile eşleşir(eğer kullanılıyorsa). eğer belirtilmezse, değer, "*" olarak varsayılır.
hostname eşleşmeye karşı düşecek maskedir.
password webirc şifresidir, sadece type kısmında 'webirc' değerinin belirtilmesi durumunda kullanılır.

'webirc' metoduyla nasıl yapılandırılır (önerilen metod)
CGI:IRC konfigürasyon dosyanızda (cgiirc.conf) webirc_password kısmında uygun bir şifre belirtin.
Daha sonra unrealircd.conf dosyanızın içinde cgiirc bloğuna bu hostu ve şifreyi ve cgi::type yönergesiyle de "webirc" değerini belirtin.

Örnek:
CGI:IRC konfigürasyon dosyanıza (cgiirc.conf) ekleyeceğiniz kısım:

webirc_password = LpT4xqPI5
daha sonra, unrealircd.conf dosyanıza ekleyeceğiniz cgiirc bloğu:
cgiirc {
	type webirc;
	hostname "1.2.3.4";
	password "LpT4xqPI5";
};

'old' metoduyla nasıl yapılandırılır
NOT: İki dezavantajı olması nedeniyle bu metod önerilmez. Dezavantajları: bu metod spoof için gönderilecek IP/host 'u bir sunucu şifresi gibi gönderir, yani bir CGI:IRC kullanıcısı bağlantı için bir sunucu şifresi belirtemez. Ek olarak erişim kontrolu sadece IP-tabanlıdır ve 'webirc' metodunda olduğu gibi ekstradan bir şifre gerektirmez. Kısacası eğer gerçekten geçerli bir sebebiniz yoksa bu metodu kullanmayın.

CGI:IRC konfigürasyon dosyanızda (cgiirc.conf) set realhost_as_password kısmınının değerini 1 olarak belirtin.
Daha sonra bu hosta izin vermek için unrealircd.conf dosyanıza cgiirc bloğunu ekleyin.

Örnek:
CGI:IRC konfigürasyon dosyanıza (cgiirc.conf) ekleyeceğiniz kısım:

realhost_as_password = 
1
Daha sonra unrealircd.conf dosyanıza ekleyeceğiniz cgiirc bloğu:
cgiirc {
	type old;
	hostname "1.2.3.4";
};

4.37 - Set Bloğu GEREKLİ (Önceden bilinen unrealircd.conf/networks file)

Tek sunuculu ağlarda, bütün set deyimlerini unrealircd.conf dosyanızda belirtebilirsiniz. Çok sunuculu ağlarda ise her bir sunucu için ayrı bir set dosyası kullanmanız önerilir.

Eğer sunucunuz bir ağa bağlı ise, bu durumda ağ ile aynı Set ayarlarını kullanacaksınız. Bu sebeple böyle bir durumda include yönergesiyle yüklenecek bir ağ dosyası oluşturmanız daha mantıklıdır. Aşağıda mevcut bütün set yönergelerini ve açıklamalarını bulabilirsiniz.

Dökümanın bu kısmında ayarların / yönergelerin <blok-ismi>::<blok-yönergesi> formatında olduğundan bahsetmek istiyoruz. Bu format direkt olarak konfigürasyon dosyasında belirtilemez. Dolayısıyla konfigürasyon dosyasında belirtilebilmesi için aşağıdaki formata çevirilmesi ZORUNLUDUR.

Kullanımı:

set {
	<giriş> <değer>;
	<giriş> <değer>;
	...
};

Set bloğuyla sunucuda kullanılacak özellikler/tercihler teker teker belirtirilir. Her bir girişin farklı anlamı vardır ve bu nedenle herbiri aşağıda açıklanmıştır. Bazı yönergelerin ise, yine açıklanacak, alt blokları vardır. Bütün özelliklerin karşılanması için birçok set ifadesi vardır, bütün ifadeler aşağıda listelenmiştir, herbiri 1 set ifadesi altında belirtilebilir.
Örnek:

set {
	kline-address my@emailaddress.com;
	auto-join #welcome;
	options {
		hide-ulines;
	};
	hosts {
		local LocalOp.MyNet.com;
		global globalop.mynet.com;
	};
};

Eğer set ifadelerini ayırmak istiyorsanız, aşağıdaki formatı kullanabilirsiniz.
Örnek:
set { options { hide-ulines; no-stealth; }; };

set::kline-address <email-adresi>;
Burada iletişim için, K:line'lar ile ilgili soruların/sorunların gönderileceği, email adresi belirtilir. Burada belirtilen adres K:line komutu uygulandığında sunucudan bağlantısı kesilen kullanıcıya görüntülenecektir. Bu değer belirtilmek zorundadır.

set::gline-address <email-adresi>;
Burada iletişim için, G:line'lar ile ilgili soruların/sorunların gönderileceği, email adresi belirtilir.

set::modes-on-connect <+modlar>;
Kullanıcının sunucuya bağlandığı anda alacağı modları belirtir.

set::snomask-on-connect <+modlar>
Kullanıcının sunucuya bağlandığı anda alacağı snomaskları belirtir.

set::modes-on-oper <+modlar>;
Oper açıldığı anda alınacak modları belirtir.

set::snomask-on-oper <+modlar>;
Oper açıldığı anda alınacak snomaskları belirtir.

set::modes-on-join <+modlar>;
Kanalın, kanal ilk olarak (oluşturulduğu) kullanıldığı anda, alacağı modları belirtir. Bu yönergeyle mevcut bütün modlar belirtilemez, +qaohvbeOAzlLk modları bu yönergeyle verilemez.

set::restrict-usermodes <modlar>
Burada belirtilen modların kullanıcılar tarafından kullanımını kısıtlar ( + veya - kullanmayın).
Örneğin modes-on-connect kısmında +G modunu ve restrict-usermodes kısmında da yine G modunu belirtirseniz, bütün kullanıcılar, sunucuya bağlandıkları anda +G modunu alacaklardır ve bu modu -G yaparak kaldıramayacaklardır.

set::restrict-channelmodes <modlar>
Burada belirtilen kanal modlarının kullanıcılar tarafından kullanımını kısıtlar ( + veya - kullanmayın).
Örneğin modes-on-join kısmında +G modunu ve restrict-channelmodes kısmında da yine G modunu belirtirseniz, oluşturulacak bütün yeni kanallar +G modunu alacaklardır ve bu mod -G yaparak kaldırılamayacaktır.

set::restrict-extendedbans <tipler|*>
Kullanıcıların kapsamlı ban (extended ban) atmalarını kısıtlar. Eğer ("*") belirtilirse kullanıcılar hiçbir tipte kapsamlı ban atamaz, eğer bir tip belirtilirse sadece belirtilen kapsamlı ban tipi kullanılamaz.(ör: "qc").

set::auto-join <kanal(lar)>;
Kullanıcın sunucuya bağlandığı anda girmeye zorlanacağı kanal(lar)ı belirtir. Birden çok kanal belirtmek için kanalları virgül ile ayırın.
[Not: tırnak işareti kullanmayı unutmayın, auto-join "#kanal"; gibi]

set::oper-auto-join <kanal(lar)>;
Kullanıcının /oper açtığı anda girmeye zorlanacağı kanal(lar)ı belirtir. Birden çok kanal belirtmek için kanalları virgül ile ayırın.
[Not: tırnak işareti kullanmayı unutmayın, oper-auto-join "#kanal"; gibi]

set::anti-spam-quit-message-time <zaman-değeri>;
/quit mesajının görüntülenebilmesi için, bir kullanıcının sunucuya ne kadar süre bağlı kalması zorunda olduğunu belirtmenize olanak sağlar.(zaman değeridir). Spam'ı engellemek için kullanılır. Burada belirtilecek zaman değeri için; d günü, h saati, m dakikayı ve s ise saniyeyi temsil eder. Örneğin 1d2h3m gibi bir değerin anlamı 1 gün, 2 saat ve 3 dakikadır.

set::prefix-quit <çıkış-mesajı-için-önek>;
Burda belirtilen önek çıkış mesaj metninin başlangıcına eklenir. Eğer burda değer 0 olarak belirtilirse standart olarak "Quit:" kullanılır.

set::static-quit <çıkış-mesajı>;
Kullanıcıların, ağdan çıkarken görüntülenen, çıkış mesajlarını sabitler. Sabitlenecek çıkış mesajlarına HATA mesajları dahil değildir.

set::static-part <no|yes|çıkış-mesajı>;
Eğer değer olarak 'yes' belirtilirse kanaldan çıkışlarda çıkış mesajı (part mesajı) görüntülenmeyecektir, eğer değer olarak 'no' belirtilirse çıkışlarda belirtilen çıkış mesajları olağan şekilde görüntülenecektir, eğer değer olarak bir part mesajı belirtilirse kanallardan çıkarken görüntülenecek çıkış mesajları burda belirtilen çıkış mesajına sabitlenecektir. (ör: static-part "Bye!")

set::who-limit <limit>;
/who komutu kullanımında listelenecek eşleşmelerin max sayısını belirtir. Eğer belirtilmezse listelenecek eşleşmelerin herhangi bir limit olmayacaktır.

set::silence-limit <limit>;
SILENCE listesinde bulunabilecek maksimum giriş sayısını belirler. Eğer bu yönerge belirtilmezse limit 15 olarak varsayılır.

set::maxbans <limit>;
Her kanal için izin verilen max ban (+b) sayısını belirtir. Default değeri 60'dır. Eğer bunu değiştirirseniz, set::maxbanlength yönergesini de gözden geçirdiğinize emin olun.(bir sonraki yönerge).

set::maxbanlength <limit>;
Yukarıdaki yönergeye benzerdir, ancak bütün banların toplamı için maksimum karakter sayısını belirtir, böylelikle basit bir şekilde kanalda belirtilen bir banın (ortalama olarak) maksimum bellekte ne kadar yer kaplayacağını sınırlar.

set::oper-only-stats <stats-listesi>;
/stats komutunda kullanılacak, sadece oper statüsünde olan kullanıcıların kullanabileceği flagları belirtir. Eğer belirtilmezse statü gözetilmeksizin bütün kullanıcılar bütün flagları kullanabilirler. Eğer * olarak belirtilirse bütün flaglar sadece operler tarafından kullanılabilir. Sadece kısa stats flaglarında kullanılabilir.

set::oper-only-stats {<stats-flagı>; <stats-flagı>;};
/stats komutunda kullanılacak, sadece oper statüsünde olan kullanıcıların kullanabileceği flagları belirtir. Sadece uzun stats flagları belirtilebilir.

set::maxchannelsperuser <kanal-sayısı>;
Bir kullanıcının aynı anda bulunabileceği maksimum kanal sayısını belirler.

set::maxdccallow <giriş-sayısı>;
Kullanıcının DCCALLOW listesinde bulunabilecek maksimum giriş sayısını belirler.

set::channel-command-prefix <komut-önekleri>;
Servisler için "kanal komutlarında" kullanılacak önek karakterlerini belirtmenize olanak sağlar. Burda belirtilen karakterlerden herhangi biriyle başlayacak mesaj kullanıcı +d modunda dahi olsa gönderilecektir. Default değeri "`!" olarak belirlenmiştir.

set::allowed-nickchars { <liste> };
Nicklerde farklı karakter gruplarının / dillerin kullanımına olanak sağlar, Nick Karakter Gruplarına bakın.

set::allow-userhost-change [never|always|not-on-channels|force-rejoin]
(+x/-x/chghost/chgident/setident/vhost/vs) gibi komutların ne koşullarda kullanılabileceğini/kullanılamayacağını belirtmenizi sağlar.
never olarak belirtilirse bu komutlardan hiçbiri kullanılamaz, eğer always olarak belirtilirse bu komutlar her durumda kullanılabilir, eğer not-on-channels olarak belirtilirse kullanıcı bu komutları sadece ve sadece hiçbir kanala bağlı değilse kullanabilir, eğer force-rejoin belirtilirse kullanıcı bu komutlardan herhangi birini kullandığında bulunduğu kanallardan çıkıp tekrar girmeye zorlanacaktır.

set::options::hide-ulines;
Eğer belirtilirse Uline olarak belirtilen sunucular, oper statusunde olmayan kullanıcılar tarafından yapılan /links komutu sorgusunda görüntülenmeyecektir.

set::options::flat-map;
Eğer belirtilirse, ağdaki bütün sunucular /map ve /links komutları sorgusunda direkt linkli olarak görünecektir, böylelikle hangi sunucunun hangisine linkli olduğunu göremezsiniz. Bu (D)DoS ataklarına karşı ufak bi önlemdir çünkü kötü niyetli kişiler bu yönergenin belirtilmesiyle 'zayıf nokta'ları kolaylıkla göremeyeceklerdir.

set::options::show-opermotd;
Eğer belirtilirse kullanıcılara, oper hesaplarını açtıklarında, OPERMOTD dosyası gösterilecektir.

set::options::identd-check;
Eğer belirtilirse kullanıcı sunucuya bağlanırken identd sunucusu kontrolünden geçecektir ve bu kontrol kullanıcının username kısmı cevabı olarak geri dönecektir. Eğer bu kontrol sonucunda cevap dönüşü olmazsa kullanıcının username kısmına ~ öneki eklenecektir. Eğer belirtilmezse böyle bir kontrol söz konusu olmayacaktır.

set::options::show-connect-info;
Eğer belirtilirse, bir kullanıcı sunucuya bağlanacağı zaman "ident request", "hostname lookup", vs. gibi ifadeler kullanıcıya gösterilicektir.

set::options::dont-resolve;
Eğer belirtilirse, gelen kullanıcıların hostları çözümlenmez.
Not: Çözümleme işlemi yapılmayacaksa, host tabanlı allow bloklarınız da olamaz.

set::options::mkpasswd-for-everyone;
/mkpasswd bütün kullanıcılar tarafından kullanılabilmesine olanak sağlar.

set::options::allow-part-if-shunned;
Shun'lı kullanıcının /part komutunu kullanabilmesine olanak sağlar.

set::options::fail-oper-warn;
Eğer belirtilirse, /oper komutu kullanımı başarısız olduğu takdirde, kullanıcıya oper denemesinin kayıt edildiğine dair uyarı gönderilir.

set::dns::timeout <zaman-değeri>;
Bir DNS sunucusunun, bağlantısının zaman aşımı olarak değerlendirilip, kesilmemesi için, ne kadarlık bir zaman dilimi içerisinde yanıt göndermesi gerektiğini belirtmenize olanak sağlar. Burada belirtilecek numerik değerde d günü, h saati, m dakikayı, s ise saniyeyi temsil eder, örneğin 1d2h3m olarak belirtilen zaman değeri 1 gün, 2 saat ve 3 daki