]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - conf/modules.conf.example
Few minor helpop updates..
[user/henk/code/inspircd.git] / conf / modules.conf.example
index a37c412e4fc2bf30a1e67f5c646475ed5b8b4b5e..262233ee3565dad11fe95610351140a6846db796 100644 (file)
 #   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
 #                                                                     #
 # To link servers to InspIRCd, you MUST load the m_spanningtree       #
-# module, as shown below. If you DO NOT do this, server links will    #
-# NOT work at all. ie. The ports will NOT bind, and /connect will not #
-# work properly. This is by design, to allow for the implementation   #
-# of other linking protocols in modules in the future.                #
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Spanning Tree module - allows linking of servers using the spanning
-# tree protocol (see the READ THIS BIT section above).
-# You will almost always want to load this.
-#
-#<module name="m_spanningtree.so">
-
+# module. Since several features (like SSL server links) rely on      #
+# other modules being loaded before m_spanningtree, the module itself #
+# is at the bottom of this file. DO NOT forget to load it. If you DO  #
+# NOT do this, server links will NOT work at all. ie. The ports will  #
+# NOT bind, and /connect will not work properly. This is by design,   #
+# to allow for the implementation of other linking protocols in       #
+# modules in the future.                                              #
+#                                                                     #
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # MD5 Module - Allows other modules to generate MD5 hashes, usually for
 # Alias module: Allows you to define server-side command aliases
 #<module name="m_alias.so">
 #
+# Fantasy settings:
+#
+#<fantasy prefix="!" allowbots="no">
+#
+# prefix:
+#  Set the prefix for in-channel aliases (fantasy commands) to the
+#  specified character. If not set, the default is "!".
+# allowbots:
+#  If this is set to no, +B clients will not be able to use fantasy
+#  commands. If not set, the default is no.
+#
 #-#-#-#-#-#-#-#-#-#-#-  ALIAS DEFINITIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
 # If you have the m_alias.so module loaded, you may also define       #
 #                    matched, or it has no format value. Aliases are  #
 #                    read from the top of the file to the bottom.     #
 #                                                                     #
+# usercommand -      If this is true, the alias can be run simply as  #
+#                    /aliasname. Defaults to true.                    #
+#                                                                     #
+# channelcommand -   If this is true, the alias can be used as an     #
+#                    in-channel alias or 'fantasy command', prefixed  #
+#                    by the fantasy prefix character, !aliasname by   #
+#                    default. Defaults to false.                      #
+#                                                                     #
 # format      -      If this is defined, the parameters of the alias  #
 #                    must match this glob pattern. For example if you #
 #                    want the first parameter to start with a # for   #
 #
 #<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-"
 #  requires="NickServ" uline="yes">
+#
+# You may also add aliases to trigger based on something said in a
+# channel, aka 'fantasy' commands, configured in the same manner as any
+# other alias, with usercommand="no" and channelcommand="yes" The
+# command must be preceded by the fantasy prefix when used.
+#
+#<alias text="CS" usercommand="no" channelcommand="yes"
+#  replace="PRIVMSG ChanServ :$1 $chan $2-" requires="ChanServ" uline="yes">
+#
+# This would be used as "!cs <command> <options>", with the channel
+# being automatically inserted after the command in the message to
+# ChanServ, assuming the fantasy prefix is "!".
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Allowinvite module: Gives channel mode +A to allow all users to use
 # <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident
 # <cgihost type="passfirst" mask="www.mysite.com">  # See the docs
 # New style:
-# <cgihost type="webirc" pass="foobar"
+# <cgihost type="webirc" password="foobar"
 #   mask="somebox.mysite.com">                      # Get IP from WEBIRC
 #
 # IMPORTANT NOTE:
 # Chanprotect module: gives +q and +a channel modes
 #<module name="m_chanprotect.so">
 
+<chanprotect
+       # noservices: With this set to no, when a user joins a empty channel,
+       # the server will set +q on them. If set to yes, it will only set +o
+       # on them until they register the channel.
+       noservices="no"
+
+       # qprefix: Prefix (symbol) to use for +q users.
+       qprefix="~"
+
+       # aprefix: Prefix (symbol) to use for +a users.
+       aprefix="&"
+
+       # deprotectself: If this value is set (true, yes or 1), it will allow
+       # +a and +q users to remove the +a and +q from themselves, otherwise,
+       # the status will have to be removed by services.
+       deprotectself="yes"
+
+       # deprotectothers: If this value is set to yes, true, or 1, then any
+       # user with +q or +a may remove the +q or +a from other users.
+       deprotectothers="yes">
+
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Check module: gives /check
 # Check is useful for looking up information on channels,
 # over whole ISPs/blocks of IPs, which may be needed to prevent attacks.
 #
 #<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128">
