Levels

From Chat4AllFAQ
Revision as of 02:19, 17 February 2011 by Unknown Entity (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Levels system is an alternative to the xOP channel access system. This method allows for finer control of various channel features and user rights as opposed to the predefined VOP/HOP/AOP/SOP/ used in the xOPs system. Read on for the details.

Syntax and Enabling

First things first, you will have to disabled the xOP system to be able to use the Levels system on your channel:

 /CHANSERV SET #channel XOP off 

Your current xOP user access list will be converted into the Levels system automatically, following this conversion table:

 xOP -> LEVEL
 -----------
 VOP ->  3
 HOP ->  4
 AOP ->  5
 SOP -> 10

From here on, you will not be able to use the old xOP edit commands to maintain user accesses, unless you switch back to the xOP system (which typically isn't recommended to do). So, the following does NOT work anymore:

 /CHANSERV [VOP|HOP|AOP|SOP] #channel ADD nick

Instead you will have to assign an access level instead, using the following command syntax:

 /CHANSERV ACCESS #channel ADD nickname level

For instance, to grant aRandomUser the equivalent rights of HOP on your channel #testingIsFun, you have to issue the following command:

 /CHANSERV ACCESS #testingIsFun ADD aRandomUser 4

Basic Access commands overview

Now for some basic access list management commands:

Access List

Viewing the access list:

 /CHANSERV ACCESS #channel LIST

Access Add

Adding a registered user to the access list:

 /CHANSERV ACCESS #channel ADD nickname level

For instance, assigning level 5 (the equivalent of AOP) to the user DennisOpper on channel #filmfreaks:

 /CHANSERV ACCESS #filmfreaks ADD DennisOpper 5

Access Del

Removing a registered user from the access list:

 /CHANSERV ACCESS #channel DEL nickname

For instance, removing the user DennisOpper from the access list of channel #filmfreaks:

 /CHANSERV ACCESS #filmfreaks DEL DennisOpper

Basic Levels commands overview

And an overview of the basic levels commands, which are used to indicate which commands a certain numeric level has access to:

Levels Desc

See the complete list of possible LEVELS descriptions:

 /CHANSERV HELP LEVELS DESC

It shows a list of the possible levels and what they do. These will be described in more detail, along with their default levels in the #Channel_Options Channel Options section.

Levels List

See a rather large list of all configurable channel options and their current minimum required levels:

 /CHANSERV LEVELS #channel LIST

This will for instance show:

 KICKME       5

which means you'll need at least level 5 before you can kick yourself. Another one from the list:

 AUTOPROTECT  10

which means you need at least level 10 before you will automatically get channel-usermode +a (admin/PROTECT).

A complete list of options is in the Channel Options section.

AutoVoice everyone

If you want to auto-voice everyone who enters your channel, you can lower the minimum required level for AUTOVOICE to 0 (the default user level)

 /CHANSERV LEVELS #channel SET autovoice 0

Channel Options

With the Levels system comes the ability to set what level of user can use a given function or gain a specific channel status. This is the complete list as extracted from /CHANSERV help levels desc

Notes:

  1. Casing was added to the option names for readability
  2. 'Disabled' as the default level means 'Restricted to Founder'

User statuses

Option Description Default Min.Level
AutoDeOp Disallow a user operator access, even if someone manually ops with /mode #channel +o nickname -1
AutoHalfop Automatic halfop (+h) on join (Same effect as /CHANSERV HOP in xOP) 4
AutoOp Automatic op (+o) on join. (Same as /CHANSERV AOP in xOP) 5
AutoProtect Automatic admin/protected op (+a) on join. (Same as /CHANSERV SOP in xOP) 10
AutoVoice Automatic voice (+v) on join. (Same as /CHANSERV VOP in xOP) 3
NoJoin Disallowed to join the channel. -2
SignKick Kick messages done through ChanServ or a Services Bot will not be signed when the level is equal or above this number if /CHANSERV SET #channel SIGNKICK LEVEL is set.
However, this seems to be broken currently in the Anope services, since it will always sign regardless of level.
Disabled
Acc-List Permit the viewing of the access list via /CHANSERV access #channel list (useful if you want to let people see who your channel staff is) 1
Acc-Change Permit the modification of the access list 10
AKick Permit the use of the AKick command. 10
Set Permit the use of /CHANSERV SET, except for the FOUNDER and PASSWORD options which remain restricted to the channel founder. Disabled
Ban Permit the banning of users via ChanServ's /CHANSERV BAN 5
BanMe Permits you to...ban yourself! (through /CHANSERV BAN) 5
Clear Permit the use of the Clear command (/CHANSERV CLEAR) Disabled
GetKey Permit a user to get the channel key of a +k channel with /CHANSERV GETKEY 5
HalfOp Permit the use of the /CHANSERV HALFOP and /CHANSERV DEHALFOP commands on others. 5
HalfOpMe Permit the use of /CHANSERV HALFOP and /CHANSERV DEHALFOP on yourself. 4
Info Permit the viewing of the output of all info (/CHANSERV INFO #channel ALL) instead of basic info only. Disabled
Kick Permits use of /CHANSERV KICK on others 5
KickMe Permits use of /CHANSERV KICK on yourself 5
Invite Allows to INVITE yourself in the channel with /CHANSERV INVITE #channel 5
OpDeop Permits use of /CHANSERV OP and /CHANSERV DEOP on others 5
OpDeopMe Permits use of /CHANSERV OP and /CHANSERV DEOP on yourself 5
Protect Permits use of /CHANSERV PROTECT and /CHANSERV DEPROTECT on others Disabled
ProtectMe Permits use of /CHANSERV PROTECT and /CHANSERV DEPROTECT on yourself 10
Topic Permits changing of the channel topic. Disabled
Unban Permits removing all bans that would prevent you from entering the channel with /CHANSERV UNBAN #channel 5
Voice Permits use of /CHANSERV VOICE and /CHANSERV DEVOICE on others 5
VoiceMe Permits use of /CHANSERV VOICE and /CHANSERV DEVOICE on yourself 3
Memo Permits the reading of channel memos sent to the channel via MemoServ (/MEMOSERV READ #channel) 10
Assign Permits the (un)assigning of a Services Bot Disabled
BadWords Permit the manipulation of the Badwords list of a Services Bot (useless unless you have one assigned to your channel) 10
Fantasia Permit the use of 'fantasy commands', such as !op, !kick, etc. (Proper access is still required for some functions, like user statuses, kicks and bans) 3
Greet Users this level and above will have the greet message they set with NickServ displayed by a Services Bot when they join (useless without a bot assigned to your channel) 5
NoKick Users this level and above will *not* be affected by any bot kick triggers, like flood, badwords, etc 1
Say Permits the use of /BOTSERV SAY and /BOTSERV ACT, to talk through a Services Bot (useless without a bot assigned to your channel) 5

Additional LEVELS options

Disable the given option, restricting it to founder only

  /CHANSERV LEVELS #channel DISABLE option 

Reset all the levels on options to their default settings (which are shown in the above table):

  /CHANSERV LEVELS #channel RESET 

Additional ACCESS options

Delete a user from the access list (this will reset them to level 0)

  /CHANSERV ACCESS #channel DEL nickname

For instance to revoke DennisOpper's access level on channel #filmfreaks, type:

 /CHANSERV ACCESS #filmfreaks DEL DennisOpper

Note: You may also use the entry number from the LIST command in place of a nick. This will let you provide a list of numbers for mass removal

  /CHANSERV ACCESS #channel DEL 1-3,5,13 

You can also first view the list of affected nicknames to be sure you have the right numbers with:

  /CHANSERV ACCESS #channel LIST 1-3,5,13 

Wipe out the entire access list in one go

  /CHANSERV ACCESS #channel CLEAR 

Secure Combinations

Other useful options to use in conjunction with LEVELS:

Secure Ops

  /CHANSERV SET #channel SECUREOPS ON 

Users who are not on the channel's ACCESS list, will not be allowed chanop status.

Secure Channel

  /CHANSERV SET #channel SECURE [OFF|ON]

This setting is a tricky one.. /CHANSERV HELP SET SECURE describes it as follows:

 Enables or disables ChanServ's security features for a channel.  
 When SECURE is set, only users who have registered their nicknames with NickServ 
 and IDENTIFY'd with their password will be given access to the channel as controlled by the access list.                       

However, it does not mention how NickServ's ACCESS and SECURE settings are in effect as well.

For your NickServ account you can add your current hostname to the ACCESS list (/NICKSERV ACCESS ADD *@*.your.host). This will automatically semi-identify you for your nickname if you connect from a host on your NickServ Access list. If your NickServ SECURE setting is OFF (/NICKSERV SET SECURE OFF), it will even grant you access to chanserv commands based on the access level of the nick you are using. But, only when the channel's SECURE setting is set to OFF.

So, here's a quick overview of what is possible with /CHANSERV SET #channel SECURE OFF:

  1. Your current hostname appears on the NICKSERV ACCESS list of your current nickname.
  2. Your current nickname has NICKSERV SECURE set to OFF
  3. The channel's CHANSERV SECURE setting is set to OFF
  4. Your nickname is on the channels CHANSERV ACCESS list with a level greater or equal to the OPDEOPME LEVEL
  5. You can use /CHANSERV OP #channel now

But with /CHANSERV SET #channel SECURE ON:

  1. Your current hostname appears on the NICKSERV ACCESS list of your current nickname.
  2. Your current nickname has NICKSERV SECURE set to OFF
  3. The channel's CHANSERV SECURE setting is set to ON
  4. Your nickname is on the channels CHANSERV ACCESS list with a level greater or equal to the OPDEOPME LEVEL
  5. You can not use /CHANSERV OP #channel now

The only way you can use the CHANSERV commands when /CHANSERV SET #channel SECURE ON is in effect, is by being identified for your registered nickname through NickServ.


Restricted channel

 /CHANSERV SET #channel RESTRICTED [OFF|ON]

This setting is a bit tricky too (and seems slightly broken..)

 /CHANSERV HELP SET RESTRICTED

describes it as follows:

 Enables or disables the restricted access option for a channel. 
 When restricted access is set, users who would normally be disallowed from having channel operator privileges 
 (users with negative access levels and, if secure ops is set, users not on the access list) 
 will instead be kicked and banned from the channel.

This would mean that if you only have RESTRICTED ON and SECURE/SECUREOPS are OFF, anyone that is not on the accesslist with a negative level (-1), should be allowed in the channel. However, in practise it seems to disregard the SECUREOPS setting and disallow everyone who is NOT on the ChanServ Access list at all.

So, effectively if you use:

  /CHANSERV SET #channel RESTRICTED ON 

you will automatically be kick-banned if you are not on the access list. You will also be automatically kick-banned if you are on the access list, but weren't (semi-)identified for your nickname upon joining the channel. So you need to make sure you are identified before you join a restricted channel.

If ChanServ SECURE is also set to ON for the restricted channel, users have to be identified for their nicks through NickServ before entering the channel, otherwise they'll be kickbanned as well. If CHANSERV SECURE is off, they will also be allowed if their host matches their NickServ Access list and NickServ Secure setting.

About semi-identified

You are semi-identified when:

  1. You have a registered nickname
  2. You are NOT identified for that nickname through /NICKSERV IDENTIFY
  3. Your NickServ SECURE setting is set to OFF (please note that this by default is set to ON)
  4. You are connected from a host that matches the hostmask in your /NICKSERV ACCESS LIST

Channels will only grant you the appropriate rights if its ChanServ SECURE setting is OFF. If the channel's ChanServ SECURE is set to ON, it will require users to be identified for their nicknames before regarding them as the registered user.