]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - doc/reference.conf
Fix a few errors in the example configs (caused errors on starting the ircd).
[irc/rqf/shadowircd.git] / doc / reference.conf
index 672946d7477bea63620d9eefac2c2d36c3196563..3f33a41db730f63d740ea3416268722c2dc40a08 100755 (executable)
  * New host mangling (umode +x)                      -- ip_cloaking.so
  * Find channel forwards                             -- m_findforwards.so
  * /identify support                                 -- m_identify.so
+ * /mkpassword support                               -- m_mkpasswd.so
+ * Send message to all admins network-wide           -- m_adminwall.so
+ * /oaccept - add to target's accept list, oper only -- m_oaccepet.so
+ * /opme - op self in opless channels, admin only    -- m_opme.so
+ * /ojoin - join despite restrictions, admin only    -- m_ojoin.so
+ * /omode - force modes in channels, admin only      -- m_omode.so
+ * /olist - see all channels in /list, oper only     -- m_olist.so
+ * /forcejoin - force join users, admin only         -- m_force.so
  * Opers cannot be invisible (umode +i)              -- no_oper_invis.so
  * Far connection notices (snomask +F)               -- sno_farconnect.so
  * Remote k/d/x line active notices                  -- sno_globalkline.so
  * Remote oper up notices                            -- sno_globaloper.so
  * /whois notifications (snomask +W)                 -- sno_whois.so
- * Force join users to channels                      -- m_force.so
  */
 #loadmodule "extensions/chm_adminonly.so";
 loadmodule "extensions/chm_operonly.so";
@@ -90,12 +97,20 @@ loadmodule "extensions/extb_realname.so";
 loadmodule "extensions/ip_cloaking.so";
 #loadmodule "extensions/m_findforwards.so";
 loadmodule "extensions/m_identify.so";
+loadmodule "extensions/m_mkpasswd.so";
+#loadmodule "extensions/m_adminwall.so";
+#loadmodule "extensions/m_oaccept.so";
+#loadmodule "extensions/m_opme.so";
+#loadmodule "extensions/m_ojoin.so";
+#loadmodule "extensions/m_omode.so";
+#loadmodule "extensions/m_olist.so";
+#loadmodule "extensions/m_force.so";
 #loadmodule "extensions/no_oper_invis.so";
 loadmodule "extensions/sno_farconnect.so";
 loadmodule "extensions/sno_globalkline.so";
 loadmodule "extensions/sno_globaloper.so";
 #loadmodule "extensions/sno_whois.so";
-#loadmodule "extensions/m_force.so";
+
  
 /* serverinfo {}:  Contains information about the server. (OLD M:) */
 serverinfo {
@@ -406,6 +421,9 @@ privset "local_op" {
         * oper:xline:           allows use of /quote xline/unxline
         * oper:resv:            allows /quote resv/unresv and cmode +LP
         * oper:operwall:        allows the oper to send/receive operwalls
+        * oper:override:                allows the oper to set umode +p on themself
+        *                                               which grants the ability to have implicit
+        *                                               operator access in all channels.
         * oper:spy:             allows 'operspy' features to see through +s
         *                       channels etc. see /quote help operspy
         * oper:hidden:          hides the oper from /stats p
@@ -429,7 +447,7 @@ privset "global_op" {
 
 privset "admin" {
        extends = "global_op";
-       privs = oper:admin, oper:die, oper:rehash, oper:spy;
+       privs = oper:admin, oper:die, oper:rehash, oper:spy, oper:override;
 };
 
 /* operator {}: defines ircd operators. (OLD O:) */
@@ -472,6 +490,23 @@ operator "god" {
         */
        snomask = "+Zbfkrsuy";
 
+       /* vhost: defines the vhost that this oper will get on oper up.
+        * this must be a valid hostmask. If this is specified the oper
+        * will not be given default_operhost.
+        */
+       vhost = "is.an.oper";
+
+       /* swhois: defines an additional line that will be displayed
+        * whenever someone does /whois on the oper in question.
+        */
+       swhois = "is wearing pants.";
+
+       /* operstring: defines a custom operstring for this oper,
+        * which will be shown in whois instead of default_operstring
+        * or default_adminstring.
+        */
+       operstring = "is a lazy IRC Operator";
+
        /* flags: misc options for the operator.  You may prefix an option
         * with ~ to disable it, e.g. ~encrypted.
         *
@@ -673,13 +708,50 @@ exempt {
 
 /* The channel block contains options pertaining to channels */
 channel {
+       /* autochanmodes: Modes that will be set on a unregistered channel
+        * when the first user joins it.
+        */
+       autochanmodes = "nt";
+
+       /* exemptchanops: Channel modes that any form of channel ops (+aoh) 
+        * will be exempt from. Even if the mode is set, it will not apply to the
+        * channel ops if it is listed in this option. Valid modes are cCDTNGK.
+        */
+       exemptchanops = "NT";
+
+       /* halfop: Enable/disable channel mode +h, which adds halfop,
+        * a channel status below op that has op powers (kick, ban, mode, etc.)
+        * halfops can only kick/devoice/etc people who are +v or
+        * do not have any channel status. Disabling this via rehash will
+        * cause things which are rather confusing to occur, it is highly
+        * recommended to restart if you wish to disable this option, though
+        * it may be enabled by rehash with no problems.
+        */
+       use_halfop = yes;
+
+       /* owner: Enable/disable channel mode +a, which adds owner,
+        * a channel status above op that has op powers (kick, ban, mode, etc.)
+        * owners can only be kicked/deownered by other owners, and may kick
+        * or deop ops and halfops. Disabling this via rehash will
+        * cause things which are rather confusing to occur, it is highly
+        * recommended to restart if you wish to disable this option, though
+        * it may be enabled by rehash with no problems.
+        */
+       use_owner = yes;
+
        /* invex: Enable/disable channel mode +I, a n!u@h list of masks
-        * that can join a +i channel without an invite.
+        * that can join a +i channel without an invite. Disabling this option
+        * via rehash will leave all previously set invexes hanging around,
+        * though they will not do anything. For this reason, you may want to
+        * restart to disable this option.
         */
        use_invex = yes;
 
        /* except: Enable/disable channel mode +e, a n!u@h list of masks
-        * that can join a channel through a ban (+b).
+        * that can join a channel through a ban (+b). Disabling this option
+        * via rehash will leave all previously set excepts hanging around,
+        * though they will not do anything. For this reason, you may want to
+        * restart to disable this option.
         */
        use_except = yes;
 
@@ -694,6 +766,12 @@ channel {
         */
        use_knock = yes;
 
+       /* local channels: &Channel - a channel that exists only on one server
+        * people on other servers will not be able to see or join local channels
+        * from another server.
+        */
+       use_local_channels = yes;
+
        /* knock delay: The amount of time a user must wait between issuing
         * the knock command.
         */
@@ -779,6 +857,11 @@ channel {
         * when a RESV is issued.
         */
        resv_forcepart = yes;
+
+       /* kick_no_rejoin_time: the amount of time that a user cannot
+        * rejoin for after being kicked out of a +J channel.
+        */
+       kick_no_rejoin_time = 30 seconds;
 };
 
 
@@ -943,6 +1026,13 @@ general {
         */
        default_adminstring = "is a Server Administrator";
 
+       /* default operhost: defines the default virtual host that
+        * operators will receiving upon opering up. Can be overriden
+        * by the vhost option in individual operator blocks. This
+        * must be a valid hostmask.
+        */
+       default_operhost = "staff.testnet.net";
+
        /* servicestring: defines the response for opered services (+S)
         * in /whois queries, eg "is a Network Service".
         * This is updated on rehash.
@@ -1260,6 +1350,11 @@ general {
        /* throttle_count: Number of connections within throttle_duration that it takes
         * for throttling to take effect */
        throttle_count = 4;
+
+       /* expire_override_time: User mode +p will be automatically unset
+        * this long after it is set. 0 disables this. Default is 5 minutes.
+        */
+       expire_override_time = 5 minutes;
 };
 
 modules {