SorceryNet ircd modes

There are a number of modes you can set when you use SorceryNet's ircd. Some modes change the way channels work; these are called channel modes. Some modes change the things you see, or who can see you; these are called user modes. There are also some user modes reserved for staff; these are called oper modes.

 

Channel Modes

Channel modes change the way IRC channels work. Some modes, like +k and +b, are followed by an argument. Others stand on their own. For example, to make the user Argyle a channel operator (channel mode +o) in channel #socks, you might use this command:

/mode #socks +o Argyle

In some IRC programs you could use /op Argyle to do the same thing, and in others you might right-click a mouse button on a nick to op someone, but in the end it's always the same mode change that happens.

You can use the mode command with no modes after it to see the current channel modes of any channel you're in:

/mode #argyle

You can remove a mode with a - instead of a + in front of it:

To set the channel #Socks to mode +n and to take away the t mode, at the same time, you'd do this:

/mode #Socks +n-t

If you set or change several modes at a time, any arguments get strung along at the end. Hence, to set a channel called #moria to have a key of mellon and to make Balrog a channel operator, you might do:

/mode #Moria +ko mellon Balrog

This is most often used with +o and +b.

You can only change modes of a channel if you are in that channel.

You can get a list of bans in a channel like this:

/mode #chan +b

Summary of Channel Modes

+k key 

Set a channel key; in order to join the channel, people have to type something like this:

/join #chan the-key

When the key is first set, everyone in the channel will see it. If you use chanserv to set a key with mlock, the first person to enter the channel will see chanserv join the channel and kick them out; chanserv will set the key, and will stay until someone joins using it, or until 30 seconds have passed, whichever happens first.

+o nick

Makes nick be a temporary channel operator. Most IRC programs show channel operator nicks with a @ in front of them when they show who is in a channel.

/mode #sock +o Argyle

Use ChanServ's addop command to make someone be a channel operator whenever they join a channel:

/cs addop #chan nick 5

For an explanation of the 5 here:

/cs help levels
+v nick

give voice to nick; this lets nick speak in a moderated (+m) channel, or if nick is in a channel from which they've been banned but not kicked (see channel mode +b). Some channels use +v to mean something like “apprentice channel operator” (e.g. #Help) but there's nothing in ircd to support that. Most IRC programs show voiced nicks with a + in front of them when they show who is in a channel.

/mode #sock +v tubey

Use ChanServ's addop command to make someone be voiced whenever they join a channel:

/cs addop #chan nick 3

For an explanation of the number three here:

/cs help levels
+b mask 

Bans all users matching mask from the channel.

See the section on masks for more information. You can ban people who have host masking (user mode +m) and whose masks end in msk, just the same as unmasked users.

A ban mask starting with % is matched against only non-masked addresses, so that yuo can avoid accidentally matching a string that occurs in a computer-generated host mask.

Banning disruptive users from a channel is one of the most important things that channel operators do. If you set a ban badly, a banned user might be able to come back into the channel, so it's worth understanding bans and masks well.

Experimental Features

There are four kinds of experimental ban on SorceryNet. You can try these on the test net. You use them by putting a letter followed by a dollar sign as the argument to +b, as you'll see.

Note that ordinary (non-experimental) bans are matched first, and if there's a match, the user trying to join a channel is banned without any of the experimental bans beng used.

  1. mask bans are used to ban masked users from a channel. Before entering such a channel, you should read the description of the experimental +H channel mode, so that you don't give your IP address away to someone who wants to do you mischief.

    A mask ban has a leading m: on the ban; to ban all masked users from entering #zorro you'd use this:

    /mode #zorro +b $m
  2. required channel bans are used to forbid people from entering your channel unless they are also in some other channel. For example, to stop people coming into #sock unless they are also in #shoe you could do this:

    /mode #sock +b $r:#shoe

    One use for this might be to make a channel where people are not disturbed: people join #foyer and then #theatre, and although outsiders who are akicked from #theatre can join and get kicked out by chanserv, they can't get easily into #theatre, so perhaps that will cut doen on disruption there. This is a very experimental feature, however.

    You can also reverse the sense of this ban, with !, and then users can only join if they are not in the named channel

    /mode #shoe +b $!r:#slipper

    Now, people can't join #shoe if they are also in #slipper.

    You might use this temporarily if you are getting channel raids, for example, with people from some other channel joining and beinga nuisance.

  3. Be Quiet bans are used to let people join a channel but be unable to speak:

    /mode #sock +b $q:Ankh!*@*.w3.org

    Normally, if you ban someone while they are in a channel, they can no longer speak in that channel unless they are voiced (+v) or a channel operator (+o), but if they leave the channel they can't ever rejoin. With this sort of ban, you can let them join the channel but not speak.

    Presumably you'd only do this for a short time, since they could still communicate through channel part messages.

  4. gecos bans match the user's gecos field instead of the usual mask. The gecos field is usually called realname or ircname in IRC programs (GECOS was a Honeywell operating system in the 1960s and 70s, if you are wondering).

    For example, to ban anyone with subseven in their gecos field, you could use:

    /mode #sock +b $g:*subseven*
+l n

Limit the channel to at most n users; for example, if you limit #glove to five users, the sixth person trying to join will be told the channel is full:

/mode #glove +l 5

You can't combine +l with other modes in the same command.

+i

Invite only: people can only join this channel if a channel operator uses the /invite command:

/mode #glove +i
/invite #glove thumb

You can also use ChanServ to invite you to a +i channel:

/cs invite #glove me

You actually type me, not your nick, in that command.

+p

Private: a private channel is the same as a secret (+s) channel) except that it generates an entry with no name or topic in the channel list, so people can see how many private channels there are.

This is essentially useless and will probably be changed in the future.

+s

Secret: a secret channel is not shown in channel list output from the /list command unless you are in the channel. In addition, secret channels don't show up in the output of /who or /whois, so you can't tell that someone is in a secret channel unless you are in it too.

A channel can't be both +s and +p at the same time.

+m

Moderated; No-one can speak except channel operators (channel mode +o) and voiced users (with channel mode +v).

It's sometimes useful to set a channel to +m if it's being flooded, or if several visitors are being rude; often the simplest way to do this is with ChanServ:

/cs mlock #glove +m

You can remove the mode lock afterwards:

/cs mlock #glove -m
+t

topic can only be changed by channel operators. See also

/cs help topiclock
+n

no outsiders: if this mode is set, people have to be in the channel to speak in it. Otherwise, you can speak in a channel you're not inside:

/msg #sock the shoe is coming!

Since this is disruptive, and since you can't ban people who aren't in your channel to start with, this mode is set by default.

+H Host Mode: when a channel has this flag set, you have to join it in a special way, so that the channel operators can see your Internet Address (your IP). This is an Experimental feature only available on the test net.
+c A channel with this mode set doesn't allow mIRC or ANSI colours to be used in messages. This is an Experimental feature only available on the test net.

 

User Modes

User modes are very like channel modes, except that you apply them to a nick instead of a channel, and there aren't any right now that take arguments like the +k channel mode.

Summary of User Modes

+iinvisible unless you're in the same channel
+swatching server notices
+wwatching wallops
+kwatching kills
+mmasked internet address, so other users can't easily try to gain access to your computer; see the section on masks below.
+rhas a registered nick (currently unused)

 

Oper Modes

Oper modes are user modes that only staff can use. Usually this is because if anyone could use them, people could be very disruptive. In some cases it's because staff need to control what information they see, depending on how busy they are and on whether they can do anything about it or not.

Being an IRC operator on a busy network is like being an operator on a very busy channel: it can be a lot of work, and sometimes it stops being fun. Staff can use the /oper and /deoper commands to go on and off duty, as it were; when they are not opered, staff can't use any of the oper modes.

Summary of Oper Modes

+ooper
+Olocal oper
+gwatching failed oper attempts (non-opers can set this mode, but not see anything useful with it)
+hhelpop - can use sendpass and can see /quote help stuf
+cwatching client connect and exits
+fwatching flood notices
+lcan log with /LOG
+ttrojan, can see /trojan messages (like globops, but also generated when a su7 server is detected); currently unused
 

Masks

When you ban someone from a channel, you use a special kind of pattern called a mask to match them. Everyone that the mask matches will be kept out of the channel, so you can easily ban a lot more people than you expect.

With a little practice, you'll find it easy to ban people effectively, and your channel will run more smoothly.

A mask has three parts: the nick, the username and the hostname. The first of these is pretty obvious. Nicks and hostnames on IRC are not case sensitive, so that ankh and ANKH are the same user as far as IRC is concerned. Usernames are case sensitive.

A mask looks like nick!username@hostname and that's how you use it in a channel ban too.

You can find out a user's current username and hostname with the whois command, or with the userhost command in some IRC programs.

Very often you'll see someone on a dialup or cable modem will look like this:

jim6!james@ppp-18-3-128-92.tether.mit.edu

It's a good guess that if jim disconnects his modem and then redials, he'll get a new hostname, with the numbers changed.

If we need to ban jim6 from #sock, we might do this:

/mode #sock +b *!james@ppp-*.tether.mit.edu

You can see that we've used a star (*) instead of the group of numbers that's most likely to change, and also a star instead of the nick. The star in a mask matches anything, so that this ban means any nick at all with a username of james and a hostname starting with ppp- and ending in .tether.mit.edu.

If jim had user mode +m set, you wouldn't be able to see his hostname. Instead, you'd see something like this:

jim6!james@cea941b6d.tether.c6e4.edu-hmsk

It turns out that you can still ban jim from your channel just as effectively:

/mode #sock +b *!james@*.tether.c6e4.edu-hmsk

Just be careful to include the -hmsk, .hmsk or .imsk at the end!

Sometimes a user's hostname will be numeric, an Internet Protocol host address:

sue!ellen@192.168.1.3

This means that our irc server couldn't find the proper hostname for that user (often a problem at the ISP). You can still ban such users, but the trick is that the leftmost number varies the least:

/mode #sock +b *!ellen@192.168.*.*

would probably be an effective ban.

If sue had her address masked, she'd look like this:

sue!ellen@3.1.c6e9.b41a.imsk

Notice how the first two numbers, 3 and 1, are the same as the last two numbers in the actual numeric host address. You can still ban her:

/mode #sock +b *!ellen@*.c6e9.b41a.imsk

Again, be very careful to include the .imsk or the ban won't work.

If you have problems, or if it's all too confusing, you can always come and visit us in #Help and we'll try and show you in more detail. The mIRC IRC program for Windows has a tutorial on banning people, too.

Valid XHTML 1.0! Valid CSS!