2.0/Modules/os defcon

From AnopeWiki
Revision as of 20:00, 8 October 2023 by Pegasus (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Language

English

Service OperServ
Module os_defcon
Author Anope

Description

The defcon system can be used to implement a pre-defined set of restrictions to services useful during an attempted attack on the network.

  • NOTE: This module is disabled by default.

Commands

defcon [1|2|3|4|5]

Examples

/msg OperServ DEFCON 5

Default Configuration

/*
 * os_defcon
 *
 * Provides the command operserv/defcon.
 *
 * Allows you to set services in defcon mode, which can be used to restrict services access
 * during bot attacks.
 */
#module
{
        name = "os_defcon"
 
        /*
         * Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
         * while level 1 constitutes the most restrictive operation. If this setting is left out or set to
         * 0, DefCon will be disabled and the rest of this block will be ignored.
         */
        #defaultlevel = 5
 
        /*
         * The following 4 directives define what operations will take place when DefCon is set to levels
         * 1 through 4. Each level is a list that must be separated by spaces.
         *
         * The following operations can be defined at each level:
         * - nonewchannels: Disables registering new channels
         * - nonewnicks: Disables registering new nicks
         * - nomlockchanges: Disables changing MLOCK on registered channels
         * - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
         * - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
         * - nonewclients: KILL any new clients trying to connect
         * - operonly: Services will ignore all non-IRCops
         * - silentoperonly: Services will silently ignore all non-IRCops
         * - akillnewclients: AKILL any new clients trying to connect
         * - nonewmemos: No new memos will be sent to block MemoServ attacks
         */
        level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
        level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
        level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
        level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
 
        /*
         * New session limit to use when a DefCon level is using "reduced" session limiting.
         */
        #sessionlimit = 2
 
        /*
         * Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
         * network.
         */
        #akillexpire = 5m
 
        /*
         * The channel modes to set on all channels when the DefCon channel mode system is in use.
         *
         * Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
         * the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
         * is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
         * channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
         * is removed, all channels are set -k, removing the key from previously keyed channels.
         *
         * Note 2: MLOCKed modes will not be lost.
         */
        #chanmodes = "+R"
 
        /*
         * This value can be used to automatically return the network to DefCon level 5 after the specified
         * time period, just in case any IRC Operator forgets to remove a DefCon setting.
         *
         * This directive is optional.
         */
        #timeout = 15m
 
        /*
         * If set, Services will send a global message on DefCon level changes.
         *
         * This directive is optional.
         */
        #globalondefcon = yes
        /*
         * If set, Services will send the global message defined in the message directive on DefCon level
         * changes.
         *
         * This directive is optional.
         */
        #globalondefconmore = yes
 
        /*
         * Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
         *
         * This directive is required only when globalondefconmore is set.
         */
        #message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
 
        /*
         * Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
         * and will also override globalondefcon and globalondefconmore when set.
         */
        #offmessage = "Services are now back to normal, sorry for any inconvenience"
 
        /*
         * Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
         * DefCon operation is in effect.
         */
        #akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }