Tip of the day: Check out Special users on how to give trusted users/bots more rights without making them IRCOp.

Server protocol:SVSO command

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

The SVSO command is used by services to grant a user Oper privileges.

For server writers

Below is technical documentation for server/services coders:


:server SVSO <uid|nick> <oper account> <operclass> <class> <modes> <snomask> <vhost>


  • uid|nick: The nick or UID of the target user.
  • oper account: The oper-name as it would have been shown in an Oper {} block. Doesn't have to match an actual Oper block.
  • operclass: The oper-class which this oper should use. E.g. netadmin, netadmin-with-override etc. Must be a valid oper-class.
  • class: Optional, the client class that this oper should inherit. E.g. clients, servers etc.
  • modes: Optional, the modes to be set on the user. E.g. -R, +I etc.
  • snomask: Optional, the snomask to be set on the user. E.g. bcdfkoqsBOS.
  • vhost: Optional, the vhost to be set on the user. E.g. an.awesome.oper.


  • Items marked 'Optional' must be specified, and if you want to skip them, you should specify - (hyphen) in it's place.
  • If 'oper account' references an operblock which does not exist, their oper will be visible as prefixed with services: in their /WHOIS


Oper the user Syzop as Syzop (netadmin-with-override) without specifying modes or snomask:

SVSO Syzop Syzop netadmin-with-override opers - - i.am.an.oper

Oper the user Valware as Bob (netadmin) without specifying any optional parameters:

SVSO Valware Bob netadmin - - - -


If you wish to de-oper somebody, you should use SVS2MODE <uid|nick> -o


The purpose of this command is for services packages to be able to grant oper permissions to users. This is handy for being able to dynamically select opers through your services package instead of having to mess with oper blocks.