English | German | Spanish | Hungarian | French | Greek | Dutch | Russian | Turkish

UnrealIRCd
http://www.unrealircd.com/
Version: 3.2.7
Last doc update: 2007-07-12


Coders: Stskeeps / codemastr / Syzop / Luke / aquanight / WolfSage
Contributors: McSkaf / Zogg / NiQuiL / assyrian / chasm / DrBin / llthangel / Griever / nighthawk
Documentation: CKnight^ / Syzop

Μετάφραση: GSF - UnReaL.mirc.gr on HellenicNet

Για να μπορέσετε να δείτε αυτο το έγγραφο πρέπει να έχετε έναν συμβατό περιηγητή, όπως αυτοί που υπάρχουν παρακάτω: Τα τελευταία βοηθητικά έγγραφα βρίσκονται στο http://www.vulnscan.org/UnrealIrcd/unreal32docs.html και το FAQ στο http://www.vulnscan.org/UnrealIrcd/faq/.

Συμβατοί Περιηγητές:

INDEX / TABLE OF CONTENTS
1. Εισαγωγή και Σημειώσεις
---1.1. Σημειώσεις για αναβάθμιση/μίξη 3.1.x -> 3.2
---1.2. Σημειώσεις για αναβάθμιση μεταξώ των 3.2 εκδόσεων
2. Εγκατάσταση
3. Χαρακτηριστικά
-- 3.1. Cloaking
-- 3.2. Modules
-- 3.3. Snomasks
-- 3.4. Aliases
-- 3.5. Helpop
-- 3.6. Επίπεδα πρόσβασης διαχειριστών
-- 3.7. Εντολές διαχειριστών
-- 3.8. SSL
-- 3.9. IPv6
-- 3.10. Zip links
-- 3.11. Υποστήριξη δυναμικής σύνδεσης DNS/IP
-- 3.12. Χαρακτηριστικά Anti-flood
-- 3.13. Τύποι Ban
-- 3.14. Spamfilter
-- 3.15. CIDR
-- 3.16. Σετ χαρακτήρων Nick
-- 3.17. Υποστήριξη CGI:IRC
-- 3.18. Συγχρονισμός Ώρας
-- 3.19. Άλλα χαρακτηριστικά
4. Διαμορφώνοντας το unrealircd.conf
---4.1. Το αρχείο επιλογών αναλυτικά
---4.2. Επιλογή Me -=- (M:Line)
---4.3. Επιλογή Admin -=- (A:Line)
---4.4. Επιλογή Class -=- (Y:Line)
---4.5. Επιλογή Allow -=- (I:Line)
---4.6. Επιλογή Listen -=- (P:Line)
---4.7. Επιλογή Oper -=- (O:Line)
---4.8. Επιλογή DRpass -=-(X:Line)
---4.9. Include Directive
---4.10. Loadmodule Directive
---4.11. Επιλογή Log
---4.12. Επιλογή TLD -=- (T:Line)
---4.13. Επιλογή Ban Nick -=- (Q:Line)
---4.14. Επιλογή Ban User -=- (K:Line)
---4.15. Επιλογή Ban IP -=- (Z:Line)
---4.16. Επιλογή Ban Server -=-(q:Line)
---4.17. Επιλογή Ban Realname -=- (n:Line)
---4.18. Επιλογή Ban Version
---4.19. Επιλογή Ban Exception -=- (E:Line)
---4.20. Επιλογή TKL Exception
---4.21. Επιλογή Throttle Exception
---4.22. Επιλογή Deny DCC -=- (dccdeny.conf)
---4.23. Επιλογή Deny Version -=- (V:Line)
---4.24. Επιλογή Deny Link -=- (D:Line / d:Line)
---4.25. Επιλογή Deny Channel -=- (chrestrict.conf)
---4.26. Επιλογή Allow Channel
---4.27. Επιλογή Allow DCC
---4.28. Επιλογή Vhost -=- (vhost.conf)
---4.29. Επιλογή Badword -=- (badwords.conf)
---4.30. Επιλογή Uline -=- (U:Line)
---4.31. Επιλογή Link -=- (C/N/H:Lines)
---4.32. Επιλογή Alias
---4.33. Επιλογή Help
---4.34. Επιλογή Official Channels
---4.35. Επιλογή Spamfilter
---4.36. Επιλογή CGI:IRC
---4.37. Επιλογή Set -=- (networks/unrealircd.conf)
5. Επιπλέον αρχεία
6. Modes χρηστών & καναλιών
7. Εντολές χρηστών & διαχειριστών
8. Βοήθεια/λίστα για την ασφάλεια
---8.1. Κωδικοί
---8.2. Ευάλωτα συστήματα που δεν οφείλονται στο Ircd
---8.3. Δικαιώματα και το αρχείο επιλογών
---8.4. Προβλήματα που σχετίζονται με χρήστες
---8.5. SSL/SSH & sniffing
---8.6. Denial of Service attacks (DoS) [ή: πώς να προστατέψω τον hub μου]
---8.7. Information disclosure
---8.8. Protecting against exploits
---8.9. Summary
9. Frequently Asked Questions (FAQ)
A. Κανονικές εκφράσεις
---A.1. Literals
---A.2. Τελεστής Τελεία(.)
---A.3. Τελεστές επανάληψης
---A.4. Εκφράσεις Brackets
---A.5. Ισχυρισμοί
---A.6. Εναλακτικότητα
---A.7. Υποεκφράσεις
---A.8. Back References
---A.9. Ευαισθησία Κεφαλαίων/μικρών

1.0 – Εισαγωγή και Σημειώσεις

Αυτό το έγγραφο έχει γραφτεί για αποκλειστική χρήση με το UnrealIRCd. Η χρήση του εγγράφου με άλλο πρόγραμμα , ή η διανομή  αυτου του εγγράφου μαζι με άλλο πρόγραμμα απαγορέυεται αυστηρά χωρίς την γραπτή άδεια της ομάδας προγραμματισμού του UnrealIRCd. Αυτο το έγγραφο μπορει να αντιγραφεί/εκτυπωθεί/επαναδημιουργηθεί/εκδοθεί όσες φορές θέλετε, όσο παρέχεται για χρήση με το UnrealIRCd και δεν έχει τροποποιηθεί με κανέναν τρόπο. – Copyright UnrealIRCd Development Team 2002-2006

Παρακαλούμε διαβάστε αυτό το εγχειρίδιο πριν ζητήσετε οποιαδήποτε βοήθεια, και επισης ΣΙΓΟΥΡΑ πρέπει να ρίξετε μια ματιά και στο FAQ αφου περισσότερο απο το 80% απο τις ερωτήσεις/προβλήματα έχουν απαντηθεί εκεί. Αν συνεχίζετε να χρειάζεστε βοήθεια μπορείτε να ζητήσετε υποστήριξη στο irc.ircsystems.net (port 6667) κανάλι  #unreal-support (να γνωρίζετε οτι ΑΠΑΙΤΟΥΜΕ να έχετε διαβάσει το εγχειρίδιο και το FAQ, και οτι προσφέρουεμ βοήθεια μόνο για το UnrealIRCd, όχι με τα services!). Αν έχετε βρεί κάποιο σφάλμα στο πρόγραμμα (όπως crash) τότε υποβάλετέ το στο http://bugs.unrealircd.org/.

1.1 – Σημειώσεις για αναβάθμιση/μίξη 3.1.x -> 3.2

Σε περίπτωση που αναβαθμίζετε απο το Unreal3.1.x στο Unreal3.2 θα παρατηρήσετε ότι όλο το αρχείο επιλογών έχει αλλάξει, ίσως το βρείτε δύσκολο στην αρχή, αλλα γρήγορα θα καταλάβετε ότι είναι πολυ καλύτερο!

Επίσης μήν ξεχάσετε να διαβάσετε την παράγραφο 3 που αναφέρεται στα χαρακτηριστικά, αν και σίγουρα γνωρίζετε μερικά απο αυτά που βρίσκονται στην 3.1.x υπάρχουν και αρκετά νέα χαρακτηριστικά!

Το καλύτερο είναι να μήν αναμίξετε/συνδέσετε το 3.1.x με το 3.2, αλλα αν αναγκαστικά το θέλετε, χρειάζεστε τουλάχιστον την έκδοση 3.1.4, αν και η 3.1.5.1 συστήνεται ώς η καλύτερη επιλογή.

1.2 – Σημειώσεις για αναβάθμιση μεταξύ των 3.2 εκδόσεων

Ο τρόπος που συστήνεται για την αναβάθμιση είναι:
Linux:

Windows:

Παρακαλούμε επίσης ελέγξτε τις σημειώσεις της νέας έκδοσης .RELEASE.NOTES για να δείτε τις άλλαγες που έχουν πραγματοποιηθεί.Αν παρατηρήσετε οποιαδήποτε αλλαγή (ή bugs) μεταξύ των εκδόσεων, ΣΙΓΟΥΡΕΥΤΕΙΤΕ ΟΤΙ ΔΙΑΒΑΣΑΤΕ ΠΡΩΤΑ ΤΙΣ ΣΗΜΕΙΩΣΕΙΣ ΤΗΣ ΝΕΑΣ ΕΚΔΟΣΗΣ (RELEASE NOTES) πριν το αναφέρετε ώς bug!.

2.0 - Εγκατάσταση


Λειτουργικά συστήματα που έχουν δοκιμαστεί και υποστηρίζονται:


Αν γνωρίζετε οτι το Unreal3.2 λειτουργεί σωστά και σε άλλα λειτουργικά συστήματα, παρακαλούμε στείλτε τις λεπτομέριες στο coders@lists.unrealircd.org

Οδηγείες Εγκατάστασης
Linux:

  1. gunzip -d Unreal3.2.X.tar.gz
  2. tar xvf Unreal3.2.X.tar
  3. cd Unreal3.2
  4. ./Config
  5. Απαντήστε τις ερωτήσεις με τον καλύτερο τρόπο που σας επιτρέπουν οι γνώσεις σας. Ψενικά αν δεν είστε σίγουροι, οι προεπιλεγμένες απαντήσεις θα λειτουργήσουν μια χαρα!
  6. make
  7. Τώρα δημιουργήστε το unrealircd.conf και άλλα αρχεία επιλογών, ελέγξτε την παράγραφο 4.

Windows:

  1. Τρέξτε το πρόγραμμα εγκατάστασης του Unreal
  2. Τώρα δημιουργήστε το unrealircd.conf και άλλα αρχεία επιλογών, ελέξτε την παράγραφο 4.

3.0 - Χαρακτηριστικά

Μερικά απο τα πιο βασικά/ωραία χαρακτηριστικά αναλύονται σε αυτήν την παράγραφο. Παρέχει μια γενική κάτοψη, και μερικές φορές αναφέρεται στο αρχείο επιλογών (κατι που ίσως για το οποίο δεν γνωρίζετε τίποτα ακομα).

Μπορείτε να αγνοήσετε αυτήν την παράγραφο, όμως προτείνουμε ανεπιφύλακτα να την διαβάσετε πρίν/μετά απο την εγκατάσταση γιατι αλλιώς δεν θα μπορέσετε να καταλάβετε ιδέες όπως cloaking','snomasks',κτλπ.

3.1 - Cloaking

Το Cloaking είναι ένας τρόπος για να αποκρύψετε την πραγματική διέυθυνση των χρηστών, για παράδειγμα αν η διεύθυνση είναι d5142341.cable.wanadoo.nl, θα φαίνεται (στα join, part, whois, κτλ) ως rox-2DCA3201.cable.wanadoo.nl. Αυτο το χαρακτηριστικό είναι χρήσιμο στο να αποτρέψει τους χρήστες απο flooding μεταξύ τους αφου δεν μπορούν να δούν την αληθινή διεύθυνση/IP.

Αυτο ορίζεται απο το usermode +x (π.χ: /mode yournick +x), οι admins μπορούν επίσης να επιβάλουν το +x να είναι ενεργοποιημένο εξαρχής, η να το ορίσουν έτσι ώστε οι χρήστες να μην μπορούν ποτε να κάνουν -x.

Μια καλυμένη διέυθυνση(cloaked host) παράγεται απο ένα cloaking module (είστε υποχρεωμένοι να έχετε φορτώσει ένα), αυτην την στιγμή μόνο ένα επίσημο module είναι διαθέσιμο:
cloak: Αυτό είναι το νέο επίσημο cloaking module απο το 3.2.1 το οποίο είναι πολυ πιο ασφαλές απο τον παλιότερο αλγόριθμο, χρησιμοποιεί md5 εσωτερικώς και απαιτεί να έχετε τρία set::cloak-keys:: που αποτελούνται απο ανάμικτους μικρούς (a-z), κεφαλαίους (A-Z) και αριθμούς (0-9) χαρακτήρες [π.χ: "AopAS6WQH2Os6hfosh4SFJHs"]. Δείτε το example.conf για ένα παράδειγμα.

