36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
|
## Elemental-ircd specific deviations from the normal TS6 protocol
|
||
|
|
||
|
As a general rule of thumb and for compatibility reasons, protocol changes are
|
||
|
made as infrequently and minimally as possible. However there are some things
|
||
|
that have been changed in how elemental handles the server to server protocol
|
||
|
that are worth mentioning.
|
||
|
|
||
|
For readability's sake, any lines that a server sends are prefixed by `>>>` and
|
||
|
any lines it expects to recieve are prefixed by `<<<`.
|
||
|
|
||
|
### Changes
|
||
|
|
||
|
#### Channel owner mode
|
||
|
|
||
|
If enabled, a new mode will be added to the channel prefix list. This mode (+y)
|
||
|
has a prefix of "~" and in most IRC services packages is used to signify the
|
||
|
owner of a specific channel. If enabled, it will show up in SJOIN lines as such:
|
||
|
|
||
|
>>> :[sid] SJOIN [channel-ts] #opers + :~[ts6-uid]
|
||
|
|
||
|
A more practical example would be:
|
||
|
|
||
|
>>> :420 SJOIN 13840003504 #opers + :~@42000000A
|
||
|
|
||
|
As the mode for this channel is `+y`, all `TMODE` changes adding or removing `+y`
|
||
|
from a client in a channel should set and unset this mode accordingly. An example
|
||
|
of adding the mode follows:
|
||
|
|
||
|
>>> :47GAAAAAB TMODE 13840003504 #opers +y 42000000A
|
||
|
|
||
|
Handling removal is similar.
|
||
|
|
||
|
Currently, the only way to detect if a remote server supports these extended
|
||
|
modes is to remotely query a server's `VERSION` and read out the `005` reply.
|
||
|
|