Tip of the day: Channel mode +f is a powerful anti-flood feature. It is also slightly complex. Enable it in your most important channels, and consider setting a default in set::modes-on-join.

Server protocol:SMOD command

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

The SMOD command is used to communicate loaded modules on the server.

This is usually only used by UnrealIRCd to communicate and detect potentially missing modules which are marked as either global or required.

May still be useful for pseudo-servers who still wish to know this information for whatever reason.

For now, this is only communicated during the connection exchange; unloading or loading modules after a server is fully connected will not communicate this event with other servers.

Syntax

 SMOD :X:module-name:version X:module-name:version X:module-name:version ... etc 

Where:

  • X = The type of your module. One of R, L, G (See below)
  • module-name = The name of the module as shown in the header of that module.
  • version = The version of the module as shown in the header of that module.

There can be any amount of items in the buffer (within the buffer constraints) and there may be more than one line of `SMOD` communicated during connection.

Types

The three types you can expect to see are:

  • R - The server has a `require module` block for that module. (See Require module block).
  • L - The module is marked as 'Local' (not required to be loaded on every server on the network)
  • G - The module is marked as 'Global' (is required to be loaded on every server on the network)


Example of inbound SMOD command

This example uses `737` as the incoming Server ID (SID) which is telling us about it's modules.

Note: For outbound commands you won't need to prefix with your Server ID, but it won't break if you do.

:737 SMOD :L:kick:5.0 L:join:5.0 L:ison:5.0 L:invite:5.0 L:away:5.0 L:admin:5.0 L:cloak_sha256:1.0 G:third/chgswhois:1.0 G:third/helpop:1.4 G:third/nicklock:1.1 G:third/sacycle:1.1 R:third/metadata:6.0 R:third/react2:0.1 L:reputation:1.2 L:blacklist:5.0 L:tls_antidos:5.0 L:ident_lookup:1.0