Τα κλειδιά κάλυψης (Cloak keys) ΕΠΙΒΑΛΕΤΑΙ να είναι ίδια σε όλους τους SERVERS σε ένα δύκτιο. Επίσης τα κλειδιά κάλυψης (cloak keys) πρέπει να διατηρούνται μυστικά γιατι είναι πιθανόν να αποκαλυφθεί η αληθινή διεύθυνση αν κάποιος γνωρίζει τα κλειδιά (κατι το οποίο καθιστά το umode +x άχρηστο).

3.2 - Modules

Το UnrealIRCd υποστιρίζει modules τα οποία είναι ωραία γιατί:
- Μπορείτε να τα φορτώσετε/ξαναφορτώσετε/ξεφορτώσετε/ καθώς το ircd τρέχει (με την εντολή /rehash). Αυτό επιτρέπει μερικά bugs να φτιαχτούν η νέα χαρακτηριστικά να προσθεθούν χωρίς να χρειάζεται επανακίνηση!
- ’λλα άτομα μπορούν να δημιουργήσουν (3rd party) modules με νέες εντολές, mode χρηστών ακόμα και mode καναλιών.
Το UnrealIRCd περιέχει μόνο λίγα modules. Ρίξτε μια ματιά στο www.unrealircd.com -> modules ή χρησιμοποιήστε την μηχανή αναζήτησης google για να βρείτε 3rd party modules.

Πρέπει να έχετε φορτώσει τουλάχιστον δύο modules αλλιώς δεν θα μπορείτε να ξεκινήσετε!:
- το module εντολών: commands.so (commands.dll στα windows)
- ένα module κάλυψης: συνήθως cloak.so (cloak.dll στα windows).

3.3 - Snomasks

Τα Snomasks είναι είναι μάσκες παρατηρήσεων των server, είναι ένας ειδικός τύπος mode χρηστών το οποίο ελέγχει ποιές παρατηρήσεις θα δέχεστε (περισσότερο χρησιμοποιείται απο διαχειριστές)

Μπορεί να οριστεί με την εντολή: /mode yournick +s SNOMASK, για παράδειγμα: /mode yournick +s +cF
Ψια να αφαιρέσετε συγκεκριμένα snomasks, χρησιμοποιήστε κατι σαν: /mode yournick +s -c
Η μπορείτε να αφαιρέσετε όλα τα snomasks απλώς γράφοντας: /mode yournick -s

Τα διαθέσιμα snomasks είναι:
c - τοπικές συνδέσεις
F - συνδέσεις άλλων server (εκτώς απο U-lined servers)
f - ειδοποιήσεις για flood
k - ειδοποιήσεις για kill [*]
e - ειδοποιήσεις 'eyes'
j - ειδοποιήσεις 'junk'
v - ειδοποιήσεις vhost
G - ειδοποιήσεις gline/shun
n - ειδοποιήσεις τοπικών αλλαγών nick
N - ειδοποιήσεις απόμακρων αλλαγών nick
q - ειδοποιήσεις απόρριψης nick (Q:line)
s - ειδοποιήσεις server [*]
S - ειδοποιήσεις spamfilter
o - ειδοποιήσεις oper-up
[*: αυτο το snomask είναι επίσης διαθέσιμο στους μή-διαχειριστές]

Μπορείτε να διαλέξετε ποια snomasks θα δέχεστε αυτόματα όταν συνδέεστε (set::snomask-on-connect) και ποια θα δέχεστε όταν θα λαμβάνετε δικαιώματα διαχειρηστή (set::snomask-on-oper, oper::snomask)

Με τις αρχικές επιλογές, άν ένας χρήστης απλώς ορίζει το mode +s, συγκεκριμένα snomasks ορίζονται. Ψια τους μή-διαχειρηστές, τα snomasks +ks, και για τους διαχειριστές, τα snomasks +kscfvGqo.

3.4 - Aliases

Με τις συντομεύσεις (Aliases) μπορείτε να σετάρετε server-side εντολές συντομεύσης. Μπορείτε για παράδειγμα να κάνετε το "/ns identify blah" να προωθείται στον nickserv (θα μεταφραστεί σε: privmsg nickserv identify blah). Μπορείτε ακόμα να δημιουργήσετε πιο πολύπλοκες συντομεύσεις όπως το /register να προωθείται στον ChanServ μόνο αν το πρώτο όρισμα αρχίζει με # αλλιώς να προωθείται στον NickServ.

Οι συντομεύσεις (Aliases) ορίζονται με την επιλογή alias blocks στο αρχείο επιλογών, και μπορείτε επίσης να συμπεριλάβετε ένα αρχείο με αρχικές συντομεύσεις για τις υπηρεσίες που χρησιμοποιούνται συχνότερα.

3.5 - Helpop

Το  UnrealIRCd έχει ένα ενσωματωμένο σύστημα βοήθειας προσβάσιμο με την εντολή /helpop. Η εντολή /helpop είναι πλήρως διαμορφώσιμη απο τον χρήστη μέσω του της επιλογής help στο αρχείο επιλογών. Επιπλέον, συμπεριλαμβάνεται και το αρχειο help.conf το οποίο περιέχει μερικές απο τις βασικές εντολές βοήθειας για όλες τις εντολές.
Ψια παράδειγμα η εντολή /helpop chmodes δίνει μια κάτοψη για όλα τα mode των καναλιών που έχει το  UnrealIRCd.
Θυμηθείτε ότι αν είστε διαχειρηστής (helpop) θα πρέπει να εισάγετε στο όρισμα ώς πρόθεμα  τον χαρακτήρα '?', έτσι ώστε το /helpop να γίνει /helpop ? και το /helpop chmodes μετατρέπεται σε /helpop ?chmodes κτλ..

3.6 – Επίπεδα Πρόσβασης Διαχειριστών

Υπάρχουν αρκετά επίπεδα πρόσβασης διαχειριστών στο UnrealIRCd και μπορείτε να προσθέσετε επιπλέον δικαιώματα  (όπως η χρήση της εντολής /gline) σε καθένα απο αυτά, έτσι ώστε με αυτόν τον τρόπο μπορείτε να δώσετε στον κάθε διαχειριστή τα προνόμια που χρειάζονται.

Αυτό ορίζεται απο τους ενδείκτες διαχειριστών στην επιλογή oper, ελέγξτε την επιλογή oper για περισσότερες πληφοροριές.

3.7 – Εντολές Διαχειριστών

Το UnrealIRCd έχει πολλές ισχυρές εντολές διαχειριστών που εξηγούνται με λεπτομέριες στο Εντολές Χρηστών και Διαχειριστών, πιθανότατα θέλετε να το διαβάσετε μετά την εγκατάσταση :).

3.8 - SSL

Τα αρχικά SSL δηλώνουν Secure Socket Layer, με το SSL μπορείτε να δημιουργήσετε ασφαλείς κρυπτογραφημένες συνδέσεις. Μπορεί να χρησιμοποιηθεί για να κρυπτογραφήσετε  δεδομένα μεταξύ server<->server, αλλα και τα δεδομένα client<->server μπορούν επίσης να κρυπτογραφηθούν. Συνήθως χρησιμοποιείτε το SSL για να προστατευθείτε εναντίον του sniffing και για αναγνώριση.

Πρέπει να έχετε κάνει τον IRC server compile με υποστίριξη SSL. Ψια να ορίσετε μια port ως SSL πρέπει να το ορίσετε στο listen::options::ssl.

Δεν μπορείτε να συνδεθείτε κανονικά σε μια SSL port (γιαυτό μήν κάνετε την port 6667 ssl!), χρειάζεστε ένα πρόγραμμα που είναι γραμμένο να αντιλαμβάνεται το προτόκολο του SSL.

Προγράμματα που υποστιρίζουν SSL: XChat, irssi, mIRC (6.14 και πάνω, επίσης χρειάζονται μερικά ακόμα βήματα)

Ψια προγράμματα που δεν υποστιρίζουν SSL μπορείτε να χρησιμοποιήσετε ένα tunnel όπως το stunnel, εδώ είναι ένα αρχείο επιλογών stunnel.conf για παράδειγμα (για το stunnel 4.x):

 
       client = yes
       [irc]
       accept = 127.0.0.1:6667
       connect = irc.myserv.com:6697

Αν τότε συνδεθείτε στο 127.0.0.1 στο port 6667, τα δεδομένα σας θα κρυπτογραφούνται και θα προωθούνται στο irc.myserv.com στο port 6697 (ένα SSL port).

Επίσης θα πρέπει να επικυρώσετε τα πιστοποιητικά όταν συνδέεστε σε servers και να μην τους δέχεστε τυφλά (όπως στο παράδειγμα του stunnel) αλλιώς θα είστε ακόμα ευάλωτος σε επιθέσεις "active sniffing" (ssl redirects), αυτό όμως είναι πολυ άσχετο για να αναλυθεί εδώ (μάθετε για το SSL, μην ρωτήσετε εμάς). [το mIRC και το xchat βγάζουν μήνυμα σε παράθυρο ζητώντας να επιτρέψετε/απορρίψετε το πιστοποιητικό, κατι που είναι καλο].

3.9 - IPv6

Το UnrealIRCd υποστηρίζει IPv6, αφού η έκδοση beta15 φαίνεται πως είναι σταθερή.
Το Λειτουργικό σύστημα σας πρέπει να υποστηρίζει IPv6 και πρέπει να ενεργοποιήσετε την υποστήριξη του IPv6 στο UnrealIRCd κατα την διάρκεια του ./Config επίσης.

Αν και η microsoft έχει εκδόσει μια δοκιμαστική έκδοση του IPv6 για εφαρμογή στα  w2k/XP δεν υποστιρίζεται (ακόμα) απο το UnrealIRCd.

3.10 - Zip links

Τα Zip links μπορούν να ενεργοποιηθούν για τις συνδέσεις μεταξύ server<->server, συμπιέζει τα δεδομένα χρησιμοποιόντας το zlib. Μπορεί να σώσει 60-80% bandwidth... Οπότε είναι πολύ καλο για συνδέσεις με χαμηλό bandwidth η συνδέσεις με πολλούς χρήστες, μπορει να βοηθήσει πολύ όταν συνδέεστε αφου πολλά δεδομένα στέλνονται για κάθε χρήστη/κανάλι/κτλ.

Ψια να κάνετε compile με υποστίριξη για zip links, πρέπει να απαντήσετε Ναι στην ερώτηση για το zlib στο ./Config και να ορίσετε το link::options::zip (και στις δύο μεριές)

3.11 – Υποστήριξη δυναμικής σύνδεσης DNS/IP

Το UnrealIRCd έχει μερικά (νέα) ωραία χαρακτηριστικά που βοηθούν τους χρήστες με δυναμική IP που χρησιμοποιούν δυναμικό DNS (όπως blah.dyndns.org). Αν συνδέετε δύο δυναμικές DNS διευθήνσεις , τότε ορίστε τα: link::options::nodnscache και link::options::nohostcheck.

3.12 – Χαρακτηριστικά Anti-Flood

Throttling
Το Throttling είναι μια μέθοδος η οποία σας επιτρέπει να περιορίσετε το πόσο γρήγορα κάποιος χρήστης μπορεί να αποσυνδεθεί και να ξανασυνδεθεί στον server. Μπορείτε να το ρυθμίσετε με την επιλογή set::throttle για να επιτρέψετε X συνδέσεις σε YY δευτερόλεπτα απο την ίδια IP.
ModeΚαναλιών
Υπάρχουν ακόμα μερικά modes καναλιών τα οποία μπορεί να είναι αρκετά αποτελεσματικά απέναντι σε floods. Ψια παράδειγμα:
K = όχι εντολή /knock, N = όχι αλλαγές nick, C = όχι CTCPs, M = μόνο καταχωρημένοι χρήστες μπορούν να μιλήσουν, j = έλεγχος πολλαπλών join (για κάθε χρήστη)
.
Απο την beta18 υπάρχει το πολύ προχωρημένο mode καναλιών +f...
Mode Καναλιών f
Αντι να χρησιμοποιείτε scripts και bots για να προστατευτείτε απέναντι σε flood καναλιών είναι τώρα ενσωματωμένο στο ircd.
Ένα παράδειγμα για το +f mode είναι: *** Blah sets mode: +f [10j]:15
Αυτο σημαίνει οτι 10 joins κάθε 15 δευτερόλεπτα επιτρέπονται στο κανάλι, αν το όριο έχει εξαντληθεί, το κανάλι θα γίνει +i αυτόματα.
Οι επόμενοι τύποι flood είναι διαθέσημοι:

