]>
Commit | Line | Data |
---|---|---|
3bd189cb JR |
1 | <html><head><title>New Channels</title></head> |
2 | <body> | |
3 | ||
4 | This document explains in detail how the new channels work. | |
5 | ||
6 | <H1>Goal</H1> | |
7 | ||
8 | As we all know, #channels are subject to collisions which | |
9 | have very annoying side effects. Channel Delay is intended | |
10 | to prevent the collisions, but is far from being perfect. | |
11 | <p> | |
12 | These new channels will make collisions extremely unlikely. | |
13 | ||
14 | <p><hr> | |
15 | <H1>How does it work?</H1> | |
16 | ||
17 | In order to make collisions impossible, the channel name | |
18 | is assiocated to a unique ID. The pair (name , ID) will | |
19 | thus be unique as well. | |
20 | <p> | |
21 | The channel <em>real name</em> is built by concatenating the | |
22 | ID and the <em>short name</em>, for example, channel | |
23 | <em>"!foo"</em> might be <em>"!2B4dfoo"</em>. The ID has a | |
24 | constant length which makes it easy to separate it from the | |
25 | actual "friendly" name. | |
26 | <p> | |
27 | The channel creation must be requested. For example to create a the new channel foo, one must try to join <em>"!!foo"</em>. | |
28 | <p> | |
29 | In addition to a unique name, these channels obey to soe | |
30 | new simple rules: | |
31 | <ul> | |
32 | <p><li> It is not possible to create a channel if one with the | |
33 | same 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 | |
40 | recently (if the modes allow it). In this case, the user does | |
41 | not get oped. (Note that this differs from #channels which | |
42 | get locked in such a case, until the Channel Delay expires | |
43 | then allowing a user to re-create it, gaining chanop | |
44 | status). | |
45 | <p><li> If only one channel "!foo" exists, it can be joined by | |
46 | giving the short name only. <b>The JOIN command is the only one | |
47 | accepting shortnames for the channels</b> | |
48 | <p><li> If several channels have the same short name, but | |
49 | different ID, a user can choose to join any of them by | |
50 | specifying the ID. | |
51 | <p><li> If a channel becomes opless, and remains opless long | |
52 | enough for the Opless Delay to expire, <b>all</b> the | |
53 | channel 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 | |
56 | channels having the same short name (but different ID) as | |
57 | much 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 | ||
65 | As channel collisions are eliminated, it is possible to | |
66 | enhance 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 | |
73 | long enough, servers will re-op users in the channel. Note | |
74 | that not setting this mode can be used to create `modeless' | |
75 | channels (such as +channels) but with specific | |
76 | characteristics. (anonymous, secret...) | |
77 | <p> | |
78 | Reoping is done randomly by a random server. While it may | |
79 | sound like loading a channel with many clones increases greatly | |
80 | the chances of catching the reop, the randomization is done | |
81 | in 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 | |
87 | the server, it cannot be passed or gained after the channel | |
88 | was created. The creator is the only person able to | |
89 | set/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> <<A HREF="MAILTO:kalt@stealth.net">kalt@stealth.net</A>> --> | |
97 | ||
98 | </body></html> |