]> jfr.im git - irc.git/blame - software/ircd/www.irc.org/tech_docs/ircnet/!channels.html
init
[irc.git] / software / ircd / www.irc.org / tech_docs / ircnet / !channels.html
CommitLineData
3bd189cb
JR
1<html><head><title>New Channels</title></head>
2<body>
3
4This document explains in detail how the new channels work.
5
6<H1>Goal</H1>
7
8As we all know, #channels are subject to collisions which
9have very annoying side effects. Channel Delay is intended
10to prevent the collisions, but is far from being perfect.
11<p>
12These new channels will make collisions extremely unlikely.
13
14<p><hr>
15<H1>How does it work?</H1>
16
17In order to make collisions impossible, the channel name
18is assiocated to a unique ID. The pair (name , ID) will
19thus be unique as well.
20<p>
21The channel <em>real name</em> is built by concatenating the
22ID and the <em>short name</em>, for example, channel
23<em>"!foo"</em> might be <em>"!2B4dfoo"</em>. The ID has a
24constant length which makes it easy to separate it from the
25actual "friendly" name.
26<p>
27The channel creation must be requested. For example to create a the new channel foo, one must try to join <em>"!!foo"</em>.
28<p>
29In addition to a unique name, these channels obey to soe
30new simple rules:
31<ul>
32<p><li> It is not possible to create a channel if one with the
33same short name (but different ID)
34 <ul>
35 <li> already exists
36 <li> has split recently (e.g. the channel delay was
37 set and hasn't expired. see definition below).
38 </ul>
39<p><li> It is possible to join a channel which has split
40recently (if the modes allow it). In this case, the user does
41not get oped. (Note that this differs from #channels which
42get locked in such a case, until the Channel Delay expires
43then allowing a user to re-create it, gaining chanop
44status).
45<p><li> If only one channel "!foo" exists, it can be joined by
46giving the short name only. <b>The JOIN command is the only one
47accepting shortnames for the channels</b>
48<p><li> If several channels have the same short name, but
49different ID, a user can choose to join any of them by
50specifying the ID.
51<p><li> If a channel becomes opless, and remains opless long
52enough for the Opless Delay to expire, <b>all</b> the
53channel members will be <A HREF="#moder">optionnally</A> oped.
54<p><li> The channel delay duration is longer (60m) than for
55#channels (15m). This is necessary to avoid several
56channels having the same short name (but different ID) as
57much as possible.
58<p><li> The channel delay is set when any member splits.
59<p><li> The opless delay is set whenever a chanop member leaves the channel.
60</ul>
61
62<p><hr>
63<H1>New modes</H1>
64
65As channel collisions are eliminated, it is possible to
66enhance the mode system.
67
68<ul>
69<p><li> general mode:</p>
70<ul>
71<A NAME=moder>
72<p><li>r</P> reop mode, if the channel becomes opless for
73long enough, servers will re-op users in the channel. Note
74that not setting this mode can be used to create `modeless'
75channels (such as +channels) but with specific
76characteristics. (anonymous, secret...)
77<p>
78Reoping is done randomly by a random server. While it may
79sound like loading a channel with many clones increases greatly
80the chances of catching the reop, the randomization is done
81in a way which does not favor clones at all.
82</ul>
83</A>
84<p><li> user mode:</p>
85<ul>
86<p><li>O</p> This mode is given to the creator of the channel by
87the server, it cannot be passed or gained after the channel
88was created. The creator is the only person able to
89set/unset r modes, and set (but not unset) +a.
90</ul>
91</ul>
92
93<p><hr><p>
94
95<p>
96<!-- <em>Christophe Kalt</em> &lt;<A HREF="MAILTO:kalt@stealth.net">kalt@stealth.net</A>&gt; -->
97
98</body></html>