-# This allows for 10 quits in an hour with a 10 minute ban if that is exceeded.
+# This allows for 10 connections in an hour with a 10 minute ban if that is exceeded.
 #
 #<module name="m_connectban.so">
 
 # http stats module: Provides basic stats pages over HTTP
 # Requires m_httpd.so to be loaded for it to function.
 #<module name="m_httpd_stats.so">
-#
-#-#-#-#-#-#-#-#-#-#-#-#- HTTPD STATS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
-#
-#<httpstats stylesheet="http://remote.style/sheet.css">
-#
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Ident: Provides RFC 1413 ident lookup support
 # the user in a 'connecting' state until the lookup is complete.      #
 # The bind value indicates which IP to bind outbound requests to.     #
 #                                                                     #
-#<ident timeout="5" bind="">
+#<ident timeout="5">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Invite except module: Adds support for channel invite exceptions (+I)
 # need defining, otherwise they should be set similar to the examples #
 # above.                                                              #
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# LDAP oper configuration module: Adds the ability to authenticate    #
+# opers via LDAP. This is an extra module which must be enabled       #
+# explicitly by symlinking it from modules/extra, and requires the    #
+# OpenLDAP libs. Re-run configure with: ./configure --enable-extras=m_ldapoper.cpp
+# and run make install, then uncomment this module to enable it.      #
+#                                                                     #
+#<module name="m_ldapoper.so">
+#                                                                     #
+# Configuration:                                                      #
+#                                                                     #
+# <ldapoper baserdn="ou=People,dc=brainbox,dc=cc"
+#           server="ldap://brainwave.brainbox.cc"
+#           searchscope="subtree"
+#           binddn="cn=Manager,dc=brainbox,dc=cc"
+#           bindauth="mysecretpass">
+#                                                                     #
+# Available configuration items are identical to the same items in    #
+# m_ldapauth above.                                                   #
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Lock server module: Adds /LOCKSERV and /UNLOCKSERV commands that is #
 # used to temporarily close/open for new connections to the server.   #
 #
 #<module name="m_lockserv.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Map hiding module: replaces /MAP and /LINKS output to users with a  #
+# message to see a website, set by maphide="http://link.to/site" in   #
+# the security tag, instead.                                          #
+#<module name="m_maphide.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Msg flood module: Adds message/notice flood protection (+f)
 #<module name="m_messageflood.so">
 # This is supported by mIRC, x-chat, klient, and maybe more.
 #<module name="m_namesx.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# National characters module:
+# 1) Allows using national characters in nicknames.
+# 2) Allows using custom (national) casemapping over the network.
+# file -- filename of existing file in "locales" directory
+# casemapping -- custom value for 005 numeric (if you want it to be
+# different from the filename.
+#
+#<nationalchars file="bynets/russian-w1251-charlink" casemapping="ru_RU.cp1251-charlink">
+#<module name="m_nationalchars.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Nickchange flood protection module: Allows up to X nick changes in Y seconds.
 # Provides channel mode +F.
 # mask from changing their nick.
 #<module name="m_nonicks.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# No part message module: adds extban 'p' to block part messages from #
+# matching users.                                                     #
+#<module name="m_nopartmsg.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # No Notice module: adds the channel mode +T
 #<module name="m_nonotice.so">
 # This module is oper-only.
 #<module name="m_operchans.so">
 
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper flood module: Removes flood limits from users upon opering up
-# This module is oper-only.
-#<module name="m_operflood.so">
-
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Oper invex/extban module: Adds +beI type O, to ban, exempt, and invex
 # given oper type masks.
 # This module is oper-only.
 #<module name="m_operlog.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Oper prefixing module: Gives IRC operators a prefix status character
+# on all channels they are in.
+#
+#<module name="m_operprefix.so">
+#
+# You may additionally customise the prefix character.
+#<operprefix prefix="!">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Oper MOTD module: Provides support for seperate message of the day
 # on oper-up
 #                                                                     #
 # If you are using the m_opermotd.so module, specify the motd here    #
 #                                                                     #