type:

name:

default action:

other avail. actions:

comments

c

CTCPs

auto +C

m, M

 

j

joins

auto +i

R

 

k

knocks

auto +K

 

(μετράει τους τοπικούς χρήστες μόνο)

m

messages/notices

auto +m

M

 

n

nickchanges

auto +N

   

t

text

kick

B

Μηνύματα/ειδοποιήσεις για κάθε χρήστη, όπως το παλίο +f. Θα κάνει kick ή ban στον χρήστη.

  Παράδειγμα:

  
    *** 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

Για την ακρίβεια, μπορεί να γίνει αρκετά πιο προχωρημένο/μπερδεμένο:
Αντι για την αρχικά επιλεγμένη ενέργεια, μπορείτε για μερικούς τύπους flood να ορίσετε κάποια άλλη, για παράδειγμα: +f [20j#R,50m#M]:15
Αυτό θα ρυθμίσει το κανάλι +R αν το όριο join έχει εξαντληθεί (>20 joins σε 15 δευτερόλεπτα), και θα ρυθμίσει το κανάλι +M αν το όριο μηνυμάτων έχει εξαντληθεί (>50 μηνύματα σε 15 δευτερόλεπτα).

Υπάρχει ακόμα ένα "αφαίρεση mode μετα απο X λεπτα" χαρακτηριστικό: +f [20j#R5]:15 θα ρυθμίσει το κανάλι +R αν το όριο έχει εξαντληθεί και θα ρυθμίσει το κανάλι -R μετά απο 5 λεπτα.
Ένας server μπορεί να έχει αρχική επιλογή unsettime (set::modef-default-unsettime), οπότε αν γράψετε +f [20j]:15 θα μετατραπεί σε +f [20j#i10]:15, είναι το αρχικό, μπορείτε ακόμα να ορίσετε [20j#i2]:15 η κάτι παρόμοιο, και μπορείτε επίσης να απενεργοποιήσετε την αφαίρεση mode καναλιού εντελώς κάνοντας +f [20j#i0]:15 (ένα explicit 0).

Το παλιό +f mode (flood μηνυμάτων για κάθε χρήστη) είναι επίσης διαθέσιμο ως 't', +f 10:6 τώρα ονομάζεται +f [10t]:6 και +f *20:10 είναι τώρα +f [20t#b]:10. Τώρα το ircd θα μετατρέπει αυτόματα τους παλιούς +f mode τύπους σε άλλους νέους. Σημειώστε ότι δεν υπάρχει unsettime χαρακτηριστικό διαθέσιμο για τα 't' bans ([20t#b30]:15 δεν λειτουργεί).

Ποιό είναι το καλύτερο +f mode εξαρτάται πάρα πολύ απο το κανάλι... πόσους χρήστες έχει? Έχετε κάποιο παιχνίδι που αναγκάζει τους χρήστες να στέλνουν πολλά μηνύματα (π.χ: trivia) ή οι χρήστες συχνά χρησιμοποιούν popups? Είναι κάποιο είδος κεντρικού καναλιού ή εχει οριστεί για αυτόματο join? κτλ..
Δεν υπάρχει το τέλειο mode +f που είναι καλο για όλα τα κανάλια, αλλα για να πάρετε μιά ιδέα ρίξτε μια ματιά στο παρακάτω παράδειγμα και τροποποιήστε το για να ικανοποιεί τις ανάγκες σας:
+f [30j#i10,40m#m10,7c#C15,10n#N15,30k#K10]:15
30 joins σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +i για 10 λεπτά
40 messages σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +m για 10 λεπτά
7 ctcps σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +C για 15 λεπτά
10 nickchanges σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +N για 15 λεπτά
30 knocks σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +K για 10 λεπτά
Αν είναι κάποιο είδος μεγάλου καναλιού (>75 χρήστες?) θα πρέπει να μεγαλώσετε την ευαισθησία των join (σε π.χ: 50) και το όριο μηνυμάτων επίσης (σε π.χ: 60 ή 75).
Συγκεκριμένα ο χρόνος της αφαίρεσης mode είναι θέμα προσωπικής άποψης.. πρέπει να σκεφτείτε σαν.. τι θα γινόταν αν κανένας διαχειριστής δεν ήταν διαθέσιμος για να αντιμετωπίσει την κατάσταση, θα ήθελα να κλειδώσω το κανάλι για π.χ 15 λεπτά (=όχι καλό για τους χρήστες) ή 5 λεπτά (=ίσως ο flooder θα περιμένει 5 λεπτά και θα κάνει flood ξανά). Ακόμα εξαρτάται απο τον τύπο του flood, οι χρήστες που αδυνατούν να κάνουν join (+i) η να μιλήσουν (+m) είναι χειρότερο απο το να τους αναγκάσετε να μην μπορούν να αλλάξουν το nick τους (+N) η να στείλουν ctcps στο κανάλι (+C) οπότε ίσως να θέλετε να χρησιμοποιήσετε διαφορετικούς χρόνους αφαίρεσης.
Mode καναλιού j
Το mode +f συμπεριλαμβάνει ένα χαρακτηριστικό για να αποτρέπει τα join floods, όμως αυτό το χαρακτηριστικό είναι "ολικό." Για παράδειγμα, άν οριστεί σε 5:10 και 5 διαφορετικοί χρήστες εισέλθουν σε 10 δευτερόλεπτα, η προστασία του flood ενεργοποιείται. Το mode καναλιού +j είναι διαφορετικό. Αυτο το mode λειτουργεί ξεχωριστά για κάθε χρήστη. Αντι να προστατεύει εναντίον των join floods, είναι σχεδιασμένο για να προστατεύει εναντίον join-part floods (revolving door floods). Αυτό το mode δέχεται μια παράμετρο της μορφής X:Y όπου X είναι ο αριθμός των joins και Y ο αριθμός των δευτερολέπτων. Αν ένας χρήστης υπερβεί αυτό το όριο, αυτός/αυτή θα αποτραπεί απτο να εισέλθει ξανά στο κανάλι.

3.13 - Τύποι Ban

Βασικοί τύποι ban και cloaked hosts
Το UnrealIRCd υποστιρίζει τους βασικούς τύπους ban όπως +b nick!user@host.
Επίσης, άν μια κρυπτογραφημένη διεύθυνση είναι π.χ 'rox-ACB17294.isp.com' και ορίζετε ένα ban στο *!*@rox-ACB17294.isp.com, τότε αν ο χρήστης θέσει στον εαυτό του -x (και αυτή η διεύθυνση γίνει για παράδειγμα 'dial-123.isp.com) τότε το ban θα υφίσταται ακόμα. Τα Bans πάντα ελέγχονται και με τις αληθινές διευθύνσεις ΚΑΙ με τις κρυπτογραφημένες διευθύνσεις.
Τα IP ban είναι επίσης διαθέσημα ώς (π.χ: *!*@128.*) και ελέγχονται πάντα.

Τα Ban σε κρυπτογραφημένες IP διευθύνσεις απαιτούν κάποια επεξήγηση:
Αν ένας χρήστης έχει την διεύθυνση 1.2.3.4 τότε η κρυπτογραφημένη του διεύθυνση θα είναι 341C6CEC.8FC6128B.303AEBC6.IP.
Αν κάνετε ban *!*@341C6CEC.8FC6128B.303AEBC6.IP τότε κάνετε ban το *!*@1.2.3.4 (προφανές...)
Αν κάνετε ban *!*@*.8FC6128B.303AEBC6.IP τότε κάνετε ban το *!*@1.2.3.*
Αν κάνετε ban *!*@*.303AEBC6.IP τότε κάνετε ban το *!*@1.2.*
Αυτές οι πληροφορίες μπορούν να είναι χρήσιμες για να αποφασίσετε πόσο ευρύ το ban πρέπει να είναι.

Extended τύποι ban
Extended ban είναι κάπως έτσι: ~[!]<type>:<stuff>. Αυτήν την στιγμή οι επόμενοι τύποι είναι διαθέσημοι:

τύπος:

όνομα

περιγραφή:

~q

ύσηχο

Χρήστες που ταιριάζουν αυτά τα ban μπορούν να εισέλθουν στο κανάλι αλλά δεν μπορούν να μιλήσουν, εκτώς και αν έχουν mode +v και πάνω. π.χ: ~q:*!*@blah.blah.com

~n

αλλαγές nick

Άτομα που ταιριάζουν με αυτά τα ban δεν μπορούν να αλλάξουν nick, εκτώς και αν έχουν mode +v και πάνω. π.χ: ~n:*!*@*.aol.com

~c

[πρόθεμα]κανάλι

Αν ο χρήστης βρίσκεται σε αυτό το κανάλι τότε δεν μπορεί να εισέλθει.Ένα πρόθεμα μπορεί επίσης να οριστεί (+/%/@/&amp;/~) που σημαίνει οτι θα ταιριάξει μόνο αν ο χρήστης έχει τα συγκεκριμένα δικαιώματα η μεγαλύτερα στο συγκεκριμένο κανάλι.
<Ι>π.χ: +b ~c:#lamers, +e ~c:@#trusted

~r

realname

Αν το πραγματικό όνομα ενός χρήστη ταιριάζει με αυτό τότε αυτός/αυτή δεν μπορεί να εισέλθει.
π.χ: ~r:*Stupid_bot_script*
Σημείωση: το underscore ('_') ταιριάζει και με ένα κενό (' ') και με ένα underscore ('_'), οπότε αυτο το ban θα ταίριαζε με το 'Stupid bot script v1.4'.

Αυτοί οι τύποι ban υποστιρίζονται επίσης στην λίστα εξαίρεσης καναλιών (+e).
Τα Modules μπορούν επίσης να προσθέσουν και άλλους τύπους Extended bans.

3.14 - Spamfilter

Το Spamfilter είναι ένα νέο σύστημα καταπολέμησης της ενοχλητικής διαφήμισης, του spam, των ιών και άλλων πραγμάτων. Λειτουργεί περίπου όπως το σύστημα κακών λέξεων αλλα έχει πολλά πλεονεκτήματα.

Τα Spamfilters προστίθενται με την εντολή /spamfilter που χρησιμοποιεί την παρακάτω σύνταξη:
/spamfilter [add|del|remove|+|-] [τύπος] [ενέργεια] [διάρκεια] [λόγος] [regex]

[τύπος]

ορίζει τον τύπο στόχου:

Χαρακτήρας:

Ρύθμιση στόχου:

Περιγραφή:

c

channel

Μήνυμα καναλιού

p

private

Μήνυμα σε prive (from user->user)

n

private-notice

Notice σε prive

N

channel-notice

Notice σε κανάλι

P

part

Λόγος στο Part

q

quit

Λόγος στο Quit

d

dcc

Όνομα αρχείου DCC

a

away

Μήνυμα σε Away

t

topic

Μήνυμα σε Topic

u

user

Στοιχεία χρήστη, θα ταιριάξουν με το nick!user@host:realname

Μπορείτε να ορίσετε πολλαπλούς στόχους, όπως: cpNn

[ενέργεια]

ορίζει την ενέργεια που θα γίνει (μόνο μια ενέργεια μπορεί να οριστεί)

kill

κάνει kill τον χρήστη

tempshun

κάνει shun την σύνδεση του χρήστη (αν αυτός/αυτή επανασυνδεθεί το shun αφαιρείται)

shun

προσθέτει ένα shun στην διεύθυνση του χρήστη

kline

προσθέτει μια kline στην διεύθυνση του χρήστη

gline

προσθέτει μια gline στην διεύθυνση του χρήστη

zline

προσθέτει μια zline στην διεύθυνση του χρήστη

gzline

προσθέτει μια gzline (global zline) στην διεύθυνση του χρήστη

block

απλώς εμποδίζει την αποστολή του μηνύματος

dccblock

σημειώνει τον χρήστη ώστε να μην μπορεί να στείλει κανένα DCC

viruschan

αποχωρεί απο όλα τα κανάλια, εισέρχεται στο set::spamfilter::virus-help-channel, απενεργοποιεί όλες τις εντολές για τον χρήστη εκτώς απο το PONG, ADMIN, και msg/notices στο set::spamfilter::virus-help-channel

[διάρκεια]

Η διάρκεια της *line/shun που προστίθεται απο το filter, χρησιμοποιείστε '-' για να δεχτεί το αρχικό η για να το αγνοήσει (π.χ: αν η ενέργεια = 'block')

[λόγος]

Ο λόγος της παρεμπόδισης/*line/shun.. ΔΕΝ μπορείτε να χρησιμοποιήσετε κενά, αλλά τα underscores ('_') θα μεταφραστούν σε κενά την ώρα της εκτέλεσης. Και τα διπλά underscore ('__') δίνουν ένα underscore ('_'). Πάλι, χρησιμοποιείστε '-' για να δεχτεί τον αρχικό λόγο.

[regex]

Αυτό είναι το πραγματικό regex ή 'κακή λέξη' για την οποία πρέπει να παρεμποδίσουμε το μήνυμα ή στην οποία θα πραγματοποιηθεί η ορισμένη ενέργεια


Εδώ είναι ένα παράδειγμα: /spamfilter add pc gline - - Come watch me on my webcam
Αν η πρόταση come watch me on my webcam βρεθεί είτε σε ένα προσωπικό μήνυμα είτε σε μήνυμα καναλιού τότε το μήνυμα θα μπλοκαριστεί και μια gline θα προστεθεί κατευθείαν.
Άλλο παράδειγμα: /spamfilter add pc block - - come to irc\..+\..+
Αυτό είναι ένα regex που θα ταιριάξει με το Hi, come to irc.blah.net κτλ....
Και ένα παράδειγμα με ορισμένη διάρκεια/λόγο:
/spamfilter add p gline 3h Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam
Αν η πρόταση come watch me on my webcam βρεθεί σε ένα προσωπικό μήνυμα τότε ο χρήστης γίνεται gline για 3 ώρες με τον λόγο Please go to www.viruscan.xx/nicepage/virus=blah.

Τα Spamfilters που προστίθονται με το /spamfilter είναι ολικής εμβέλειας. Λειτουργούν αγνωόντας αν ο χρήστης ή το κανάλι έχει ορισμένο mode +G, μόνο οι διαχειριστές και οι ulines (υπηρεσίες) εξαιρούνται απο το filtering.

Μπορείτε επίσης να προσθέσετε spamfilters στο αρχείο επιλογών αλλα αυτές θα είναι τοπικά spamfilters (όχι ολικής εμβέλειας, αν και μπορείτε να χρησιμοποιήσετε πεδία απομακρυσμένης πρόσβασης για αυτό). Η σύνταξη αυτών των spamfilter { } επιλογών επεξηγούνται εδώ
Παράδειγμα:

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

Το set::spamfilter::ban-time σας επιτρέπει να επεξεργαστείτε την αρχική διάρκεια για τις *lines/shuns που προστίθενται απο το spamfilter (αρχικό: 1 μέρα)
Το set::spamfilter::ban-reason σας επιτρέπει να ορίσετε έναν προεπιλεγμένο λόγο (αρχικό: 'Spam/advertising')
Το set::spamfilter::virus-help-channel σας επιτρέπει να ορίσετε το κανάλι στο οποίο θα εισέρχονται οι χρήστες με την ενέργεια 'viruschan' (αρχικό: #help)
Το set::spamfilter::virus-help-channel-deny σας επιτρέπει να εμποδίσετε κάθε κανονικό είσοδο στο virus-help-channel (αρχικό: no)

3.15 - CIDR

Το UnrealIRCd τώρα υποστιρίζει το CIDR (Classless Interdomain Routing). Το CIDR σας επιτρέπει να κάνετε ban σειρές IP. Οι διευθύνσεις IP καθορίζονται στις εταιρίες παροχής υπηρεσιών internet (ISPs) χρησιμοποιόντας το CIDR, οπότε, το να είναι δυνατόν να οριστεί ένα ban βασισμένο στο CIDR σας επιτρέπει να κάνετε ban μια εταιρία ISP. Το Unreal υποστιρίζει CIDR για IPv4 αλλα και για IPv6. Οι μάσκες CIDR μπορούν να χρησιμοποιηθούν στα allow::ip, oper::from::userhost, ban user::mask, ban ip::mask, except ban::mask, except throttle::mask, και except tkl::mask (για gzline, gline, και shun). Επιπλέον, το CIDR μπορει να χρησιμοποιηθεί σε εντολές όπως /kline, /gline, /zline, /gzline, και /shun. Το Unreal χρησιμοποιεί το αρχικό συντακτικό των IP/bits, π.χ., 127.0.0.0/8 (δέχεται 127.0.0.0 - 127.255.255.255), και fe80:0:0:123::/64 (δέχεται fe80:0:0:123:0:0:0:0 - fe80:0:0:123:ffff:ffff:ffff:ffff).

3.16 - Nick Character Sets

Το UnrealIRCd τώρα έχει την ικανότητα να ορίσετε ποιά σετ χαρακτήρων/γλωσσών μπορούν να επιτραπούν στα nicknames. Μπορείτε να το ορίσετε αυτό στο set::allowed-nickchars.
Ένας πίνακας με όλες τις πιθανές επιλογές:
Όνομα: Περιγραφή: Σετ χαρακτήρων/κωδικοποίηση:
catalan Χαρακτήρες Καταλανικών iso8859-1 (latin1)
danishΧαρακτήρες Δανέζικωνiso8859-1 (latin1)
dutch Χαρακτήρες Ολλανδικών iso8859-1 (latin1)
french Χαρακτήρες Γαλλικών iso8859-1 (latin1)
german Χαρακτήρες Γερμανικών iso8859-1 (latin1)
swiss-germanΧαρακτήρες Ελβετο-Γερμανικών (no es-zett)iso8859-1 (latin1)
icelandicΧαρακτήρες Ισλανδικώνiso8859-1 (latin1)
italian Χαρακτήρες Ιταλικών iso8859-1 (latin1)
spanish Χαρακτήρες Ισπανικών iso8859-1 (latin1)
swedish Χαρακτήρες Σουηδικών iso8859-1 (latin1)
latin1catalan, danish, dutch, french, german, swiss-german, spanish, icelandic, italian, swedishiso8859-1 (latin1)
hungarianΧαρακτήρες Ουγγρικώνiso8859-2 (latin2), windows-1250
polishΧαρακτήρες Πολωνικώνiso8859-2 (latin2)
romanianΧαρακτήρες Ρουμάνικωνiso8859-2 (latin2), windows-1250, iso8859-16
latin2Ουγγρικά, Πολωνικά, Ρουμάνικαiso8859-2 (latin2)
polish-w1250Χαρακτήρες Πολωνικών, windows variant (unfortunately more common than iso)windows-1250
slovak-w1250Χαρακτήρες Σλοβακικών, windows variantwindows-1250
czech-w1250Χαρακτήρες Τσέχικων, windows variantwindows-1250
windows-1250polish-w1250, slovak-w1250, czech-w1250, hungarian, romanianwindows-1250
greek Χαρακτήρες Ελληνικών iso8859-7
turkishΧαρακτήρες Τούρκικωνiso8859-9
russian-w1251Χαρακτήρες Ρωσσικώνwindows-1251
belarussian-w1251Χαρακτήρες Belarussianwindows-1251
ukrainian-w1251Χαρακτήρες Ουκρανικώνwindows-1251
windows-1251russian-w1251, belarussian-w1251, ukrainian-w1251windows-1251
hebrew Χαρακτήρες Εβραϊκών iso8859-8-I/windows-1255
chinese-simp Απλοποιοημένα Κινέζικα Multibyte: GBK/GB2312
chinese-trad Παραδοσιακά Κινέζικα Multibyte: GBK
chinese-ja Γιαπωνέζικα Hiragana/Pinyin Multibyte: GBK
chinese chinese-* Multibyte: GBK
gbk chinese-* Multibyte: GBK

ΣΗΜΕΙΩΣΗ 1: Παρακαλώ σημειώστε οτι μερικοί συνδιασμοί μπορούν να προκαλέσουν προβλήματα. Για παράδειγμα, ο συνδιασμός latin* και chinese-* δεν μπορει να ελεγθεί σωστά απο το IRCd και το Unreal θα εμφανίσει ένα μήνυμα λάθους. Ο Συνδιασμός άλλων σετ χαρακτήρων μπορεί επίσης να προκαλέσει προβλήματα στην εμφάνιση, έτσι το Unreal θα εμφανίσει μια προειδοποίηση αν προσπαθήσετε να συνδιάσετε latin1/latin2/greek/άλλα μη συμβατά σύνολα.

ΣΗΜΕΙΩΣΗ 2: Το Casemapping (αν ένας συγκεκριμένος μικρός χαρακτήρας ανήκει σε έναν κεφαλαίο) γίνεται σύμφωνα με το US-ASCII, αυτό σημαίνει ότι το o" και το O" δέν αναγνωρίζονται ώς 'ο ίδιος χαρακτήρας' και γιαυτό μπορεί κάποιος να έχει ένα nick με B"ar και κάποιος άλλος BA"r την ίδια στιγμή. Αυτό είναι ένας περιορισμός του συστήματος και των κανόνων του IRCd που δεν μπορούν να λυθούν σε σύντομο χρονικό διάστημα. Ο Κόσμος πρέπει να γνωρίζει αυτούς τους περιορισμούς. Σημείωση ότι αυτός ο περιορισμός εφαρμόζεται και στα κανάλια, στα οποία σχεδόν όλοι οι χαρακτήρες επιτρέπονταν πάντα και το US-ASCII casemapping εφαρμοζόταν πάντα.

ΣΗΜΕΙΩΣΗ 3: Οι βασικοί χαρακτήρες nick (a-z A-Z 0-9 [ \ ] ^ _ - { | }) επιτρέπονται/συμπεριλαμβάνονται πάντα.


Παράδειγμα 1, για άτομα απο την δυτική ευρώπη:
set { allowed-nickchars { latin1; }; }; 
Παράδειγμα 2, αν έχετε περισσότερο κινέζους χρήστες και θέλετε να επιτρέψετε "κανονικούς" κινέζικους χαρακτήρες:
set { allowed-nickchars { chinese-simp; chinese-trad; }; };


3.17 - Υποστίρηξη CGI:IRC

Το UnrealIRCd υποστιρίζει τις κρυπτογραφημένες διευθύνσεις CGI:IRC, που σημαίνει οτι μπορείτε να σημειώσετε συγκεκριμένους διαύλους επικοινωνίας CGI:IRC ώς "εμπιστευόμενες" που θα αναγκάσει το IRCd να εμφανίσει την πραγματική διεύθυνση του χρήστη παντού στο IRC, αντι για την διεύθυνση του διαύλου επικοινωνίας CGI:IRC.

Δείτε επίσης Επιλογή cgiirc για πληροφορίες στο πώς να το προγραμματίσετε.

3.18 - Συγχρονισμός Ώρας

Το να υπάρχει σωστή ώρα στο σύστημα είναι πολύ σημαντικό για τους διακομιστές IRC. Χωρίς σωστή ώρα, τα κανάλια μπορούν να αποσυγχρονιστούν, αθώοι χρήστες να αποσυνδεθούν, τα κανάλια ίσως δεν εμφανιστούν σωστά στην εντολή /LIST, με λίγα λόγια: τεράστιο πρόβλημα θα δημιουργηθεί.

Το UnrealIRCd έχει ενσωματωμένη κάποια υποστίριξη για τον συγχρονισμό της ώρας. Αν και αυτή δεν είναι η ιδανική(η ώρα μπορεί να είναι ακόμα λανθασμένη κατα μερικά δευτερόλεπτα), θα ξεφορτωθεί τις περισσότερες διαφορές ώρας. Αν μπορείτε, συνηστάται ακόμα να χρησιμοποιείσετε προγράμματα συγχρονισμού ώρας όπως το ntpd στο *NIX ή την υπηρεσία συγχρονισμού της ώρας στα Windows (σε αυτήν την περίπτωση, μπορείτε να κλείσετε τον συγχρονισμό ώρας του Unreal, περισσότερα γιαυτό παρακάτω).

Αυτό που κάνει το UnrealIRCd (ώς αρχική επιλογή) είναι να κάνει μια μοναδική προσπάθεια συγχρονισμού την ώρα που φορτώνει. Στέλνει (ώς αρχική επιλογή) μια αίτηση σε πολλαπλούς διακομιστές συγχρονισμού και όταν δεχτεί την πρώτη (γρηγορότερη) απάντηση, θα προσαρμόσει το εσωτερικό ρολόι του ircd (ΟΧΙ το ρολόι του συστήματος). Αν, για κάποιον λόγο, το Unreal δεν δεχτεί κάποια απάντηση απο κάποιον διακομιστή μέσα σε 3 δευτερόλεπτα, το IRCd θα συνεχίσει να φορτώνει αγνοώντας το (συμβαίνει σπάνια).

Ο Συγχρονισμός της ώρας προσαρμόζεται (και μπορεί να απενεργοποιηθεί) μέσα απο την επιλογή set::timesynch, δείτε το set documentation για περισσότερες πληροφορίες.

3.19 Άλλα Χαρακτηριστικά

Το UnrealIRCd έχει πολλά χαρακτηριστικά οπότε δεν καλύπτονται όλα εδώ... Θα το καταλάβετε και απο μόνοι σας.

4.0 – Διαμορφώνοντας το unrealircd.conf

Πρώτα απ’όλα, το να δημιουργήσετε ένα καλό unrealircd.conf θα πάρει αρκετό χρόνο, πιθανότατα περίπου 15 – 60 λεπτά. Η δημιουργια ενός "σωστού" unrealircd.conf θα πάρει ακόμα περισσότερη ώρα. Δεν πρέπει να βιαστείτε να φορτώσετε το IRCd, αλλα καλύτερα να ελέγξετε τα πράγματα γραμμή-γραμμή. Αν έχετε κανένα πρόβλημα, ελέξτε το συντακτικό,ελέξτε αυτό το εγχειρίδιο και επίσης ελέξτε το FAQ πρίν ζητήσετε βοήθεια/επισημάνετε ένα bug.

4.1 Το αρχείο Επιλογών αναλυτικά

Το νέο σύστημα χρησιμοποιεί σύνταξη σε κουτάκια. Κάθε καταχώρηση, η κουτάκι, με την νέα σύνταξη έχει ειδική μορφοποίηση. Η μορφοποίηση δουλεύει ώς:

  
    <block-name> <block-value> { 
          <block-directive> <directive-value>; 
    };

<block-name> Είναι ο τύπος της επιλογής, όπως το me, ή το admin. <block-value> μερικές φορές ορίζει μια τιμή, όπως στο /oper login, αλλα άλλες φορές θα είναι ένας υπο-τύπος όπως στο ban user.

<block-directive> Είναι μια χωριστή μεταβλητή αποκλειστικά για την επιλογή, και το <directive-value> είναι η τιμή με την οποία σχετιζεται. Αν το <directive-value> περιέχει κενά, ή χαρακτήρες που αντιπροσωπεύουν ένα σχόλιο πρέπει να περιέχεται μέσα σε λατινικά εισαγωγικά. Αν θέλετε να χρησιμοποιήσετε έναν εισαγωγικό χαρακτήρα μέσα σε μιά εισαγωγική φράση χρησιμοποιήστε \" και το πρόγραμμα θα το δεχτεί ώς εισαγωγικό χαρακτήρα.

Το <block-directive> μπορεί να έχει ορίσματα μέσα του, σε αυτήν την περίπτωση θα έχει περιέχεται μέσα σε αγκύλες. Μερικές επιλογές δέν έχουν ορίσματα και ορίζονται απλώς με το <block-value>, όπως το include. Ακόμα σημειώστε οτι δεν υπάρχει μορφοποίηση με set, που σημαίνει οτι όλη η επιλογή μπορεί να εμφανίζεται σε μιά γραμμή ή σε περισσότερες. Η μορφοποίηση πιο πάνω είναι αυτή που κανονικά χρησιμοποιείται (και που θα χρησιμοποιείται στο αρχείο) γιατί είναι εύκολο να διαβαστεί.

Σημείωση: Το αρχείο επιλογών είναι ευαίσθητο στα κεφαλαία δηλαδή το BLOCK-NAME δεν είναι το ίδιο με το  block-name. Υπάρχει ειδική σημείωση που αναφέρεται στις καταχωρήσεις στο αρχείο επιλογών. Ψια παράδειγμα, μιλώντας για το <directive-name> στο παράδειγμα παραπάνω, θα λέγατε <block-name>::<block-directive>, και αν αυτό το όρισμα έχει υπο-επιλογή που θέλετε να συμπεριλάβετε, θα προσθέτατε άλλο ένα :: και το όνομα του υπο ορίσματος.

Ψια να αναφερθείτε σε ένα ανώνυμο όρισμα θα κάνατε <block-name>:: που θα σήμαινε σε αυτην την περίπτωση <block-value>, ή θα μπορούσε να είναι μια καταχώρηση σε μια υπο-επιλογή χωρίς όνομα.

Τρείς τύποι σχολίων υποστιρίζονται:

# Σχόλιο μιάς γραμμής
// Σχόλιο μιάς γραμμής
/* Σχόλιο πολλών
    γραμμών */

Τώρα που γνωρίζετε πώς λειτουργεί, αντιγράψτε το doc/example.conf στον φάκελο του UnrealIRCd (π.χ: /home/user/Unreal3.2) και μετονομάστε το σε unrealircd.conf (Η δημιουργήστε το δικό σας unrealircd.conf απτην αρχή). Συστήνεται να προχωρήσετε βήμα-βήμα όλες τις επιλογές και ρυθμίσεις του αρχείου επιλογών και να χρησιμοποιήσετε αυτο το εγχειρίδιο για αναφορά.

4.2 – Επιλογή Me ΑΠΑΡΑΙΤΗΤΗ (Προηγουμένως γνωστή ώς M:Line)

Σύνταξη:

  
    me { 
          name <Το όνομα του server>; 
          info <Περιγραφή του server>; 
          numeric <Νούμερο αναφοράς του server>; 
    };

Αυτές οι τιμές είναι αρκετά εμφανείς. Το name ορίζει το όνομα του server, το info ορίζει την περιγραφή του server, το numeric ορίζει ένα νούμερο αναφοράς για τον server. Αυτό πρέπει να είναι μια τιμή μεταξύ του 0 και του 254 η οποία είναι ΜΟΝΑΔΙΚΗ για τον server εννοόντας οτι ΚΑΝΕΝΑΣ άλλος server στο δύκτιο δεν θα έχει το ίδιο νούμερο αναφοράς.

Παράδειγμα:

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

4.3 – Επιλογή Admin ΑΠΑΡΑΙΤΗΤΗ (Προηγουμένως γνωστή ως A:Line)

Σύνταξη:

  
    admin { 
          <text-line>; 
          <text-line>; 
    };

Η επιλογή admin καθορίζει τις φράσεις που εμφανίζονται σε μια αίτηση /admin. Μπορείτε να ορίσετε όσες γραμμές θέλετε και μπορούν να περιέρχουν οποιαδήποτε πληροφορία επιλέξετε, αλλα είναι σωστό να περιέχεται το όνομα του admin και η διεύθυνση e-mail το λιγότερο. Aλλες πληροφορίες μπορούν να περιέχουν οποιαδήποτε άλλη πληροφορία επικοινωνίας που θέλετε να δώσετε.

Παράδειγμα:

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

4.4 – Επιλογή Class ΑΠΑΙΤΕΙΤΑΙ (Προηγουμένως γνωστή ώς Y:Line)

Παράδειγμα:

  
    class <όνομα> { 
          pingfreq <Συχνότητα ping>; 
          connfreq <Συχνοτητα δοκιμών σύνδεσης>; 
          maxclients <maximum-χρήστες>; 
          sendq <send-queue>; 
          recvq <recv-queue>; 
    };

Η επιλογές Class είναι κατηγορίες στις οποίες κατατάσονται οι συνδέσεις (για παράδειγμα απο τις επιλογές allow ή  servers απο επιλογές link), γενικώς έχετε πολλαπλές κατηγορίες επιλογών (π.χ: για servers, χρήστες, διαχειριστές).

name Είναι το όνομα, όπως "clients" ή "servers", αυτό το όνομα χρησιμοποιείται για αναφορά στην κατηγορία απο τις επιλογές allow/link/oper/κτλ

pingfreq Είναι ο αριθμός των δευτερολέπτων μεταξύ των PING για τους servers (κάτι μεταξύ 90 και 180 προτείνεται).

connfreq Χρησιμοποιείται μόνο για τους servers και είναι ο αριθμός των δευτερολέπτων μεταξύ των προσπαθιών σύνδεσης αν η επιλογή autoconnect έχει ενεργοποιηθεί.

maxclients ορίζει το μέγιστο αριθμό των χρηστών/servers που μπορούν να βρίσκονται σε αυτήν την κατηγορία

sendq ορίζει το σύνολο των δεδομένων που μπορούν να βρίσκονται στην ουρά αποστολής δεδομένων (πολυ μεγαλο για servers με μεγαλο bandwidth, μέτριο για χρήστες)

recvq ορίζει το σύνολο των δεδομένων που μπορούν να βρίσκονται στην ουρά αποδοχής δεδομένων και χρησιμοποιείται για έλεγχο του flood (αυτό χρησιμοποιείται μόνο για κανονικούς χρήστες, προσπαθήστε να πειραματιστείτε με τιμές 3000-8000, 8000 είναι το αρχικό).

Παράδειγμα:

  
    class clients { 
          pingfreq 90; 
          maxclients 500; 
          sendq 100000; 
          recvq 8000; 
    }; 
      
    class servers{ 
          pingfreq 90; 
          maxclients 10; /* Μέγιστος αριθμός servers που μπορούν να είναι συνδεδεμένοι */ 
          sendq 1000000; 
          connfreq 100; /* Πόσα δευτερόλεπτα μεταξύ κάθε προσπάθειας σύνδεσης */ 
    };

4.5 – Επιλογή Allow ΑΠΑΙΤΕΙΤΑΙ (Προηγουμένως γνωστή ώς I:Line)

Σύνταξη:

  
    allow { 
          ip <user@μάσκα-επιτρεπτών-ip>; 
          hostname <user@μασκα-επιτρεπτών-host>; 
          class <κατηγορία-συνδέσεων>; 
          password <κωδικός-σύνδεσης> { <auth-type>; }; 
          maxperip <μέγιστες-συνδέσεις-για-καθε-ip>; 
          redirect-server <server-στον-οποίο-να-προωθείται>; 
          redirect-port <πορτα-στην-οποία-να-προωθείται>; 
          options { 
                 <option>; 
                 <option>; 
                 ... 
          }; 
    };

Η επιλογή επιτρεπτής κατηγορία είναι αυτή που καθορίζει ποιός επιτρέπεται να συνδεθεί στον server, μπορείτε να έχετε πολλαπλές επιλογές επιτρεπτών κατηγοριών.

Σχετικά με το ταίριασμα
Ο έλεγχος πρόσβασης λειτουργεί με τον παρακάτω τρόπο: Η ip ταιριάζει ή το host ταιριάζει, έτσι ώστε το "hostname *@*"; Και η "ip *@1.2.3.4" σημαίνει οτι πάντα ταιριάζει. Επίσης η επιλογή επιτρεπτής πρόσβασης διαβάζονται με ανάποδη σειρά, που σημαίνει οτι πρέπει να προσδιορίσετε συγκεκριμένες host/ip επιλογές επιτρεπτής πρόσβασης ΜΕΤΑ απο τις γενικές *@* επιλογές επιτρεπτής πρόσβασης. Επιπλέον, αν θέλετε να ορίσετε μιά επιλογή που ταιριάζει μόνο με τις IP, τότε απλώς ορίστε το hostname σε κάτι άκυρο, όπως "hostname NOBODY;", αυτό θα επιτρέψει στην επιλογή να ταιριάζει μόνο βασισμένο στην IP.

ip
Η μάσκα ip βρίσκεται στην μορφή user@ip, το user είναι η ταυτότητα και συχνά ορίζεται ως *, η ip είναι η μάσκα του  ip. Μερικά παραδείγματα: *@* (απο οπουδήποτε), *@192.168.* (μόνο απο διευθύνσεις που αρχίζουν απο 192.168), κτλ.

host
Επίσης μια μάσκα user@host για διευθύνσεις. Το user συχνά ορίζεται ώς *. Μερικά παραδείγματα: *@* (παντού), *@*.wanadoo.fr (μόνο απο το wanadoo.fr).

password (μή απαραίτητο)
Απαιτεί ένα κωδικό σύνδεσης. Μπορείτε επίσης να ορίσετε μια μέθοδο κρυπτογράφησης κωδικού εδώ.

class
Ορίζει το όνομα της κατηγορίας στην οποία θα καταταχθούν οι συνδέσεις που χρησιμοποιούν αυτήν την επιλογή επιτρεπτής πρόσβασης.

maxperip (μή απαραίτητο, αλλα προτείνεται)
Σας επιτρέπει να προσδιορίσετε πόσες συνδέσεις για κάθε IP επιτρέπονται σε αυτό τον server (π.χ: maxperip 4;).

redirect-server (μή απαραίτητο)
Αν η κατηγορία είναι γεμάτη, στέλνει τους χρήστες σε αυτόν τον server (αν το πρόγραμμα του χρήστη το υποστηρίζει [το mIRC 6.xx το υποστιρίζει]).

redirect-port (μή απαραίτητο)
Αν το redirect-server έχει οριστεί, μπορείτε να ορίσετε την port εδώ, αλλιώς θεωρείται η 6667.

options block (μή απαραίτητο)
Έγκυρες επιλογές είναι:
   useip πάντα εμφανίζει το IP αντί του hostname
   noident δεν χρησιμοποιεί το ident αλλα χρησιμοποιεί το username ορισμένο απο το πρόγραμμα
   ssl ταιριάζει μόνο αν το πρόγραμμα συνδέθηκε μέσω SSL
   nopasscont συνέχιζει το ταίριασμα και ας μην δώθηκε κωδικός (ωστέ να μπορείτε να στείλετε τους χρήστες σε ειδικές κατηγορίες αν δώσουν κωδικό).

Παράδειγμα:

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

4.6 – Επιλογή Listen ΑΠΑΙΤΕΙΤΑΙ (Προηγουμένως γνωστή ώς P:Line)

Σύνταξη:

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

Αυτή η επιλογή σας επιτρέπει να ορίσετε τις ports στις οποίες το IRCD θα ακούει. Αν δεν χρειάζονται υπο επιλογές, μπορείτε να τις ορίσετε χωρίς ορίσματα στην μορφή listen <ip:port>;.

ip and port
Μπορείτε να ορίσετε την ip σε * για να δεσμεύσετε όλες τις διαθέσιμες ips, η να ορίσετε μία ώστε να δεσμεύσει μόνο αυτήν την ip (συνήθως χρειάζεται σε shell providers). port είναι το port στο οποίο θέλετε να ακούει. Μπορείτε ακόμα να ορίσετε το port σε μια ποικιλία αντι για μία μόνο τιμή. Για παράδειγμα, 6660-6669 θα ακούει σε ports 6660 έως και 6669. Οι χρήστες IPv6 , δείτε παρακάτω.

Info for IPv6 users
Αν έχετε έναν ενεργοποιημένο IPv6 server τότε πρέπει να περιελάβετε την IP σε αγκύλες. Όπως το [::1]:6667 (ακούει στο localhost στο port 6667). Αν χρησιμοποιείτε IPv6 και θέλετε να ακούσετε σε μία συγκεκριμένη IPv4 διεύθυνση αρκει να χρησιμοποιήσετε ::ffff:ipv4ip. Για παράδειγμα: [::ffff:203.123.67.1]:6667 θα ακούσει στο 203.123.67.1 στο port 6667. Φυσικά μπορείτε επίσης να χρησιμοποιήσετε *.

options block (μή απαραίτητο)
Μπορείτε να ορίσετε ειδικές υπο-επιλογές για κάθε port αν θέλετε, έγκυρες υπο-επιλογές είναι:

clientsonly

port μόνο για χρήστες

serversonly

port μόνο για servers

java

Υποστίριξη για CR javachat

ssl

Κρυπτογραφημένη SSL port

Παραδείγματα:

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

Η αν δεν υπάρχουν υπο-επιλογές:

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

4.7 - Επιλογή Oper ΠΡΟΤΕΙΝΕΤΑΙ (Previously known as the O:Line)

oper <name> { 
          from { 
                 userhost <hostmask>; 
                 userhost <hostmask>; 
          }; 
          password <password> { <auth-type>; }; 
          class <class-name>; 
          flags <flags>; 
          flags { 
                 <flag>; 
                 <flag>; 
                 ... 
          }; 
          swhois <whois info>; 
          snomask <snomask>; 
          modes <modes>; 
          maxlogins <num>; 
    };

Η επιλογή oper σας επιτρέπει να ορίσετε διαχειριστές για τον server σας. Το oper:: καθορίζει το όνομα της επιλογής /oper. Το oper::from::userhost είναι μια μάσκα user@host με την οποία ο χρήστης πρέπει να ταιριάζει, μπορείτε επίσης να καθορίσετε περισσότερες απο μία μάσκες ορίζοντας περισσότερες απο μία επιλογές oper::from::userhost. Το oper::password είναι ο κωδικός τον οποίο πρέπει να καθορίσει ο χρήστης, το oper::password:: σας επιτρέπει να καθορίσετε μια μέθοδο αναγνώρισης για αυτόν τον κωδικό, έγκυροι τύποι αναγνώρισης είναι τα crypt, md5, και sha1, ripemd-160. Αν θέλετε να χρησιμοποιήσετε ένα απλό κωδικό αγνοήστε αυτην την υποεπιλογή.

Παρακαλούμε σημειώστε ότι ΚΑΙ το όνομα αναγνώρισης όπως και ο κωδικός είναι case sensitive

Το oper::class καθορίζει το όνομα μιάς κατηγορίας που προυπάρχει (εμφανίζεται πρίν απο αυτό στο αρχείο επιλογών) την οποία η επιλογή oper θα χρησιμοποιήσει.

Το oper::flags έχει δύο μορφές. Αν θέλετε να χρησιμοποιήσετε τον παλιό τύπο oper flags π.χ., OAa, χρησιμοποιήτε την μέθοδο flags <flags> , άν θέλετε να χρησιμοποιήσετε το νέο τύπο,π.χ., services-admin, τότε χρησιμοποιείτε την μέθοδο flags { <flag>; } . Παρακάτω βρίσκεται μια λίστα με όλα τα διαθέσιμα flags (και στις δύο μορφές) και την ιδιοτητά τους.

Old Flag

New Flag

Description

o

local

Σας ορίζει τοπικό διαχειριστή

O

global

Σας ορίζει γενικό διαχειριστή

C

coadmin

Σας ορίζει βοηθό ιδιοκτήτη του server

A

admin

Σας ορίζει ιδιοκτήτη του server

a

services-admin

Σας ορίζει διαχειριστή των services

N

netadmin

Σας ορίζει διαχειριστή Δυκτίου

r

can_rehash

Ο Διαχειριστής μπορει να χρησιμοποιήσει /rehash

D

can_die

Ο Διαχειριστής μπορει να χρησιμοποιήσει /die

R

can_restart

Ο Διαχειριστής μπορει να χρησιμοποιήσει /restart

h

helpop

Ο Διαχειριστής δέχεται το umode +h (Βοηθός)

w

can_wallops

Ο Διαχειριστής μπορεί να στείλει /wallops

g

can_globops

Ο Διαχειριστής μπορεί να στείλει /globops

c

can_localroute

Μπορεί να συνδέσει τους servers τοπικά

L

can_globalroute

Μπορεί να συνδέσει τους servers σε όλο το δύκτιο

k

can_localkill

Μπορεί να κάνει /kill τους τοπικούς χρήστες

K

can_globalkill

Μπορεί να κάνει /kill απομακρυσμένους χρήστες

b

can_kline

Μπορεί να χρησιμοποιήσει /kline

B

can_unkline

Μπορεί να χρησιμοποιήσει /kline -u@h

n

can_localnotice

Μπορεί να στείλει τοπικές ειδοποιήσεις στους χρήστες του server

G

can_globalnotice

Μπορεί να στείλει ανακοινώσεις στους χρήστες απομακρυσμένων server

z

can_zline

Μπορεί να χρησιμοποιήσει /zline

t

can_gkline

Μπορεί να χρησιμοποιήσει /gline, /shun και /spamfilter

Z

can_gzline

Μπορεί να χρησιμοποιήσει /gzline

W

get_umodew

Ορίζει umode +W όταν δεχτείτε δικαιώματα διαχειριστή

H

get_host

Ορίζει την διεύθυνση σας σε μια διεύθυνση διαχειριστή

v

can_override

Μπορεί να χρησιμοποιήσει OperOverride

q

can_setq

Μπορει να χρησιμοποιήσει umode +q

X

can_addline

Μπορει να χρησιμοποιήσει /addline

d

can_dccdeny

Μπορεί να χρησιμοποιήσει /dccdeny και /undccdeny

Συγκεκριμένα flags σας δίνουν άλλα flags εξαρχής:

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 σας επιτρέπει να προσθέσετε μια επιπλέον γραμμή στις πληροφορίες whois ενός διαχειριστή. [προαιρετικό]

Το όρισμα oper::snomask σας επιτρέπει να προ-καθορίσετε την μάσκα ειδοποιήσεων όταν κάποιος δεχτεί δικαιώματα διαχειριστή. Για μια λίστα με τα διαθέσιμα SNOMASKs, δείτε παράγραφος 3.3 [προαιρετικό]

Το όρισμα oper::modes σας επιτρέπει να προ-καθορίσετε τα modes ενός που θα δεχτεί τα δικαιώματα του διαχειριστή. [προαιρετικό]

Το oper::maxlogins σας επιτρέπει να περιορίσετε τον αριθμό των ταυτόχρονων συνδέσεων διαχειριστή απο αυτήν την διέυθυνση, για παράδειγμα αν το ορίσετε στο 1 τότε μόνο ένα άτομο μπορεί να έχει δικαιώματα διαχειριστή απο αυτην την επιλογή κάθε στιγμή. [προαιρετικό]

Παράδειγμα:

  
    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 "Παράδειγμα μιας μάσκας whois"; 
          snomask frebWqFv; 
    };

Μερικές πληροφορίες για το OperOverride:
Το OperOverride είναι ενέργειες όπως: εισέρχεστε σε ένα κανάλι +ikl και περνάτε οποιοδήποτε ban (πρέπει να κάνετε /invite πρώτα απόλα εσάς), δίνετε op στον εαυτό σας σε ένα κανάλι, κτλ.
Η υποεπιλογή can_override operflag πρστέθηκε ώς μια προσπάθεια να σταματήσει η κατάχρηση της εντολής απο τους διαχειριστές. Κανένας διαχειριστής δεν μπορεί να κάνει override εξαρχής, πρέπει να του έχει δοθεί η υποεπιλογή can_override flag .

4.8 - Επιλογή DRpass ΠΡΟΤΕΙΝΕΤΑΙ(Previously known as the X:Line)

Σύνταξη:

  
    drpass { 
          restart <restart-password> { <auth-type>; }; 
          die <die-password> { <auth-type>; }; 
    };

Αυτή η επιλογή ορίζει τους κωδικούς για το /restart και το /die με drpass::restart and drpass::die αναλόγως. Το drpass::restart:: και drpass::die:: σας επιτρέπει να ορίσετε τον τύπο της αναγνώρισης που χρησιμοποιείται απο αυτό. Οι μορφές αναγώρισης που υποστιρίζονται είναι crypt, md5, and sha1, ripemd-160.

Example:

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

4.9 - Όρισμα Include

Σύνταξη:
include <file-name>;

Αυτό το όρισμα ορίζει ένα αρχείο για φόρτωση σαν ξεχωριστό αρχείο επιλογών. Αυτο το αρχείο μπορεί να περιέχει οποιονδήποτε τύπο επιλογών και μπορεί επίσης να περιέχει και άλλα αρχεία. Μάσκες υποστιρίζονται για το όνομα του αρχείου που σας επιτρέπουν να φορτώσετε πολλαπλά αρχεία με ένα όρισμα .

Παράδειγμα 1: ένα αρχείο δυκτίου

include mynetwork.network;

Αυτο θα ήταν η εντολή που θα χρησιμοποιούσαμε αν θέλαμε να χρησιμοποιήσουμε ένα ξεχωριστό αρχείο δυκτίου. Τα ξεχωριστά αρχεία δυκτίου δεν είναι πλέον απαραίτητα; Όλες οι επιλογές δυκτίου μπορούν να προστεθούν κατευθείαν μέσα στο unrealircd.conf. Ή μπορείτε να ορίσετε μια επιλογή include για να φορτώσετε το αρχείο.

Παράδειγμα 2: aliases

include aliases/ircservices.conf

Άλλο ένα παράδειγμα είναι να το χρησιμοποιήσετε για να περιλάβετε τις επιλογές alias, το UnrealIRCd έρχεται με μερικά αρχεία που θα (πρεπει) να περιέχουν τα σωστά aliases για τις περισσότερες υπηρεσίες:

4.10 - Όρισμα LoadModule ΑΠΑΙΤΕΙΤΑΙ

Σύνταξη:
loadmodule <file-name>;

Δείτε εδώ γιατι τα modules είναι ωραία/χρήσιμα.

Modules που συμπεριλαμβάνονται στο Unreal3.2:

commands.so / commands.dll - Όλες οι / εντολές (ίσως όχι όλες ακόμα, αλλα τελικα θα προστεθούν όλες) ΑΠΑΙΤΕΙΤΑΙ
cloak.so / cloak.dll - Cloaking module ΑΠΑΙΤΕΙΤΑΙ (ή οποιοδήποτε άλλο module κρυπτογράφησης)

Οπότε θέλετε να είστε σίγουροι ότι έχετε φορτώσει αυτά:

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

ή στα windows:

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

4.11 - Επιλογή Log ΠΡΟΤΕΙΝΕΤΑΙ

Σύνταξη:

  
    log <file-name> { 
          maxsize <max-file-size>; 
          flags { 
                 <flag>; 
                 <flag>; 
                 ... 
          }; 
    };

Η Επιλογή log σας επιτρέπει να ορίσετε διαφορετικά αρχεία καταγραφής για διαφορετικούς σκοπούς. Το log:: περιέχει το όνομα του αρχείου καταγραφής. log::maxsize είναι ένα προαιρετικό όρισμα που σας επιτρέπει να ορίσετε το μέγεθος στο οπόιο αυτο το αρχείο καταγραφής θα διαγράφεται και θα επανακινείται.Μπορείτε να χρησιμοποιήσετε το MB για τα megabytes, KB, για kilobytes, GB, για gigabytes. Το log::flags ορίζει ποιοί τύποι πληροφοριών θα χρησιμοποιηθούν σε αυτό το αρχείο καταγραφής. Δείτε παρακάτω την λίστα με τις διαθέσιμες επιλογές.

Μπορείτε επίσης να έχετε πολλαπλές επιλογές καταγραφής, για να καταγράφετε διαφορετικά πράγματα σε διαφορετικά αρχεία καταγραφής.

Available Flags:

errors

self explanatory

kills

καταγράφει τα /kill notices

tkl

καταγράφει πληροφορίες για τις *lines, τα shun και τα spamfilters που (προστέθηκαν/αφαιρέθηκαν/έληξαν)

connects

καταγράφει τις εισόδους/εξόδους χρηστών

server-connects

καταγράφει τις συνδέσεις/αποσυνδέσεις των server

kline

καταγράφει την χρήση της /kline

oper

καταγράφει τις προσπάθειες απόκτησης δικαιώματα διαχειριστή (ανεπιτυχείς και επιτυχείς)

sadmin-commands

καταγράφει την χρήση των εντολών /sa* (samode, sajoin, sapart, κτλ.)

chg-commands

καταγράφει την χρήση των εντολών /chg* (chghost, chgname, chgident, κτλ.)

oper-override

καταγράφει την χρήση του operoverride

spamfilter

καταγράφει ενέργειες του spamfilter

Παράδειγμα:

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

4.12 - Επιλογή TLD ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the T:Line)

Σύνταξη:

  
    tld { 
          mask <hostmask>; 
          motd <motd-file>; 
          rules <rules-file>; 
          shortmotd <shortmotd-file>; 
          opermotd <opermotd-file>; 
          botmotd <botmotd-file>; 
          channel <channel-name>; 
          options { 
                 ssl; 
          }; 
    };

Η επιλογή tld σας επιτρέπει να ορίσετε το motd, αρχείο κανόνων, και κανάλι για έναν χρήστη βασισμένο στην διεύθυνση του. Αυτό είναι χρήσιμο όταν θέλετε να έχετε διαφορετικά motd για διαφορετικές γλώσσες. Το tld::mask είναι μια μάσκα user@host που το όνομα χρήστη και η διεύθυνση πρέπει να ταιριάζουν. Τα tld::motd, tld::shortmotd, tld::opermotd, tld::botmotd, και tld::rules ορίζουν το αρχείο motd, shortmotd, opermotd, botmotd, και αρχέιο κανόνων (rules), αναλόγως, για να εμφανίζονται για αυτήν την διεύθυνση. Τα tld::shortmotd, tld::opermotd, και tld::botmotd είναι προαιρετικά. tld::channel είναι προαιρετικό επίσης, σας επιτρέπει να ορίσετε ένα κανάλι το οποίο ο χρήστης θα εξαναγκάζεται να εισέρθει όταν συνδεθεί. Αν αυτή η επιλογή υπάρχει τότε κάνει override το αρχικό auto join channel. Το tld::options σας επιτρέπει να ορίσετε επιπλέον απαιτήσεις, προς το παρόν υπάρχουν μόνο το tld::options::ssl που εμφανίζει το αρχείο μόνο στους χρήστες SSL, και το tld::options::remote που εμφανίζει το αρχείο μόνο στους remote χρήστες.

TLD entries are matched upside down

Example:

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

4.13 - Επιλογή Ban Nick ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the Q:Line)

Σύνταξη:

  
    ban nick {

      mask <nickname>;       reason <reason-for-ban>; };

Η επιλογή ban nick σας επιτρέπει να αποτρέψετε την χρήση ενός nickname στον server. Το ban::mask σας επιτρέπει οι μάσκες wildcard να ταιριάζουν με πολλαπλά nicks, και το ban::reason σας επιτρέπει να ορισετε τον λόγο για τον οποίο τέθηκε αυτο το ban. Συνήθως αυτές οι επιλογές χρησιμοποιούνται για να απαγορέψουν την χρήση κάποιων nickname που χρησιμοποιούνται συνήθως απο τα services.

Παράδειγμα:

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

4.14 - Επιλογή Ban User ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the K:Line)

Σύνταξη:

  
    ban user { 
          mask <hostmask>; 
          reason <reason-for-ban>; 
    }; 

Η επιλογή σας επιτρέπει να απαγορέψετε απο μιά μασκα user@host την σύνδεση στον server. Το ban::mask είναι μια γρραμμή wildcard της διεύθυνσης user@host του χρήστη που θα γίνει ban, και το ban::reason είναι ο λόγος για τον οποίο ορίζεται ένα ban. Σημειώστε, αυτό είναι μόνο ένα τοπικό ban και επομένως ο χρήστης μπορεί να συνδεθεί στους άλλους servers του δυκτίου.

Example:

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

4.15 - Επιλογή Ban IP ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the Z:Line)

Σύνταξη:

  
    ban ip { 
          mask <ipmask>; 
          reason <reason-for-ban>; 
    };

Η επιλογή ban ip αποτρέπει την σύνδεση μιας IP στον server. Αυτό περιέχει και τους χρήστες αλλα και τους servers που προσπαθούν να συνδεθούν. Το όρισμα ban::mask είναι μία IP που μπορεί να περιέχει χαρακτήρες wildcard, και το ban::reason είναι ο λόγος για τον οποίο αυτό τέθηκε αυτό το ban. Εφόσον αυτο το ban επηρεάζει και τους servers θα πρέπει να χρησιμοποιείται πολύ προσεκτικά.

Παράδειγμα:

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

4.16 - Επιλογή Ban Server ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the q:Line)

