Tip of the day: Did you know that users are put in the security-group known-users based on their reputation score or if they are identified to Services?

Users in this group receive a number of benefits, such as being able to send more messages per minute.

Server protocol:SINFO command

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

The SINFO command is used to communicate server feature information.

For users

IRCOps can use the SINFO command to see server feature information.

For server writers

Below is technical documentation for server/services coders:

Syntax

:server SINFO up_since protocolversion umodes chanmodes nickchars :software name

Where:

  • up_since: boottime of the server (UNIX timestamp)
  • protocolversion: see Server protocol:Protocol version.
  • umodes: list of usermodes available on the server
  • chanmodes: list of channel modes available on the server (syntax identical to CHANMODES= in 005)
  • nickchars: nick character set used on the server
  • software name: name of the software on the server

Note that currently there are 6 parameters. In the future it may be extended to be 7, 8 or more, but these new elements will always be inserted BEFORE software name, since software name will always be the last parameter because it may contain spaces.

Example

:testlink2.test.net SINFO 1553359014 4203 iowrsxzdHtIDZRqpWGTSB beI,kLf,l,psmntirzMQNRTOVKDdGPZSCc cat,dut,fre,ger,ita,spa,swe :UnrealIRCd-4.2.3-dev+(debug).

How to use

Servers NEVER send SINFO information about themselves. The PROTOCTL command is used to convey this information. So you receive information from directly linked servers always via PROTOCTL, and from servers behind that always via SINFO (if supported).

Only for leafs behind you, you may send SINFO information. Such as when the leaf behind you is authenticated and linking in, or a PROTOCTL change at runtime.

As a services developer you will probably never send a SINFO command to any server. But you will still receive them, and can interpret them if you want to.

Purpose

The information received via PROTOCTL and SINFO can be used in a number of ways, not only for displaying purposes.

Module coders

For people coding UnrealIRCd modules:

The up_since can be accessed via acptr->serv->boottime and the featureset of a server can be accessed (see src/modules/m_sinfo.c) via acptr->serv->features.xyz, where xyz is (at time of writing) one of: usermodes, chanmodes[], protocol, software and nickchars.