IRC kanaly.

Kanal je virtualna skupina ludi existujuca na jednom alebo viac IRC serveroch. Je definovany svojim menom.

Kanal vznika tak, ze sa na kanal niekto pripoji (prikazom JOIN) a zanika tak, ze z kanala odide posledny clovek (prikazom PART na opustenie kanala, prikazom QUIT na opustenie IRC, alebo je z IRC odpojeny). Pred tym a potom kanal neexistuje a IRC servery o nom nevedu ziaden zaznam (vynimkou je channel delay popisany dalej). Na inych sietach ako IRCNet toto spravanie moze ale nemusi byt odlisne.

Mena kanalov

Meno kanala moze mat maximalne 50 znakov, pricom prvy znak moze byt jeden zo znakov: & # + !
Tento prvy znak definuje zakladne vlastnosti kanala.
Typ kanalaLokalnyModyPoznamka
&anoano-
+nienie-
#nieano-
!nieanopopis !kanalov

V sucasnosti teda existuju 4 zakladne typy kanalov lisiace sa a identifikovane prvym znakom v mene kanala. Ich strucne rozdelenie je:
& kanaly su lokalne (na jednom serveri)
+ kanaly su bez modov
# kanaly su globalne
! kanaly su nove (od verzie 2.9) nekolidovatelne kanaly

Serverove masky

! + a # kanaly mozu byt obmedzene na niekolko serverov definovanim serverovej masky. Napriklad kanal #nieco:*.sk existuje vyhradne na serveroch odpovedajucich maske *.sk (co by malo znamenat na slovenskych serveroch).

Mody kanalov

Mody kanala definuju, ako sa kanal bude spravat a ako bude vyzerat zvonka respektive zvnutra. Rozne typy kanalov mozu mat rozne mody, preto pri jednotlivych modoch bude napisane ktore typy kanalov ich mozu mat.
Kanaly mozu mat iste mnozstvo (standardne 30) modov obsahujucich masku (+beIR) a mody vztahujuce sa k nickom (+ov) platia extra pre kazdy nick na kanali (s vynimkou modu vlastnika +O, ktory patri len pre jednu osobu a moze byt prideleny len serverom).
modnazovparametrekanalypopis
aanonymous-& !vsetky spravy, prichody a odchody pouzivatelov, su zobrazene akoby pochadzali od pouzivatela "anonymous". Tento mod nie je mozne na !kanaloch zrusit a tieto kanaly nie su viditelne prikazmi WHO, WHOIS a NAMES.
bbanmaska& # !pouzivatel vyhovujuci maske sa nesmie na kanal pripojit a ak na nom je, nesmie do neho posielat ziadne spravy
eexemptmaska& # !na pouzivatela vyhovujuceho tejto maske neplati mod +b
iinvite-only-& # !na kanal je mozne sa pripojit len pouzivatelovi, ktory bol na neho pozvany prikazom INVITE. Tento prikaz moze vykonat len operator kanala.
IInvitemaska& # !na pouzivatela vyhovujuceho tejto maske neplati mod +i
kkeykluc& # !na pripojenie sa na tento kanal je potrebne zadat kluc(heslo) v prikaze join
llimitcislo& # !cislo udava maximalny pocet ucastnikov na kanali
mmoderated-& # !do kanala mozu pisat len +o (operatori) alebo +v (voice) pouzivatelia
nno outside msgs-& # !do kanala nesmu pisat pouzivatelia, ktori na nom nie su pripojeni
oopnick& # !dany nick je operatorom kanala a ma pravo menit mody kanala
Oownernick& !dany nick je vlastnikom kanala a ma pravo nastavit mody +a a +r. Tento mod nastavi iba server iba tvorcovi kanala pri jeho vytvoreni s vynimkou split modu.
pprivate-& # !kanal je privatny a nebude zobrazeny vo WHOIS na jeho ucastnikov. Zobrazeny bude iba osobam pripojenym na danom kanali, alebo prikazmi LIST, NAMES, TOPIC.
qquiet-&kanal je tichy a ucastnici nebudu vidiet ziadne informacie o inych jeho ucastnikoch. Tento mod nastavuju len IRC servery.
rreop-& !ak kanal nema operatora, nahodny server v nahodnom case urobi operatorom niektorych ucastnikov kanala
Rreoplistmaska& # !ak kanal nema operatora, nahodny server v nahodnom case urobi operatorom ucastnikov kanala vyhovujucich maske
ssecret-& # !kanal je tajny a nebude zobrazeny prikazmi LIST, NAMES, TOPIC ani WHOIS na jeho ucastnikov. Zobrazeny bude iba osobam pripojenym na danom kanali.
ttopic protection-& # !iba operatori kanala maju pravo menit topic kanala
vvoicenick& # !nick ma pravo hovorit do kanala aj ak je moderovany

Kolizie kanalov

Vdaka principu dynamickych (=nevlastnenych) #kanalov sa mnozili pripady kolizii #kanalov:
Pri rozpade siete na jednej casti kanal prestal existovat, co vyuzil nejaky pouzivatel alebo skupina pouzivatelov, ktori kanal na danej casti siete (seriveri) "vytvorili" a ziskali na nom statut operatora. Pri spojeni sieti tento statut ziskali aj na druhej strane siete (vzhladom na to ze servery spajaju kanaly a snazia sa ich zosynchronizovat), kde zacali obtazovat ostatnych pouzivatelov.

Tento problem bol rieseny viacerymi sposobmi, na IRCNet-e sa ujal (okrem ineho) takzvany Channel Delay (CD) mechanizmus: ak sa rozpadom siete (respektive odpojenim lubovolneho servera) znizi pocet operatorov na kanali na 0 (ludovo povedane, odidu vsetci opi), server si zapamata tento kanal a nedovoli po stanovenu dobu (standardne 30 minut) vytvorit tento kanal nanovo. (Standardny sposob, ako ziskat opa na kanali bez opa je znovuvytvorenie kanala - vsetci z neho odidu a ten, kto sa pripoji ako prvy, sa stane operatorom.) V pripade pokusu o vytvorenie kanala server zahlasi chybu 437: channel is locked.

Split-mod je dalsi sposob na zamedzenie kolizii kanalov implementovany na IRCNet serveroch a uz predtym bol pouzivany na inych sietach: server neopuje automaticky prvu osobu pripojenu na kanal, pokial je na sieti menej ako prednastavene mnozstvo pouzivatelov a serverov (pripadne aj kanalov).

Autor IRC demona vo verzii 2.9 pridal nove !kanaly ktore zamedzuju koliziam inym sposobom.
Na + a & kanaloch kolizie z principu nie su mozne.


Matus "fantomas" Uhlar
Hlavna stranka servera