-#<opermotd file="oper.motd">
+# onoper      -      Should the message be sent on /OPER or only when #
+#                    /OPERMOTD is used. Use "yes" or "no".            #
+#                                                                     #
+#<opermotd file="oper.motd" onoper="yes">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Override module: Adds support for oper override
 # alternative to /KICK
 #<module name="m_remove.so">
 
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Restrict banned users module:
-# Disallows banned users on a channel from messaging the channel,
-# changing nick, or changing the topic, if loaded.
-#<module name="m_restrictbanned.so">
-
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Restricted channels module: Allows only opers to create channels
 #<module name="m_restrictchans.so">
 # To use, SAQUIT must be in one of your oper class blocks.
 #<module name="m_saquit.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# SATOPIC module: Adds the oper /SATOPIC command
+# This module is oper-only.
+# To use, SATOPIC must be in one of your oper class blocks.
+#<module name="m_satopic.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # SASL authentication module: Provides support for IRC Authentication 
 # Layer (aka: atheme SASL) via AUTHENTICATE.
 # To use, SETIDLE must be in one of your oper class blocks.
 #<module name="m_setidle.so">
 
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Services support module: Adds several usermodes such as +R and +M
-# this module implements the 'identified' state via user mode +r, which
-# is similar to the DALnet and dreamforge systems.
-#     
-# N O T E!!
-#  >>  This CAN NOT be used at the same time as m_services_account <<
-# N O T E!!
-# *** This module DOES NOT support Atheme services, please use ***
-# *** m_services_account if you are planning on using Atheme.  ***
-#<module name="m_services.so">
-
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Services support module: Adds several usermodes such as +R and +M
 # this module implements the 'identified' state via account names (AC)
 # and is similar in operation to the way asuka and ircu handle services.
 #
+# At the same time, this offers +r for users and channels to mark them
+# as identified seperately from the idea of a master account, which
+# can be useful for services which are heavily nick-as-account centric.
+#
+# This replaces m_services from 1.1 and earlier.
+#
 # Also of note is that this module implements two extbans:
 # +b R: (stop matching account names from joining)
 # +b M: (stop matching account names from speaking)
 #                                                                       
-# N O T E!!
-#  >>  This CAN NOT be used at the same time as m_services <<
-# N O T E!!
 #<module name="m_services_account.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # to see when they are whois'ed (can be annoying).
 # This module is oper-only.
 #<module name="m_showwhois.so">
+#
+# If you wish, you may also let users set this mode. Only opers with the
+# users/auspex priv will see real hosts of people, though. This setting
+# is not reloadable via /rehash, and will require /reloadmodule, as
+# it directly affects the mode object itself.
+#<showwhois opersonly="yes"
+#
+# You may also set whether or not users should recieve whois notices, should
+# they be /whois'd by an oper.
+# showfromopers="yes">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Shun module: Provides the /shun command, which stops a user executing 
 # perform. It should be noted that if a shunned user issues QUIT or PART
 # then their message will be removed, as if they did not issue one.
 #
-# You may also (optionally) let the user know that their command was blocked.
-#<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="yes">
+# You can (optionally) let the user know that their command was blocked.
+#
+# You may also let SHUN affect opers (defaults to no).
+#<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="yes" affectopers="no">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Spy module: Provides the ability to see the complete names list of 
 # <link> tags or <bind> tags using the transport name 'zip'.
 # See the documentation of <link> and <bind>, respectively.
 #
+
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+#    ____                _   _____ _     _       ____  _ _   _        #
+#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
+#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
+#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
+#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
+#                                                                     #
+# To link servers to InspIRCd, you MUST load the m_spanningtree       #
+# module. Since several features (like SSL server links) rely on      #
+# other modules being loaded before m_spanningtree, the module itself #
+# is at the bottom of this file. DO NOT forget to load it. If you DO  #
+# NOT do this, server links will NOT work at all. ie. The ports will  #
+# NOT bind, and /connect will not work properly. This is by design,   #
+# to allow for the implementation of other linking protocols in       #
+# modules in the future.                                              #
+#                                                                     #
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Spanning Tree module - allows linking of servers using the spanning
+# tree protocol (see the READ THIS BIT section above).
+# You will almost always want to load this.
+#
+#<module name="m_spanningtree.so">
+
+