Σύνταξη:

  
    ban server { 
          mask <server-name>; 
          reason <reason-for-ban>; 
    };

Αυτη η επιλογή εμποδίζει την ιδιότητα ενός server's για σύνδεση στο δύκτιο. Αν ο server συνδέεται κατευθείαν στον server σας, η σύνδεση απορρίπτεται. Αν ο server συνδέεται σε απομακρυσμένο server, τότε ο τοπικός server θα αποσυνδεθεί απο το δύκτιο. Το πεδίο ban::mask ορίζει μια μάσκα wildcard που ταιριάζει με τον όνομα του server που προσπαθεί να συνδεθεί, και το ban::reason ορίζει τον λόγο για τον οποίο τέθηκε αυτό το ban.

Παράδειγμα:

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

4.17 - Επιλογή Ban RealName ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the n:Line)

Σύνταξη:

  
    ban realname { 
          mask <realname-mask>; 
          reason <reason-for-ban>; 
    };

Η επιλογή ban realname σας επιτρέπει να κάνετε ban έναν χρήστη βασισμένοι στο πεδίο GECOS (πραγματικό όνομα). Αυτό είναι χρήσιμο για να σταματήσετε επιθέσεις κλώνων γιατι συχνά οι κλώνοι χρησιμοποιούν το ίδιο πραγματικό όνομα. Το ban::mask ορίζει το πραγματικό όνομα που θα πρέπει να γίνει ban. Η μάσκα μπορεί να περιέχει wildcards. Το ban::reason ορίζει τον λόγο για τον οποίο τέθηκε αυτο το ban.

