UnrealIRCd 3.3 RPL_ISUPPORT/RPL_PROTOCTL [Numerical 005] Information & Details Last modified Monday, August 18th, 2008. [nate] RPL_ISUPPORT/RPL_PROTOCTL is the method that allows an IRCd to define to the client what all is available on its server. It allows the client software to understand and know what all protocol features are available. The numeric is sent immediately after RPL_MYINFO [Numerical 004] on connect and on a /version request. Unlike previous Unreal builds, remote /version requests uses Numerical 005 as well now intead of 105. The format of the RPL_ISUPPORT/RPL_PROTOCTL return is still the same as previous UnrealIRCd builds, with the exception only being what tokens are potentially returned, eg; `:<server> 005 <target> [<token[=value]> ...] :are supported by this server` The client interpreting these should be able to understand multiple RPL_ISUPPORT/RPL_PROTOCTL lines. UnrealIRCd 3.3 has been designed around 3.2 legacy support or utilizing 3.3's more full RPL_ISUPPORT support. This is an option selectable at Configuration point (Windows pre-compiles at this time are 3.2 legacy compiled). The following is a list of tokens returned and/or possible to be returned in RPL_ISUPPORT lines. More details for each token can be found @ http://www.unrealircd.com/files/docs/technical/rfc/isupport.txt The 'Values' of each are meant to give an example implementation with an idea of what goes there using regex style Token Type Value(s) Default Description **************************************************************************************************************** CASEMAPPING string ascii, rfc1459, ascii Specifies the casemap of the server strict-rfc1459 for determining if characters are upper/lowercase of eachother. CHANLIMIT prefix:count prefix;#, &, $ Defines the max amount of `prefix` count;[0-9] channel type(s) a client can join. Can be multiple, separated by ,. CHANMODES A,B,C,D [a-z]/i,[a-z]/i, be,kfL,lj, Available CHModes by category type. [a-z]/i,[a-z]/i psmntirRcOAQKVCuzNSMTG A; List-type modes (eg; bans, invites, exceptions). B; Modes that require a parameter to set AND unset. C; Modes that require a parameter only on setting it. D; Modes that do not require a parameter. CHANNELLEN number [0-9] 32 Max length for channel names. CHANTYPES chars #, &, + Available channel prefixes. EXCEPTS char [a-z]/i e Defines ban-exceptions are available and the mode-character for it. IDCHAN prefix:length prefix;! Notes the availability of "Safe Channels" [OPTIONAL] legnth;[0-9] This is an optional, define in ./Config. [REQUIRES 3.3 Protocol, not 3.2 Legacy compatible] INVEX char [a-z]/i I Defines that invite exceptions are on. KICKLEN length [0-9] 307 Maximum kick reason length. MAXLIST char:count [a-z]/i:[0-9] b:60,e:60,I:60 Define the max number of 'list-type' mode entries that the mode character can have. Can be multiple, separated by ,. The mode-chars can be combined (eg; bI:90) for a 'combined' maximum and so on. MODES number [0-9] 12 Maximum number of A, B and C category type modes can be set to a channel at once. NETWORK string [a-z0-9]/i Specify the name/title of the network. NICKLEN length [0-9] 20 Maximum nickname length. PREFIX (chmodes)prefixes ([a-z]/i)[.*] (qaohv)~&@%+ Assigns channel 'status' modes to prefix symbols in relative order. SAFELIST Specifies that the LIST command is sent in a way which will avoid causing the client to get killed for queue filling/flooding. STATUSMSG prefixes [.*] ~&@%+ Notes the available prefix types usable to send 'mass' NOTICE's to within a channel. STD string [a-z] rfcnnnn Defines ISUPPORT draft implementation. TARGMAX cmd:count [a-z]/i:[0-9] KICK:6,NOTICE:10, Defines max target counts for the commands PRIVMSG:20 given. Commands not listed will simply be [REQUIRES 3.3 Protocol, not 3.2 Legacy compatible] considered to allow only a single target. TOPICLEN length [0-9] 307 Maximum topic length. CMDS cmds [A-Z] MAP,KNOCK, Defines commands that the client software DCCALLOW,USERIP should know exists for usage. HCN Notes that the server supports the Hybrid Connect Notice [HCN] protocol. MAXTARGETS count [0-9] 20 Maximum targets for the PRIVMSG command. [OBSOLETE in 3.3 Protocol by TARGMAX] AWAYLEN length [0-9] 307 Maximum away message length. WATCH count [0-9] 100 Defines a Watch system is available and the maximum number of entries a user can watch. SILENCE count [0-9] 20 Defines a silence list is available and the maximum entries a user can have on it. EXTBAN prefix,types [.*],[a-z]/i ~,qncrfT Specifies extended bans supported `Prefix` specifies the symbol all extbans prefix with and `Types` specifies what extbans are available. ELIST flags [a-z]/i MNUCT Specifies the acceptable LIST options. NAMESX Specifies that extended /NAMES information is available on this server.