Example:

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

4.18 - Επιλογή Ban Version ΠΡΟΑΙΡΕΤΙΚΟ

Σύνταξη:

  
    ban version { 
          mask <version-mask>; 
          reason <reason-for-ban>; 
          action [kill|tempshun|shun|kline|zline|gline|gzline]; 
    };

Η επιλογή ban version σας επιτρέπει να κάνετε ban έναν χρήστη βασισμένοι στο πρόγραμμα πρόσβασης IRC που χρησιμοποιούν. Αυτό χρησιμοποιεί την επιλογή CTCP version των προγραμμάτων. Γιαυτό άν το πρόγραμμα δεν δώσει απάντηση στο CTCP version, το ban δεν θα λειτουργήσει. Αυτη η επιλογή στοχεύει στο να επιτρέπει να αποτρέψετε την χρήση κακόβουλων προγραμμάτων. Το ban::mask ορίζει την έκδοση που πρέπει να αποτραπεί. Η μάσκα μπορει να περιέχει wildcards. Το ban::reason ορίζει τον λόγο για τον οποίο αυτο το ban θα πλαισιωθεί. Μπορείτε ενα ορίσετε επίσης ban::action, το kill είναι η αρχική επιλογή, tempshun θα κάνει shun στην σύνδεση του συγκεκριμένου χρήστη και θα λειτουργήσει μόνο πολύ αποτελεσματικά εναντίον zombies/bots σε δυναμικές διευθύνσεις αφού δεν θα επηρεάσει αθώους χρήστες. shun/kline/zline/gline/gzline θα ορίσει ένα ban αυτού του τύπου στην ip (*@IPADDR), η διάρκεια αυτών των ban μπορει να οριστεί με το όρισμα set::ban-version-tkl-time και η αρχική τιμή της είναι 1 μέρα.

Example:

  
    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 ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the E:Line)

Σύνταξη:

  
    except ban { 
          mask <hostmask>; 
    };

Η επιλογή εξαίρεσης ban σας επιτρέπει να ορίσετε ένα user@host το οποίο θα υπερβαίνει ένα ban που τέθηκε σε ένα πιο ευρύ host. Αυτο είναι χρήσιμο όταν θέλετε να κάνετε μια ISP banned, αλλα επίσης θέλετε συγκεκριμένους χρήστες να μπορούν να συνδεθούν. Το except::mask όρισμα ορίζει την user@host μάσκα των χρηστών που θα μπορούν να συνδεθούν.

Example:

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

4.20 - Επιλογή TKL Exceptions ΠΡΟΑΙΡΕΤΙΚΟ

Σύνταξη:

  
    except tkl { 
          mask <hostmask>; 
          type <type>; 
          type {  
                 <type>; 
                 <type>; 
                 ... 
          }; 
    };

Η επιλογή εξαίρεσης tkl σας επιτρέπει να ορίσετε μια μάσκα user@host που θα υπερβαίνει ένα tkl ban που τέθηκε σε ένα πιο ευρύ host. Αυτο είναι χρήσιμο όταν θέλετε να κάνετε μια ISP banned, αλλα επίσης θέλετε συγκεκριμένους χρήστες να μπορούν να συνδεθούν. Το except::mask όρισμα ορίζει την user@host μάσκα των χρηστών που θα μπορούν να συνδεθούν. Το όρισμα except::type ορίζει ποιούς τύπους ban αυτό θα υπερβαίνει. Έγκυροι τύποι είναι gline, gzline, qline, gqline, και shun, που δημιουργεί εξεραίσεις για τα Glines, Global Zlines, Qlines, Global Qlines, και shuns. Αν η μορφή {} χρησιμοποιείται, μπορούν να οριστούν πολλαπλοί τύποι.

Example:

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

4.21 - Επιλογή Throttle Exceptions ΠΡΟΑΙΡΕΤΙΚΟ

Σύνταξη:

  
    except throttle { 
          mask <ipmask>; 
    };

Η επιλογή εξαίρεσης throttle σας επιτρέπει να ορίσετε μια μάσκα IP που θα υπερβαίνει το σύστημα throttling. Αυτό λειτουργεί μόνο άν έχετε διαλέξει να ενεργοποιήσετε το throttling. Το except::mask ορίζει μια μάσκα IP που δεν θα γίνεται ban εξαιτίας του throttling.

Example

  
    except throttle { 
          mask 192.168.1.*; 
    };

4.22 - Επιλογή Deny DCC ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as dccdeny.conf)

Σύνταξη:

  
    deny dcc { 
          filename <file-to-block>; 
          reason <reason-for-ban>; 
          soft [yes|no]; 
    };

Η επιλογή απόρριψης dcc σας επιτρέπει να ορίσετε ένα αρχείο το οποίο δεν θα επιτρέπεται να σταλεί μέσω DCC στον server. Αυτό είναι αρκετά χρήσιμο στο να σταματήσει η διακίνηση ιών και trojans.

Το deny::filename ορίζει μια μάσκα wildcard του αρχείου του οποίου θα αποτρέπεται η αποστολή, και το deny::reason ορίζει τον λόγο για τον οποίο αυτο το αρχείο είναι απαγορευμένο.

Υπάρχει ακόμα ένα deny::soft όρισμα, αν το ορίσετε 'yes' το dcc αποτρέπεται εκτώς και αν ο χρήστης το επιτρέψει μέσω του /DCCALLOW +χρήστης-που-προσπαθεί-να-στείλει. Δείτε το dccallow.conf για ένα καλό παράδειγμα της χρήσης του dccallow.

Example

  
    deny dcc { 
          filename virus.exe; 
          reason "This is a GD Virus"; 
    };
  
    deny dcc { 
          filename "*.exe"; 
          reason "Executable content"; 
          soft yes; 
    };

4.23 - Επιλογή Deny Version ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the V:Line)

Σύνταξη:

  
    deny version { 
          mask <server-name>; 
          version <version-number>; 
          flags <compile-flags>; 
    };

Αυτή η επιλογή σας επιτρέπει να αποτρέψετε την σύνδεση ενός server βασισμένο στην έκδοση του Unreal που τρέχει και στις παραμέτρους του compile που έχει. Η μορφή της επιλογής είναι λίγο πολύπλοκη αλλα δεν είναι πολύ δύσκολο να την κατανοήσετε. Το όρισμα deny::mask ορίζει μια μάσκα wildcard που αναφέρεται στο όνομα του server. Το deny::version ορίζει τον αριθμό του προτοκόλου στην οποία αυτή η έκδοση αναφέρεται.

Για παράδειγμα, στην έκδοση 3.0 είναι 2301, 3.1.1/3.1.2 είναι 2302, 3.2 είναι 2303. Ο πρώτος χαρακτήρας της παραμέτρου μπορεί να είναι ένας απο τους επόμενους >, <, =, !. Αυτός ο χαρακτήρας λέει στο IRCd πως να ερμηνεύσει την έκδοση. Αν ο πρώτος χαρακτήρας είναι ένα > τότε όλες οι νεότερες εκδόσεις απο αυτήν που ορίστικε απορρίπτονται, εάν είναι ένα < όλες οι παλαιότερες εκδόσεις απορρίπτονται, εάν είναι ένα = μόνο η συγκεκριμένη έκδοση απορρίπτεται, και εάν είναι ένα ! τότε όλες οι εκδόσεις εκτώς απο την συγκεκριμένη απορρίπτονται. Το όρισμα deny::flags σας επιτρέπει να ορίσετε ποιες παραμέτρους compile ο server μπορεί η δεν μπορεί να έχει. Τα flags είναι τοποθετημένα το ένα δίπλα στο άλλο χωρίς κενό ανάμεσα τους, άν ένας χαρακτήρας βρίσκεται μετά απο ένα ! τότε σημαίνει οτι ο server δεν μπορεί να έχει αυτο το flag compiled, άν δεν βρίσκεται μετά απο ένα !, τότε σημαίνει οτι ο server πρέπει να έχει αυτο το flag compiled.

4.24 - Επιλογή Deny Link ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the D/d:Line)

Σύνταξη:

  
    deny link { 
          mask <server-name>; 
          rule <crule-expression>; 
          type <type-of-denial>; 
    };

Αυτή η επιλογή σας επιτρέπει να χρησιμοποιήσετε συγκεκριμένους κανόνες για να απορρίψετε την σύνδεση ενός server. deny::mask ορίζει μια μάσκα wildcard στην οποία θα ταιριάζει το όνομα του server. Το όρισμα deny::rule είναι πολυ πολύπλοκο. Μια ωμή έκφραση σας επιτρέπει να ελέγξετε την σύνδεση σε μεγάλο βαθμό, και ορίζεται ώς έκφραση προγραμματισμού. Τέσσερα operators υποστιρίζονται, connected(<servermask>), επιστρέφει true αν ο server που ταιριάζει την μάσκα συνδεθεί, directcon(<servermask>), επιστρέφει true αν ο server που ταιριάζει την μασκα συνδεθεί κατευθείαν σε αυτόν τον server, via(<viamask>,<servermask>), επιστρέφει true αν ο server που ταιριάζει την μάσκα συνδεθεί μέσω ενός server που ταιριάζει το viamask, και directop(), το οποίο επιστρέφει true αν ο διαχειρηστής που χρησιμοποιεί το /connect είναι συνδεδεμένος κατευθείαν σε αυτόν τον server. Αυτά τα ορίσματα μπορούν να συνδεθούν μεταξύ τους χρησιμοποιώντας && (και) and || (ή), τα ορίσματα μπορούν επίσης να δωθούν μέσα σε παρενθέσεις για να επιτρέπεται η δημιουργία group. Επίσης, ένα όρισμα που ακολουθείται απο ένα ! ελέγχει αν το όρισμα επιστρέφει false. Αν ολόκληρη η έκφραση επιστρέφει true, τότε η σύνδεση απορρίπτεται. Το όρισμα deny::type σας επιτρέπει δύο διαφορετικές τιμές, auto (μόνο για τις αυτόματες συνδέσεις, το /connect θα συνεχίσει να λειτουργεί), και all (λειτουργεί για όλες τις προσπάθειες σύνδεσης).

4.25 - Επιλογή Deny Channel ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as chrestrict.conf)

Σύνταξη:

  
    deny channel { 
          channel "<channel-mask>"; 
          reason <reason-for-ban>; 
          redirect "<channel-name>"; 
          warn [on|off]; 
    };

Η επιλογή deny channel σας επιτρέπει να αποτρέψετε την είσοδο των χρηστών σε συγκεκριμένα κανάλια. Το όρισμα deny::channel ορίζει μια μάσκα wildcard καναλιών που απαγορεύεται η είσοδος στους χρήστες, και το deny::reason ορίζει τον λόγο για τον οποίο η είσοδος στο κανάλι απαγορεύεται. Επιπλέον, μπορείτε να ορίσετε ένα deny::redirect. Αν αυτό οριστεί, όταν ένας χρήστης προσπαθήσει να εισέλθει σε ένα κανάλι που ταιριάζει με το deny::channel, θα προωθηθεί στο deny::redirect. Και επίσης υπάρχει το deny::warn που (άν ειναι στο on) θα στείλει ένα μήνυμα στους διαχειριστές (με το EYES snomask) αν ο χρήστης προσπαθήσει να εισέλθει.

Example

  
    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 ΠΡΟΑΙΡΕΤΙΚΟ

Σύνταξη:

  
    allow channel { 
          channel "<channel-mask>"; 
    };

Η επιλογή allow channel σας επιτρέπει να ορίσετε συγκεκριμένα κανάλια που οι χρήστες επιτρέπεται να εισέρχονται. Το όρισμα allow::channel ορίζει την μάσκα wildcard των καναλιών που μπορούν οι χρήστες να εισέλθουν.

Example:

  
    allow channel { 
          channel "#something"; 
    };

4.27 - Επιλογή Allow DCC ΠΡΟΑΙΡΕΤΙΚΟ

Σύνταξη:

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

Η επιλογή allow dcc σας επιτρέπει να ορίσετε εξαιρέσεις για τις επιλογές deny dcc, επιτρέποντας και wildcards. Αν το allow dcc::soft έχει οριστεί σε 'yes' αναφέρεται στην λίστα 'soft dcc bans', ενώ αν οριστεί σε 'no' αναφέρεται στην κανονική λίστα ('hard') dcc bans.

Example:

  
    allow dcc { 
          filename "*.jpg"; /* Images are usually safe */ 
          soft yes; 
    };

4.28 - Επιλογή Vhost ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as vhosts.conf)

Σύνταξη:

  
    vhost { 
          vhost <vhost>; 
          from { 
                 userhost <hostmask>; 
                 userhost <hostmask>; 
                 ... 
          }; 
          login <login-name>; 
          password <password> { <auth-type>; }; 
          swhois "<swhois info>"; 
    };

Η επιλογή vhost σας επιτρέπει να ορίσετε ένα κωδικό σύνδεσης που θα χρησιμοποιείτε με την εντολή /vhost για να αποκτήσετε μια ψεύτικη διεύθυνση. Το όρισμα vhost::vhost μπορει είτε να είναι της μορφής user@host είτε μια διεύθυνση μόνο που ο χρήστης θα δέχεται μετα απο επιτυχημένη χρήση /vhost. Το όρισμα vhost::from::userhost περιέχει μια μάσκα user@host που ο χρήστης πρέπει να ταιριάζει για να είναι κατάλληλος για το vhost. Μπορείτε να ορίσετε πάνω απο μία μάσκα. Το vhost::login είναι το όνομα login που ο χρήστης πρέπει να δώσει και vhost::password είναι ο κωδικός που πρέπει να εισαχθεί. Το vhost::password:: σας επιτρέπει να ορίσετε τον τύπο της αναγνώρισης που χρησιμοποιείται για το κάθε vhost. Οι τύποι που υποστιρίζονται αυτήν την στιγμή είναι crypt, md5, και sha1, ripemd-160. Τέλος το vhost::swhois σας επιτρέπει να προσθέσετε μια επιπλέον γραμμή στο whois του χρήστη, ακριώς όπως γίνεται και στην επιλογή διαχειριστών oper::swhois.

Example:

  
    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 ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as badwords.*.conf)

Σύνταξη:

  
    badword <type> { 
          word <text-to-match>; 
          replace <replace-with>; 
          action <replace|block>; 
    };

Η επιλογή badword σας επιτρέπει να χειριστείτε την λίστα που χρησιμοποιείται για τους χρήστες και τα κανάλια με το mode +G για να αποκρύψετε "badwords". Το badword:: ορίζει τον τύπο, έγκυροι τύποι είναι channel, message, quit, και all. Το channel είναι για την λίστα καναλιών +G, το message είναι για την λίστα των χρηστών +G, το quit είναι για την απόκρυψη μηνυμάτων αποσύνδεσης, και το all το προσθέτει και στις τρείς λίστες. Το badword::word μπορεί να είναι μια απλή λέξη ή μια κανονική έκφραση που το Unreal πρέπει να ψάξει. Το badword::replace είναι η λέξη με την οποία θέλουμε να αντικαταστήσουμε το badword. Αν το badword::replace δεν οριστεί, η λέξη αντικαθίσταται με την λέξη <censored>. Το badword::action ορίζει τι πρέπει να συμβεί άν αυτό το badword βρεθεί. Αν ορίσετε αντικατάσταση, τότε το badword αντικαθίσταται, αν ορίσετε block, τότε ολόκληρο το μήνυμα απορρίπτεται. Αν δεν ορίσετε ένα badword::action, τότε θεωρείται η αντικατάσταση(replace).

Example:

  
    badword channel { 
          word shit; 
          replace shoot; 
    };

4.30 - Επιλογή ULines ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the U:Line)

Σύνταξη:

  
    ulines { 
          <server-name>; 
          <server-name>; 
          ... 
    };

Η επιλογή ulines σας επιτρέπει να ορίσετε συγκεκριμένους server που θα έχουν επιπλέον δυνατότητες. Αυτό θα πρέπ