summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorsjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864>2009-01-01 12:00:20 +0000
committersjaz <sjaz@5417fbe8-f217-4b02-8779-1006273d7864>2009-01-01 12:00:20 +0000
commitc777c8d9aa7cd5c2e9a399727a7fa9985a77fb1c (patch)
tree9e996ae4a1bbb833cec036c5cd4d87a590149e85 /data
Anope Stable Branch
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@1902 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'data')
-rw-r--r--data/example.chk44
-rw-r--r--data/example.conf1598
-rw-r--r--data/tables.sql433
3 files changed, 2075 insertions, 0 deletions
diff --git a/data/example.chk b/data/example.chk
new file mode 100644
index 000000000..6f2a2343d
--- /dev/null
+++ b/data/example.chk
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+# Crontab script for Anope
+#
+# To know how to install the crontab, read the INSTALL file.
+
+###############################################################
+# CONFIGURATION
+###############################################################
+
+# Anope binary directory
+ANOPATH=/home/ircd/services/
+
+# Name of the pid file
+ANOPIDF=services.pid
+
+# Name of the executable
+ANOPROG=services
+
+# Parameters to pass to the executable
+ANOARGS=""
+#ANOARGS="-debug"
+
+###############################################################
+# DON'T EDIT ANYTHING BELOW #
+###############################################################
+
+PATH=/bin:/usr/bin:/usr/local/bin
+
+ANOPID=
+
+cd $ANOPATH
+
+if [ -f $ANOPIDF ]
+then
+ ANOPID=`cat $ANOPIDF`
+ if [ `ps auwx | grep $ANOPROG | grep $ANOPID | grep -v -c grep` = 1 ]
+ then
+ exit
+ fi
+ rm -f $ANOPIDF
+fi
+
+./$ANOPROG $ANOARGS
diff --git a/data/example.conf b/data/example.conf
new file mode 100644
index 000000000..2c494fa4a
--- /dev/null
+++ b/data/example.conf
@@ -0,0 +1,1598 @@
+# Example configuration file for Services. After making the appropriate
+# changes to this file, place it in the Services data directory (as
+# specified in the "configure" script, default /home/username/services)
+# under the name "services.conf".
+#
+# The format of this file is fairly simple: a line beginning with a # is a
+# comment, and any other non-blank line is expected to be a directive and
+# parameters, separated by spaces or tabs. For example:
+#
+# Directive Parameter-1 Parameter-2 ...
+#
+# Directives are case-insensitive. Note that some directives do not take
+# any parameters; these are typically "on-off" directives, for which simply
+# including the directive in this file (or removing it) has an effect on
+# Services' functionality.
+#
+# If a parameter's value is a string which includes spaces, enclose the
+# string in double quotation marks, like the example below. Quotes may be
+# used around any string at all for clarity.
+#
+# "This is a parameter string with spaces in it"
+#
+# If you need to include a double quote inside a quoted string, precede it
+# by a backslash:
+#
+# "This string has \"double quotes\" in it"
+#
+# Time parameters can be specified either as an integer representing a
+# number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
+# specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
+# Combinations (such as "1h30m") are not permitted. Examples (all of which
+# represent the same length of time, one day):
+#
+# "86400", "86400s", "1440m", "24h", "1d"
+#
+# CAUTION:
+# Please note that your services might _CRASH_ if you add more format-
+# strings (%s, %d, etc.) to custom messages than Anope needs. Use the
+# default messages to see how many format-strings are needed.
+#
+# In the documentation for each directive, one of the following will be
+# included to indicate whether an option is required:
+#
+# [REQUIRED]
+# Indicates a directive which must be given. Without it, Services will
+# not start.
+#
+# [RECOMMENDED]
+# Indicates a directive which may be omitted, but omitting it may cause
+# undesirable side effects.
+#
+# [OPTIONAL]
+# Indicates a directive which is optional. If not given, the feature
+# will typically be disabled. If this is not the case, more
+# information will be given in the documentation.
+#
+# [DISCOURAGED]
+# Indicates a directive which may cause undesirable side effects if
+# specified.
+#
+# [DEPRECATED]
+# Indicates a directive which will disappear in a future version of
+# Services, usually because its functionality has been either
+# superseded by that of other directives or incorporated into the main
+# program.
+
+###########################################################################
+#
+# IRCD configuration
+#
+###########################################################################
+
+# IRCDModule <module_name> [REQUIRED]
+# The ircd protocol module should be used when connecting anope to your
+# chosen IRCD. This should be one of the following options, or a file
+# provided by your IRCD author.
+#
+# Bahamut 1.4.27 [or later] - "bahamut"
+# Charybdis 1.0 [or later] - "charybdis"
+# DreamForge 4.6.7 - "dreamforge"
+# Hybrid IRCd 7.0 [experimental] - "hybrid"
+# InspIRCd 1.0 [beta 5 or later] - "inspircd10"
+# InspIRCd 1.1 [beta 8 or later] - "inspircd11"
+# Plexus 3.0 [or later] - "plexus3"
+# Plexus 2.0 [or later] - "plexus2"
+# PTLink 6.15.0 [experimental] - "ptlink"
+# RageIRCd 2.0.x - "rageircd"
+# Ratbox 2.0.6 [or later] - "ratbox"
+# ShadowIRCD 4.0x [beta 7 or later] - "shadowircd"
+# Solid IRCD 3.4.x [3.4.6 or later] - "solidircd"
+# UltimateIRCd 3.0.0 [or later] - "ultimate3"
+# UltimateIRCd 2.8.2 [or later] - "ultimate2"
+# Unreal 3.2 [beta-19 or later] - "unreal32"
+# Unreal 3.1.1 [or later] - "unreal31"
+# ViagraIRCd 1.3.x [or later] - "viagra"
+#
+
+#IRCDModule "unreal32"
+
+###########################################################################
+#
+# Encryption settings
+#
+###########################################################################
+
+# EncModule <module_name> [REQUIRED]
+# The encryption module to use when dealing with passwords.
+# This determines how the passwords are stored in the databases,
+# and does not add any security as far as transmitting passwords over
+# the network goes.
+# enc_none provides no password encryption, storing the password in
+# plain text, this is the most versiatle as passwords can easily be
+# recovered.
+#
+# NOTE: users of anope's previous (broken) md5 implementation should
+# select the enc_old option, or things may break.
+#
+# NOTE2: Some of these encryption methods are one-way (md5, sha1, old)
+# meaning that you can NOT retrieve the passwords in plain text once
+# encrypted.
+#
+# Plain Text - enc_none
+# Previous (broken) MD5 - enc_old
+# MD5 - enc_md5
+# SHA1 - enc_sha1
+#
+
+EncModule "enc_none"
+
+###########################################################################
+#
+# Core module configuration
+#
+###########################################################################
+# HostCoreModules <list> [RECOMMENDED]
+# These modules will be loaded as part of HostServ's core.
+# It is not recommended you change these settings unless you are
+# sure you understand exactly what it is you are doing.
+HostCoreModules "hs_help hs_on hs_off hs_group hs_list hs_set hs_setall hs_del hs_delall"
+
+# MemoCoreModules <list> [RECOMMENDED]
+# These modules will be loaded as part of MemoServ's core.
+# It is not recommended you change these settings unless you are
+# sure you understand exactly what it is you are doing.
+MemoCoreModules "ms_send ms_cancel ms_list ms_read ms_del ms_set ms_info ms_rsend ms_check ms_staff ms_sendall ms_help"
+
+# HelpCoreModules <list> [RECOMMENDED]
+# These modules will be loaded as part of HelpServ's core.
+# It is not recommended you change these settings unless you are
+# sure you understand exactly what it is you are doing.
+HelpCoreModules "he_help"
+
+# BotCoreModules <list> [RECOMMENDED]
+# These modules will be loaded as part of BotServ's core.
+# It is not recommended you change these settings unless you are
+# sure you understand exactly what it is you are doing.
+BotCoreModules "bs_help bs_botlist bs_assign bs_set bs_kick bs_badwords bs_act bs_info bs_say bs_unassign bs_bot bs_fantasy bs_fantasy_kick bs_fantasy_kickban bs_fantasy_owner bs_fantasy_seen"
+
+# OperCoreModules <list> [RECOMMENDED]
+# These modules will be loaded as part of OperServ's core.
+# It is not recommended you change these settings unless you are
+# sure you understand exactly what it is you are doing.
+OperCoreModules "os_help os_global os_stats os_oper os_admin os_staff os_mode os_kick os_clearmodes os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_logonnews os_randomnews os_opernews os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo"
+
+# NickCoreModules <list> [RECOMMENDED]
+# These modules will be loaded as part of NickServ's core.
+# It is not recommended you change these settings unless you are
+# sure you understand exactly what it is you are doing.
+NickCoreModules "ns_help ns_register ns_group ns_identify ns_access ns_set ns_saset ns_drop ns_recover ns_release ns_sendpass ns_ghost ns_alist ns_info ns_list ns_logout ns_status ns_update ns_getpass ns_getemail ns_forbid ns_suspend"
+
+# ChanCoreModules <list> [RECOMMENDED]
+# These modules will be loaded as part of ChanServ's core.
+# It is not recommended you change these settings unless you are
+# sure you understand exactly what it is you are doing.
+ChanCoreModules "cs_help cs_register cs_identify cs_set cs_xop cs_access cs_akick cs_drop cs_sendpass cs_ban cs_clear cs_modes cs_getkey cs_invite cs_kick cs_list cs_logout cs_topic cs_info cs_getpass cs_forbid cs_suspend cs_status"
+###########################################################################
+#
+# Remote server configuration
+#
+###########################################################################
+
+# RemoteServer <hostname> <port> <password> [REQUIRED]
+# Specifies the remote server hostname and port. The hostname may
+# either be a standard Internet hostname or dotted-quad numeric
+# address; the port number must be an integer between 1 and 65535
+# inclusive. The password is a string which should be enclosed in
+# double quotes if it contains any spaces (or just for clarity).
+#
+# The remote server and port may be overridden at runtime with the
+# -remote command-line option. The password may not be set at runtime.
+#
+# If services can't connect to the RemoteServer, they will try
+# RemoteServer2 (if defined). If they can't connect to RemoteServer2,
+# they will use RemoteServer3 (if defined).
+
+RemoteServer localhost 6667 "mypass"
+#RemoteServer2 localhost 6667 "mypass"
+#RemoteServer3 localhost 6667 "mypass"
+
+# LocalAddress <hostname> [port] [OPTIONAL]
+# Specifies the local address to bind to before connecting to the
+# remote server. This may be useful on multihomed hosts. The hostname
+# and port number are specified the same way as with the RemoteServer
+# directive. If this is not specified, Services will let the operating
+# system choose the local address. If only a hostname is specified,
+# Services will bind to that address but let the operating system
+# choose the local port number.
+#
+# If you don't know what this means or don't need to use it, just leave
+# the directive commented out.
+#
+# This directive may be overridden at runtime by the -local
+# command-line option.
+
+#LocalAddress nowhere. 0
+
+###########################################################################
+#
+# Services identification and pseudoclient names
+#
+###########################################################################
+
+# ServerName <name> [REQUIRED]
+# Specifies the IRC server name which Services should use. May be
+# overridden by the -name command-line option.
+
+ServerName "services.localhost.net"
+
+# ServerDesc <text> [REQUIRED]
+# Specifies the text which should appear as the server's information in
+# /whois and similar queries. May be overridden by the -desc
+# command-line option.
+
+ServerDesc "Services for IRC Networks"
+
+# ServiceUser <usermask> [REQUIRED]
+# Specifies the user@host mask which should be used by the Services
+# pseudoclients. May be overridden by the -user and -host command-line
+# options.
+
+ServiceUser "services@localhost.net"
+
+# ...Name <nick> <string> [REQUIRED except as noted below]
+# Specify the nicknames (first parameter) and "real" names (second
+# parameter) for the Services pseudoclients. BotServ and DevNull may
+# be disabled by commenting out the appropriate lines below. Disabling
+# BotServ is recommended on large networks.
+
+NickServName "NickServ" "Nickname Server"
+ChanServName "ChanServ" "Channel Server"
+MemoServName "MemoServ" "Memo Server"
+BotServName "BotServ" "Bot Server"
+HelpServName "HelpServ" "Help Server"
+OperServName "OperServ" "Operator Server"
+GlobalName "Global" "Global Noticer"
+#DevNullName "DevNull" "/dev/null -- message sink"
+HostServName "HostServ" "vHost Server"
+
+# ...Alias <nick> <string> [OPTIONAL]
+# Specify alternate nicknames for services. When a user will /msg
+# NickServAlias something, it will be forwarded to NickServName, and
+# NickServName will answer. This can be used to ease the migration
+# from another network, for example if your services are called
+# NickKeeper, ChanKeeper, etc ... and the other network calls them
+# NickServ, ChanServ, etc ...
+
+#NickServAlias "NickServ2" "Nickname Server Forwarder"
+#ChanServAlias "ChanServ2" "Channel Server Forwarder"
+#MemoServAlias "MemoServ2" "Memo Server Forwarder"
+#BotServAlias "BotServ2" "Bot Server Forwarder"
+#HelpServAlias "HelpServ2" "Help Server Forwarder"
+#OperServAlias "OperServ2" "Operator Server Forwarder"
+#GlobalAlias "Global2" "Global Noticer Forwarder"
+#DevNullAlias "DevNull2" "/dev/null -- message sink Forwarder"
+#HostServAlias "HostServ2" "vHost Server Forwarder"
+
+###########################################################################
+#
+# Services data filenames
+#
+###########################################################################
+
+# NOTE: All filenames are relative to the Services data directory.
+
+# PIDFile <filename> [REQUIRED]
+# Specifies the name of the file containing Services' process ID.
+
+PIDFile services.pid
+
+# MOTDFile <filename> [REQUIRED]
+# Specifies the name of the Message of the Day file.
+
+MOTDFile services.motd
+
+# ...DB <filename> [REQUIRED]
+# Specifies the filenames for the various Services subsystems' databases.
+
+NickServDB nick.db
+#PreNickServDB prenick.db
+ChanServDB chan.db
+BotServDB bot.db
+OperServDB oper.db
+NewsDB news.db
+ExceptionDB exception.db
+HostServDB hosts.db
+
+# There is no more databases for AKILLs. This setting is kept to allow
+# you to import old AKILL database, and is optional. (If not given,
+# Services will look for a file named akill.db.)
+
+# AutokillDB akill.db
+
+###########################################################################
+#
+# Network information
+#
+###########################################################################
+
+# HelpChannel <channel> [OPTIONAL]
+#
+# When defined, every users that has or gets op status on this channel
+# automatically receive the +h user mode.
+
+HelpChannel "#help"
+
+# LogChannel <channel> [OPTIONAL]
+#
+# When defined, services will output log messages to this channel.
+# IMPORTANT: This can be a security risk so make certain this channel
+# is sufficiently protected from normal access.
+
+#LogChannel "#services"
+
+# LogBot [OPTIONAL]
+#
+# When defined, services will output all BotServ chatter to the defined
+# LogChan above. It shows all uses of BotServ ACT and SAY commands. Note
+# that there is no logging to the log file. Only works if LogChannel is
+# also defined.
+
+#LogBot
+
+# NetworkName <name> [REQUIRED]
+#
+# This is the name of the network the Services are running on.
+
+NetworkName "LocalNet"
+
+# Numeric [OPTIONAL]
+# Many ircd identify themselves with a Numeric ID when using this option
+# consult your ircds documentation before using this
+#Numeric "64"
+
+# NickLen [RECOMMENDED]
+# Set this to the maximum allowed nick length on your network. Anope does
+# not support values larger than 31, so setting them makes no sense. Be
+# sure to set this correctly, as setting this wrong can result in services
+# being disconnected from the network.
+
+NickLen 31
+
+###########################################################################
+#
+# Basic functionality
+#
+###########################################################################
+
+# UserKey1|2|3 <value> [RECOMMENDED]
+#
+# These keys are required to initiate the random number generator. These
+# numbers MUST be random as you want your passcodes to be random. Don't
+# give these keys to anyone! Keep them private!
+#
+# *** NOTE ***
+# If you don't enable these, or keep their default values, any talented
+# programmer would be able to easily "guess" random strings used to mask
+# information. Be safe, and come up with three different 7 digit numbers
+
+#UserKey1 9866235
+#UserKey2 8362013
+#UserKey3 2362899
+
+# NoBackupOkay [DISCOURAGED]
+# Allows Services to continue file write operations (i.e. database
+# saving) even if the original file cannot be backed up. Enabling this
+# option may allow Services to continue operation under some conditions
+# when it might otherwise fail, such as a nearly-full disk.
+#
+# *** NOTE ***
+# Enabling this option can cause irrecoverable data loss under some
+# conditions, so make CERTAIN you know what you're doing when you
+# enable it!
+
+#NoBackupOkay
+
+# StrictPasswords [RECOMMENDED]
+# When enabled, causes Services to perform more stringent checks on
+# passwords. If this is disabled, Services will only disallow a
+# password if it is the same as the entity (nickname or channel name)
+# with which it is associated. When enabled, however, Services will
+# also check that the password is at least five characters long, and
+# in the future will probably check other things as well.
+
+StrictPasswords
+
+# BadPassLimit <count> [RECOMMENDED]
+# Sets the number of invalid password tries before Services removes a
+# user from the network. If a user enters <count> invalid passwords
+# for any Services function or combination of functions during a
+# single IRC session (subject to BadPassTimeout, below), Services will
+# issue a /KILL for the user. If not given, Services will ignore
+# failed password attempts (though they will be logged in any case).
+
+BadPassLimit 5
+
+# BadPassTimeout <time> [OPTIONAL]
+# Sets the time after which invalid passwords are forgotten about. If
+# a user does not enter any incorrect passwords in this amount of time,
+# the incorrect password count will reset to zero. If not given, the
+# timeout will be disabled, and the incorrect password count will never
+# be reset until the user disconnects.
+
+BadPassTimeout 1h
+
+# UpdateTimeout <time> [REQUIRED]
+# Sets the delay between automatic database updates. This timer is
+# reset by the OperServ UPDATE command.
+
+UpdateTimeout 5m
+
+# ExpireTimeout <time> [REQUIRED]
+# Sets the delay between checks for expired nicknames and channels.
+# The OperServ UPDATE command will also cause a check for expiration
+# and reset this timer.
+
+ExpireTimeout 30m
+
+# ReadTimeout <time> [REQUIRED]
+# Sets the timeout period for reading from the network.
+
+ReadTimeout 5s
+
+# WarningTimeout <time> [REQUIRED]
+# Sets the interval between sending warning messages for program
+# errors via WALLOPS/GLOBOPS.
+
+WarningTimeout 4h
+
+# TimeoutCheck <time> [REQUIRED]
+# Sets the (maximum) frequency at which the timeout list is checked.
+# This, combined with ReadTimeout above, determine how accurately timed
+# events, such as nick kills, occur; it also determines how much CPU
+# time Services will use doing this. Higher values will cause less
+# accurate timing but less CPU usage.
+#
+# This shouldn't be set any higher than 10 seconds, and 1 second is
+# best if your system is powerful enough (or your network small enough)
+# to handle it. 0 will cause the timeout list to be checked every time
+# through the main loop, which will probably slow down Services too
+# much to be useful on most networks.
+#
+# Note that this value is not an absolute limit on the period between
+# checks of the timeout list; the period may be as great as ReadTimeout
+# (above) during periods of inactivity.
+
+TimeoutCheck 3s
+
+# KeepLogs <days> [RECOMMENDED]
+#
+# Sets the number of days log files are kept. If you don't give it, or if
+# you set it to 0, logs will be kept indefinitely.
+#
+# NOTE: Services must run 24 hours a day for this feature to work.
+
+KeepLogs 7
+
+# KeepBackups <days> [RECOMMENDED]
+#
+# Sets the number of days backups of databases are kept. If you don't give
+# it, or if you set it to 0, Services won't backup the databases.
+#
+# NOTE: Services must run 24 hours a day for this feature to work.
+
+KeepBackups 3
+
+# ForceForbidReason [OPTIONAL]
+#
+# If set, Services will require a reason when a forbid is added, else
+# the reason is optional. This directive also applies to SUSPENDed
+# channels as well.
+
+ForceForbidReason
+
+# UsePrivmsg [OPTIONAL]
+#
+# This directive allows users to let Services send PRIVMSGs to them
+# instead of NOTICEs. Also see NSDefMsg, which also toggles the default
+# communication (PRIVMSG or NOTICE) to use for unregistered users.
+#
+# This is a feature that is against the IRC RFC and should be used
+# _only_ if absolutely necessary.
+
+#UsePrivmsg
+
+# UseStrictPrivMsg [OPTIONAL]
+# Using this directive will force services to only respond to privmsgs
+# addressed to Nick@ServerName - e.g. NickServ@localhost.net.
+# This should be used on conjunction with ircd aliases.
+#
+# When using Bahamut, this option will NOT work if the uplink server is
+# configured as a services hub. The serviceshub option is not designed to
+# be used with Anope.
+
+#UseStrictPrivMsg
+
+# DumpCore [OPTIONAL]
+#
+# Setting this directive will make Anope dump core when a segmentation
+# fault occurs. This is generally not needed, but if Anope is crashing
+# on your network and you want to make a bug report, having a core
+# file may be of great help.
+
+#DumpCore
+
+# LogUsers [OPTIONAL]
+#
+# Defines whether Anope will log user connections, disconnections and
+# nickname changes. You may have to do so in case you ever need to
+# transmit user information to your local authorities.
+
+#LogUsers
+
+# HideStatsO [OPTIONAL]
+#
+# Setting this directive will make Services only show Stats o to
+# IRC Operators.
+
+#HideStatsO
+
+# GlobalOnCycle [OPTIONAL]
+#
+# Setting this directive will make Services send global messages on
+# starting up and shutting down/restarting.
+
+#GlobalOnCycle
+
+# GlobalOnCycleMessage <text> [REQUIRED if GlobalOnCycle is specified]
+# This is the global message sent when the Services are
+# being shutdown/restarted if using GlobalOnCycle
+GlobalOnCycleMessage "Services are restarting, they will be back shortly - please be good while we're gone"
+
+# GlobalOnCycleUP <text> [OPTIONAL]
+# If defined this message will be sent global when the services join
+# the network.
+GlobalOnCycleUP "Services are now back online - have a nice day"
+
+# AnonymousGlobal [OPTIONAL]
+# hides the oper's nick in a global message/notice
+#AnonymousGlobal
+
+# NickRegDelay <seconds> [OPTIONAL]
+# Prevents users from regging their nick if they are not
+# connected for at least X seconds.
+#NickRegDelay 30
+
+# UseSVSHOLD [OPTIONAL]
+# Allows networks running Bahamut (1.4.35 or later), Unreal (3.2),
+# and Plexus (3.0) to use SVSHOLD instead of the services enforcer.
+# This option places a temporary Q:Line on the held nick instead
+# of introducing a new pseudoclient with that nick, which is better
+# for both CPU and bandwidth. If you enable this option on an
+# incompatible IRCd (like a pre-1.4.35 Bahamut), it is most likely
+# to break.
+#UseSVSHOLD
+
+# RestrictOperNick [OPTIONAL]
+# Forbids the registration of nicks that contain nick with services
+# access. So if Tester is a Services Oper, for example, You can't
+# register NewTester or Tester123 unless you are an IRC operator.
+# IMPORTANT: Remember that you have to be an ircop if you want to
+# register the root's nick when setting up Anope for the
+# the first time.
+#RestrictOperNicks
+
+# UseTokens [OPTIONAL]
+# Allows irc networks to use TOKEN commands instead of the
+# standard commands. This saves bandwidth but can break older
+# modules that are not set to trap for TOKEN - if you are using
+# older modules do NOT use this option
+#UseTokens
+
+# UseSVS2MODE [OPTIONAL]
+# On Unreal IRCD use SVS2MODE instead of SVSMODE, doing this will
+# show services changing user modes.
+#UseSVS2MODE
+
+# NewsCount [OPTIONAL]
+# The number of LOGON/OPER News item to display when a user logs
+# on. The default value is 3
+#NewsCount 3
+
+# UnRestrictSAdmin [OPTIONAL]
+# On many ircd Anope removes the umode of +a from users whom are not
+# Service Admin in Anope. This mode is NOT used by Anope for any form
+# of access. Thus this option allows them to keep the mode without having
+# to be a Service Admin in Anope
+#UnRestrictSAdmin
+
+# UlineServers [OPTIONAL]
+#
+# A list of ulined servers on your network, these servers are assumed they
+# can set channel modes and we will not attempt to take them from them
+# WARNING: do not put your user servers in this option
+
+UlineServers "stats.your.network proxy.your.network"
+
+# UseTS6 [OPTIONAL]
+#
+# Modern hybrid ircd like Ratbox 2.0.x support a protocol called TS6.
+# However this protocol is optional thus our default support is for without
+# TS6, if you want to take advantage of TS6, enable this option.
+
+#UseTS6
+
+###########################################################################
+#
+# Mail-related options
+#
+###########################################################################
+
+# NOTE: if UseMail is not set, all parameters after it in this section
+# are optional.
+
+# UseMail [OPTIONAL]
+#
+# This option enables the mail commands in Services. You may choose
+# to disable it if you have no sendmail-compatible mailer installed.
+# This setting is [REQUIRED] if NSEmailReg is enabled.
+
+UseMail
+
+# SendMailPath <path> [REQUIRED]
+#
+# This is how we should call SendMail to send a mail. It must be
+# called with all parameters needed to make it scan the mail input
+# to find the mail recipient; consult your SendMail documentation.
+#
+# Postfix users must use the compatible sendmail utility provided
+# with it; this one usually needs no parameters on the command line.
+# Most sendmail applications (or replacements of it) require the -t
+# option to be used.
+
+SendMailPath "/usr/sbin/sendmail -t"
+
+# SendFrom <e-mail> [REQUIRED]
+#
+# This is the e-mail from which all the e-mails are to be sent. It should
+# really exist.
+
+SendFrom services@localhost.net
+
+# RestrictMail [OPTIONAL]
+#
+# When enabled, SENDPASS will be restricted to IRC operators.
+#
+# WARNING: if you choose to not enable this option, you should limit
+# the number of processes the services user can have at a time (you can
+# create a special user for this; remember to never launch Services as root).
+
+RestrictMail
+
+# MailDelay <time> [RECOMMENDED]
+#
+# This controls the minimum amount of time an user must wait before sending
+# another mail after it has sent one. It also controls the minimum time
+# an user must wait before it can receive another mail.
+#
+# This feature prevents users from being mail bombed using Services and
+# should definitely be used.
+
+MailDelay 5m
+
+# DontQuoteAddresses [OPTIONAL]
+#
+# When enabled, services will not attempt to "" the TO: fields in mails
+#
+# So far we only know of ESMTP/QMail which need this set.
+#
+
+#DontQuoteAddresses
+
+###########################################################################
+#
+# NickServ configuration
+#
+###########################################################################
+
+# NSForceEmail [RECOMMENDED]
+# This option forces the users to give an e-mail when they register
+# a nickname. If you have nicks in the database that have no e-mail
+# set, they will be asked to set an e-mail when they identify their
+# nickname until they set one. Also, this option prevents user from
+# unsetting the password. This setting is [REQUIRED] if NSEmailReg
+# is enabled.
+#
+# This option is useful to resolve "lost password" problems.
+
+NSForceEmail
+
+# NSEmailReg [OPTIONAL]
+# This option splits the nick registration into 2 steps, the first
+# after registering a email with a passcode is sent to the supplied
+# email address, this passcode needs to be entered with a confirm
+# command before the nick registration will be completed.
+#
+# You must have mail / forcemail set for this to work correctly.
+# It is also recommended that MailDelay be set to a sensible value
+# to prevent mail flooding. This setting is [REQUIRED] if NSEmailReg
+# is enabled.
+
+# NSEmailReg
+
+# NSDef... [OPTIONAL]
+# Sets the default options for newly registered nicks. Note that
+# changing these options will have no effect on nicks which are already
+# registered.
+#
+# If both NSDefKill and NSDefKillQuick are given, the latter takes
+# precedence. KILL IMMED cannot be specified as a default.
+#
+# Note: Both NSDefKill and NSDefKillQuick must be specified for Quick to take effect.
+#
+# NSDefMsg also controls the default setting for unregistered users.
+# If NSDefMsg is enabled, unregistered users will receive PRIVMSGs
+# instead of NOTICEs from Services. See UsePrivmsg for more information.
+#
+# NOTE: If you do not enable any of these options, a default of
+# Secure, MemoSignon, and MemoReceive will be used, for backward
+# compatibility. If you really want no options enabled by default, use
+# NSDefNone.
+
+#NSDefNone
+
+#NSDefKill
+#NSDefKillQuick
+NSDefSecure
+NSDefPrivate
+NSDefHideEmail
+NSDefHideUsermask
+#NSDefHideQuit
+#NSDefMsg
+NSDefMemoSignon
+NSDefMemoReceive
+NSDefAutoop
+
+# NSDefLanguage <language-number> [REQUIRED]
+# Sets the default language non- and newly-registered will receive
+# services' messages in. The numbers are the same as those
+# used for the /nickserv SET LANGUAGE command, so look the at the help
+# of this command for the list of currently supported languages.
+#
+# If you ever wanted to know how to translate services in your
+# language, read the chapter about it in the README.
+
+NSDefLanguage 1
+
+# NSRegDelay <time> [RECOMMENDED]
+# Sets the minimum length of time between consecutive uses of the
+# REGISTER command. If not given, this restriction is disabled (note
+# that this allows "registration flooding").
+
+NSRegDelay 30s
+
+# NSResendDelay <time> [RECOMMENDED]
+# Sets the minimum length of time between consecutive uses of the
+# RESEND command. If not given, this restriction is disabled (note
+# that this allows "resend flooding" or "mail bombing").
+
+NSResendDelay 90s
+
+# NSExpire <time> [RECOMMENDED]
+# Sets the length of time before a nick registration expires.
+
+NSExpire 21d
+
+# NSRExpire <time> [OPTIONAL]
+# Sets the length of time a user gets to enter the confirmation code
+# which has been e-mailed to them before the nick will be released
+# for general use again. This setting is [REQUIRED] if NSEmailReg is
+# enabled.
+
+# NSRExpire 1d
+
+# NSMaxAliases <number> [RECOMMENDED]
+# Sets the maximum number of nicks allowed in a group. If you
+# set it to 0, or don't set it at all, no limits will be applied.
+
+NSMaxAliases 16
+
+# NSAccessMax <count> [REQUIRED]
+# Sets the maximum number of entries allowed on a nickname access list.
+
+NSAccessMax 32
+
+# NSEnforcerUser <user>[@<host>] [REQUIRED]
+# Sets the username (and possibly hostname) used for the fake user
+# created when NickServ collides a user. Should be in user@host
+# format. If the host is not given, the one from ServicesUser is
+# used.
+
+NSEnforcerUser enforcer@localhost.net
+#NSEnforcerUser enforcer
+
+# NSReleaseTimeout <time> [REQUIRED]
+# Sets the delay before a NickServ-collided nick is released.
+
+NSReleaseTimeout 1m
+
+# NSAllowKillImmed [OPTIONAL]
+# When enabled, allows the use of the IMMED option with the NickServ
+# SET KILL command.
+
+#NSAllowKillImmed
+
+# NSNoGroupChange [OPTIONAL]
+# When enabled, the NickServ GROUP command won't allow any group change.
+# This is recommended for better performances and to protect against
+# nick stealing, however users will have less flexibility.
+
+#NSNoGroupChange
+
+# NSListOpersOnly [OPTIONAL]
+# When enabled, limits use of the NickServ LIST command to IRC
+# operators.
+
+#NSListOpersOnly
+
+# NSListMax <count> [REQUIRED]
+# Specifies the maximum number of nicks to be returned for a NickServ
+# LIST command.
+
+NSListMax 50
+
+# NSGuestNickPrefix <value> [REQUIRED]
+# When a user's nick is forcibly changed to enforce a "nick kill", their
+# new nick will start with this value. The rest will be made up of 6 or 7
+# digits.
+
+NSGuestNickPrefix "Guest"
+
+# NSSecureAdmins [RECOMMENDED]
+# When enabled, prevents the use of the DROP, FORBID, GETPASS, and
+# SET PASSWORD commands by Services admins on other Services admins or
+# the Services root(s).
+
+NSSecureAdmins
+
+# NSStrictPrivileges [RECOMMENDED]
+#
+# When enabled, any user wanting to use the privileges of Services Root, Services
+# Admin or Services Operator must have been logged as an IRC Operator with the
+# /oper command.
+
+NSStrictPrivileges
+
+# NSModeOnID [OPTIONAL]
+#
+# When enabled, services will set the channel modes a user has access to upon
+# identifying, assuming they are not already set.
+#
+
+# NSModeOnID
+
+# NSRestrictGetPass [OPTIONAL]
+#
+# When enabled, services will only allow Services Root to use the getpass
+# command on a nick.
+
+NSRestrictGetPass
+
+# NSNickTracking [OPTIONAL]
+#
+# When enabled, services will track your last nick identified when issuing
+# nick changes.
+
+#NSNickTracking
+
+# NSAddAccessOnReg [OPTIONAL]
+#
+# When enabled, services will add the usermask of registering users to the
+# access list of their newly created account. If you disable this, users
+# will always have to identify to nickserv before being recognized, unless
+# they manually add an address to the access list of their account.
+
+NSAddAccessOnReg
+
+###########################################################################
+#
+# ChanServ configuration
+#
+###########################################################################
+
+# CSDef... [OPTIONAL]
+# Sets the default options for newly registered channels. Note that
+# changing these options will have no effect on channels which are
+# already registered.
+#
+# NOTE: If you do not enable any of these options, a default of
+# KeepTopic, Secure, SecureFounder and SignKick will be used, for
+# backward compatibility. If you really want no options enabled by
+# default, use CSDefNone.
+
+#CSDefNone
+
+CSDefKeepTopic
+#CSDefOpNotice
+CSDefPeace
+#CSDefPrivate
+#CSDefRestricted
+CSDefSecure
+#CSDefSecureOps
+CSDefSecureFounder
+CSDefSignKick
+#CSDefSignKickLevel
+#CSDefTopicLock
+CSDefXOP
+
+
+# CSMaxReg <count> [RECOMMENDED]
+# Limits the number of channels which may be registered to a single
+# nickname.
+
+CSMaxReg 20
+
+# CSExpire <time> [RECOMMENDED]
+# Sets the number of days before a channel expires.
+
+CSExpire 14d
+
+# CSDefBantype <bantype> [REQUIRED]
+#
+# Sets the default ban type for newly registered channels (and when
+# importing old databases).
+#
+# bantype can be:
+#
+# 0: ban in the form *!user@host
+# 1: ban in the form *!*user@host
+# 2: ban in the form *!*@host
+# 3: ban in the form *!*user@*.domain
+
+CSDefBantype 2
+
+# CSAccessMax <count> [REQUIRED]
+# Sets the maximum number of entries on a channel's access list.
+# Channel access lists may contain only registered nicknames;
+# therefore, checking each entry on the list requires only a single
+# scaler comparison instead of a wildcard match, and this limit may be
+# safely set much higher than (for example) the nickname access list
+# size limit without impacting performance significantly.
+
+CSAccessMax 1024
+
+# CSAutokickMax <count> [REQUIRED]
+# Sets the maximum number of entries on a channel's autokick list.
+
+CSAutokickMax 32
+
+# CSAutokickReason <text> [REQUIRED]
+# Sets the default reason for an autokick if none is given.
+
+CSAutokickReason "User has been banned from the channel"
+
+# CSInhabit <time> [REQUIRED]
+# Sets the length of time ChanServ stays in a channel after kicking a
+# user from a channel s/he is not permitted to be in. This only occurs
+# when the user is the only one in the channel.
+
+CSInhabit 15s
+
+# CSListOpersOnly [OPTIONAL]
+# When enabled, limits use of the ChanServ LIST command to IRC
+# operators.
+
+#CSListOpersOnly
+
+# CSListMax <count> [REQUIRED]
+# Specifies the maximum number of channels to be returned for a
+# ChanServ LIST command.
+
+CSListMax 50
+
+# CSRestrictGetPass [OPTIONAL]
+#
+# When enabled, services will only allow Services Root to use the getpass
+# command on a channel.
+
+# CSRestrictGetPass
+
+# CSOpersOnly [OPTIONAL]
+# If this is defined, only IRC Operators will be permitted to use ChanServ.
+
+#CSOpersOnly
+
+###########################################################################
+#
+# MemoServ configuration
+#
+###########################################################################
+
+# MSMaxMemos <count> [RECOMMENDED]
+# Sets the maximum number of memos a user is allowed to keep by
+# default. Normal users may set the limit anywhere between zero and
+# this value; Services admins can change it to any value or disable it.
+# If not given, the limit is disabled by default, and normal users can
+# set any limit they want.
+
+MSMaxMemos 20
+
+# MSSendDelay <time> [RECOMMENDED]
+# Sets the delay between consecutive uses of the MemoServ SEND command.
+# This can help prevent spam as well as denial-of-service attacks from
+# sending large numbers of memos and filling up disk space (and
+# memory). A 3-second wait means a maximum average of 150 bytes of
+# memo per second per user under the current IRC protocol.
+
+MSSendDelay 3s
+
+# MSNotifyAll [OPTIONAL]
+# Should we notify all appropriate users of a new memo? This applies
+# in cases where a memo is sent to a nick which is in the group of
+# another nick. Note that, unlike before, it is currently often more
+# efficient to enable this.
+
+MSNotifyAll
+
+# MSMemoReceipt [OPTIONAL]
+# Allow the use of memo receipts for the following groups:
+# 1 - Opers Only
+# 2 - Everybody
+#
+#MSMemoReceipt 1
+
+###########################################################################
+#
+# BotServ configuration
+#
+###########################################################################
+
+# BSDef... [OPTIONAL]
+# Sets the default options for newly registered channels. Note that
+# changing these options will have no effect on channels which are
+# already registered.
+
+#BSDefDontKickOps
+#BSDefDontKickVoices
+BSDefGreet
+BSDefFantasy
+BSDefSymbiosis
+
+# BSMinUsers <count> [REQUIRED]
+# Minimum number of users there must be in a channel before the
+# bot joins it. The best value for this setting is 1 or 2. This
+# cannot be 0, otherwise topic retention and mode lock and such
+# other things won't work.
+
+BSMinUsers 1
+
+# BSBadWordsMax <count> [REQUIRED]
+# Maximum number of entries a single bad words list can have.
+# Setting it too high can reduce performances slightly.
+
+BSBadWordsMax 32
+
+# BSKeepData <time> [REQUIRED]
+# Amount of time data for a user that is used by BotServ is
+# valid. If the data exceeds this time, it is reset or deleted
+# depending the case. Do not set it too high otherwise your resources
+# will be slightly affected.
+
+BSKeepData 10m
+
+# BSSmartJoin [OPTIONAL]
+# The bot is currently not affected by any modes or bans when he
+# tries to join a channel. But some people may want to make it
+# act like a real bot, that is, for example, remove all bans
+# that affect the bot before joining the channel, remove a
+# ban that affects the bot set by an user when it is on the
+# channel, and so on. Since it consumes a bit more CPU time,
+# you should not comment it out on larger networks.
+
+# BSSmartJoin
+
+# BSGentleBWReason [OPTIONAL]
+# This option will make the bot use a kick reason that does not retake
+# the word when it is kicking the bot. This is especially useful if
+# you have young people on your network.
+
+BSGentleBWReason
+
+# BSCaseSensitive [OPTIONAL]
+# This option will make botserv use cAsE sEnSiTiVe checking for badwords
+
+# BSCaseSensitive
+
+# BSFantasyCharacter [OPTIONAL]
+# This option allows you to change the default prefix for fantasy
+# commands in channels. This character will have to be prepended to
+# all fantasy commands. If you choose "!", fantasy commands will, for
+# example, be "!kick", "!op", etc. If left out, the default fantasy
+# character will be "!".
+
+# BSFantasyCharacter "!"
+
+###########################################################################
+#
+# HostServ configuration
+#
+###########################################################################
+
+# HostSetters <nicks> [DISCOURAGED]
+# Specifies the nicks of NON-OPERS allowed to Set/Remove vHosts using
+# HostServ. Can be re-loaded with /msg operserv reload
+# You can specify more than one nick by separating each one by a space.
+#
+# Make sure you insert the correct nick(s) here..
+
+#HostSetters "rob dengel certus"
+
+###########################################################################
+#
+# OperServ configuration
+#
+###########################################################################
+
+# ServicesRoot <nicks> [REQUIRED]
+# Specifies the Services "super-users". The super-users, or "roots" as in
+# Unix terminology, are the only users who can add or delete Services
+# admins.
+#
+# You can specify more than one nick by separating each one by a space.
+#
+# This is commented out by default; make sure you insert the correct
+# nick before uncommenting it.
+
+#ServicesRoot "dengel anope"
+
+# SuperAdmin [OPTIONAL]
+# When enabled, Services admins will be able to use SuperAdmin [ON|OFF]
+# which will temporarily grant them extra privileges, such as being a
+# founder of _all_ channels, ability to adjust another users modes etc..
+
+#SuperAdmin
+
+# LogMaxUsers [OPTIONAL]
+# Causes Services to write a message to the log every time a new user
+# maximum is set.
+
+LogMaxUsers
+
+# ...Expiry <time> [REQUIRED]
+# Sets the default expiry time for, respectively, AKILLs, SGLINEs,
+# SQLINEs and SZLINEs.
+
+AutoKillExpiry 30d
+ChanKillExpiry 30d
+SGLineExpiry 30d
+SQLineExpiry 30d
+SZLineExpiry 30d
+
+# AkillOnAdd [OPTIONAL]
+#
+# When enabled, this option makes the services send an AKILL command
+# immediately after it has been added with AKILL ADD. This eliminates
+# the need of killing the users after the akill has been added.
+
+# AkillOnAdd
+
+# KillOnSGline [OPTIONAL]
+#
+# When enabled, this option makes the services send an (SVS)KILL command
+# immediately after SGLINE ADD. This eliminates the need of killing the
+# users after the SGLINE has been added.
+
+# KillOnSGline
+
+# KillOnSQline [OPTIONAL]
+#
+# When enabled, this option makes the services send an (SVS)KILL command
+# immediately after SQLINE ADD. This eliminates the need of killing the
+# users after the SQLINE has been added.
+
+# KillOnSQline
+
+# DisableRaw [RECOMMENDED]
+#
+# Disables the highly destructive OperServ RAW command.
+
+DisableRaw
+
+# WallOper [OPTIONAL]
+# Causes Services to send a WALLOPS/GLOBOPS when a user becomes an IRC
+# operator. Note that this can cause WALLOPS floods when Services
+# first connects to the network.
+
+#WallOper
+
+# WallBadOS [OPTIONAL]
+# Causes Services to send a WALLOPS/GLOBOPS if a non-IRC-operator tries
+# to use OperServ.
+
+#WallBadOS
+
+# WallOS... [OPTIONAL]
+# Cause Services to send a WALLOPS/GLOBOPS on use of each of the
+# OperServ commands listed.
+
+WallOSGlobal
+WallOSMode
+WallOSClearmodes
+WallOSKick
+WallOSAkill
+WallOSSGLine
+WallOSSQLine
+WallOSSZLine
+WallOSNoOp
+WallOSJupe
+WallOSRaw
+
+# Wall...Expire [OPTIONAL]
+# Causes Services to send a WALLOPS/GLOBOPS whenever respectively
+# an AKILL, an SGLINE, an SQLINE, an SZLINE and a session limit
+# exception expires.
+
+#WallAkillExpire
+#WallSGLineExpire
+#WallSQLineExpire
+#WallSZLineExpire
+#WallExceptionExpire
+
+# WallGetpass [OPTIONAL]
+# Causes Services to send a WALLOPS/GLOBOPS on use of the NickServ or
+# ChanServ GETPASS command.
+
+WallGetpass
+
+# WallSetpass [OPTIONAL]
+# Causes Services to send a WALLOPS/GLOBOPS whenever a Services admin
+# sets a password for a nickname or channel (s)he does not normally have
+# privileges to set.
+
+WallSetpass
+
+# WallForbid [OPTIONAL]
+# Causes Services to send a WALLOPS/GLOBOPS on use of the NickServ or
+# ChanServ FORBID command.
+
+WallForbid
+
+# WallDrop [OPTIONAL]
+# Causes Services to send a WALLOPS/GLOBOPS whenever a Services admin
+# drops a nickname or channel (s)he does not normally have
+# privileges to drop.
+
+WallDrop
+
+# LimitSessions [OPTIONAL]
+# Enables session limiting. Session limiting prevents users from
+# connecting more than a certain number of times from the same host at the
+# same time - thus preventing most types of cloning. Once a host reaches
+# it's session limit, all clients attempting to connect from that host
+# will be killed. Exceptions to the default session limit can be defined
+# via the exception list. It should be noted that session limiting, along
+# with a large exception list, can degrade services' performance.
+# See the source and comments in sessions.c and the online help for more
+# information about session limiting.
+#
+# NOTE: This option is not available when STREAMLINED is defined in
+# the Makefile.
+
+LimitSessions
+
+# DefSessionLimit <limit> [REQUIRED]
+# Default session limit per host. Once a host reaches it's session limit,
+# all clients attempting to connect from that host will be killed. A value
+# of zero means an unlimited session limit.
+
+DefSessionLimit 3
+
+# MaxSessionLimit <limit> [REQUIRED]
+# The maximum session limit that may be set for a host in an exception.
+
+MaxSessionLimit 100
+
+# ExceptionExpiry <time> [REQUIRED]
+# Sets the default expiry time for exceptions.
+
+ExceptionExpiry 1d
+
+# SessionLimitExceeded <message> [OPTIONAL]
+# The message that will be NOTICE'd to a user just before they are removed
+# from the network because their's host session-limit has been exceeded.
+# It may be used to give a slightly more descriptive reason for the
+# impending kill as apposed to simply "Session limit exceeded". If this is
+# commented out, nothing will be sent.
+
+SessionLimitExceeded "The session limit for your host %s has been exceeded."
+
+# SessionLimitDetailsLoc <message> [OPTIONAL]
+# Same as above, but should be used to provide a website address where
+# users can find out more about session limits and how to go about
+# applying for an exception. If this is commented out, nothing will be
+# sent.
+#
+# This option has been intentionally commented out in an effort to remind
+# you to change the URL it contains. It is recommended that you supply an
+# address/url where people can get help regarding session limits.
+
+#SessionLimitDetailsLoc "Please visit http://your.website.url/ for more information about session limits."
+
+# MaxSessionKill <number> [OPTIONAL]
+#
+# If given and different from 0, this option tells the Services to add an
+# AKILL when there is number subsequent kills for the same hostname, preventing
+# the network from KILL flood.
+
+MaxSessionKill 15
+
+# SessionAutoKillExpiry <time> [OPTIONAL]
+#
+# Sets the expiry time for autokills added for hosts that need to be
+# AKILLed as controlled by the MaxSessionKill option.
+#
+# If not given, the default value is 30 minutes.
+
+SessionAutoKillExpiry 30m
+
+
+# AddAkiller [OPTIONAL]
+# Adds the nickname of the Operator issuing an AKILL to the kill reason.
+#
+AddAkiller
+
+# OSOpersOnly [RECOMMENDED]
+# If this is defined, only IRC Operators will be permitted to use
+# OperServ, regardless of module based command access restrictions.
+
+OSOpersOnly
+
+
+###########################################################################
+#
+# DefCon configuration
+#
+###########################################################################
+
+# DefConLevel <level> [OPTIONAL]
+# Default defcon level (1-5) to use when starting services up, level 5
+# instructs services to run as normal.
+
+#DefConLevel 5
+
+# DefCon1-4 <numeric> [REQUIRED if Defcon is activated]
+# These numercics determine which of the following operations take place
+# at each level, the correct numeric can be found by adding together the
+# number for each restriction you wish to place at a level.
+# No new channel registrations 1
+# No New Nick Registrations 2
+# No MLOCK changes 4
+# Force Chan Mode 8
+# Use Reduced Session Limit 16
+# KILL any new clients trying to connect 32
+# Services will ignore everyone but opers 64
+# Services will silently ignore everyone but opers 128
+# AKILL all new clients trying to connect 256
+# No new memos sent to block memoserv attacks 512
+
+#DefCon4 23
+# No channel reg + No Nick Reg + No MLOCK changes + Use Reduced Session Limit
+# 1 + 2 + 4 + 16
+
+#DefCon3 31
+# As DefCon4 + Services will Force Chan Mode's on channels
+# 23 + 8
+
+#DefCon2 159
+# As DefCon3 + Services will silently ignore everyone but opers
+# 31 + 128
+
+#DefCon1 415
+# As DefCon2 + AKILL all new clients trying to connect
+# 159 + 256
+
+
+# DefConSessionLimit <limit> [REQUIRED if DefCon is activated]
+# New session limit to use when a defcon level is using "reduced"
+# session limiting.
+# NOTE: When using DefCon this value needs to be defined
+#DefConSessionLimit 2
+
+# DefConAkillExpire <time> [REQUIRED if DefCon is activated]
+# Length of time to add the AKILL for when DEFCON is preventing
+# all new clients from connecting to the network
+#
+# NOTE: As with all expire times, the expirey check will only be
+# carried out once every "ExpireTimeout" so if this setting is
+# 30m the the akill could last for 30m regardless of this setting.
+#
+# NOTE: When using DefCon this value needs to be defined
+#DefConAkillExpire 5m
+
+# DefConChanModes <modes> [REQUIRED if DefCon is activated]
+# The channel modes to set on all channel's when the DefCon channel
+# mode system is in use.
+#
+# NOTE: 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 channel's, e.g. if this setting is +RN
+# when defcon is used all channel's will be set to +RN, when
+# defcon is removed, channels will all be set to -RN. You don't
+# want to set this to +k for example because when defcon is removed all
+# channels will -k.
+# NOTE: mlock'ed modes will not be lost
+#DefConChanModes "+R"
+
+# DefConTimeOut <time> [OPTIONAL]
+# This value can be used to automatically return the network to
+# defcon 5 after the specified time period - just in case any opers
+# forget to remove a defcon setting.
+#DefConTimeOut 15m
+
+# GlobalOnDefcon [OPTIONAL]
+#
+# Setting this directive will make Services send a global message on
+# Defcon Level changes.
+#GlobalOnDefcon
+
+# GlobalOnDefconMore [OPTIONAL]
+#
+# Setting this directive will make Services send a global message on
+# Defcon Level changes. Uncommenting this will allow you to send along
+# with the new level, the DefconMessage.
+#GlobalOnDefconMore
+
+#DefconMessage "Put your message to send your users here. Dont forget to uncomment GlobalOnDefconMore"
+
+# DefConOffMessage [OPTIONAL]
+#
+# If this is defined, it will be used in place of GlobalOnDefcon and
+# GlobalOnDefconMore when defcon is returned to level 5
+#DefConOffMessage "Services are now back to normal, sorry for any inconvenience"
+
+# DefConAkillReason <text> [REQUIRED if DefCon is activated]
+#
+# When using DEFCON this setting will be used when any clients are killed
+# or akilled from the network by defcon
+#
+#DefConAkillReason "This network is currently not accepting connections, please try again later"
+
+###########################################################################
+#
+# MySQL configuration
+#
+###########################################################################
+#
+# Mysql [OPTIONAL]
+#
+# Your MySQL configuration for use with Anope.
+# To disable MySQL functionality, just comment out this block.
+# To make use of MySQL use these directives and change their
+# setting to the appropriate values.
+#
+# MysqlHost defines the Mysql server hostname.
+# MysqlUser defines the Mysql user to log in with.
+# MysqlPass defines the Mysql pass required for the specified user to log in.
+# MysqlName defines the Mysql database name Anope uses
+# MysqlSock defines the Mysql UNIX socket
+# MysqlPort defines the Mysql TCP port
+#
+#MysqlHost "localhost"
+#MysqlUser "Anonymous"
+#MysqlPass ""
+#MysqlName "anope"
+#MysqlSock "/tmp/mysql.sock"
+#MysqlPort 3306
+
+# MysqlSecure "<des>|<md5>|<sha>|<key>" [OPTIONAL]
+#
+# Method for storing passwords on MySQL. Available methods are:
+# Empty or not set will save your passwords as clear text.
+# des : Encrypt using a simple DES algorithm.
+# md5 : Produces the md5 hash for the password.
+# sha : Calculates the checksum using a Secure Hash Algorithm.
+# key : Encodes using "key" as password.
+# Please read docs/MYSQL file for more info and details.
+#
+#MysqlSecure ""
+
+
+# MysqlRetries <value> [OPTIONAL]
+# MysqlRetryGap <value> [OPTIONAL]
+#
+# These values let you define how often and with how much interruption Anope
+# shall retry to open a connection when losing the contact to the mysql db.
+# The product of these values must be between 1 and 60.
+#
+#MysqlRetries 10
+#MysqlRetryGap 1
+
+# UseRDB [OPTIONAL]
+#
+# Enable this if you want anope to load its data from a remote database.
+# (e.g. MySQL)
+#
+#UseRDB
+
+###########################################################################
+#
+# Module configuration
+#
+###########################################################################
+#
+# ModuleAutoload [OPTIONAL]
+#
+# When compiled with module support, this contains a space separated list
+# of modules to automatically load as soon as possible, e.g. IRCD support modules.
+#
+#ModuleAutoload "hs_moo ircd_defizzer os_ignore_db"
+
+# ModuleDelayedAutoload [OPTIONAL]
+#
+# When compiled with module support, this contains a space separated list
+# of modules to automaticaly load when services are ready for new clients.
+# e.g. new pesudo clients such as CatServ :-) *meow*
+# By default a number of modules that we found worth adding by default are
+# loaded. Feel free to change this if you want to add more, or remove some
+# from the list.
+#
+ModuleDelayedAutoload "cs_appendtopic cs_enforce ns_maxemail os_info hs_request"
+
+###########################################################################
+#
+# Module specific configuration
+#
+###########################################################################
+#
+# This section contains configuration options specific to certain modules.
+# The options in here are for the modules shipped by default. You can add
+# more options for other modules you load here. Check the documentation of
+# the module to see what configuration options it provides.
+
+# NSEmailMax [OPTIONAL]
+# Module: ns_maxemail
+#
+# Limit the amount of registrations with the same email address to the
+# amount given here. If set to 0 or left commented, there will be no limit
+# enforced when registering new accounts or using /msg NickServ SET EMAIL.
+#
+#NSEmailMax 1
+
+# OSInfoDBName [OPTIONAL]
+# Module: os_info
+#
+# Use the given filename as database for the oper information lines.
+# If not given, the default of "os_info.db" will be used.
+#
+#OSInfoDBName "os_info.db"
+
+# HSRequestMemo... [OPTIONAL]
+# Module: hs_request
+#
+# Specify if we should send memo's on certain actions with requested vHosts.
+# Enable HSRequestMemoUser to send memo's to the user requesting a vHost
+# when it's being approved or rejected. Enable HSRequestMemoOper or
+# HSRequestMemoSetters if you want to send a memo to all services staff
+# or host setters when a new vHost is requested.
+#
+#HSRequestMemoUser
+#HSRequestMemoOper
+#HSRequestMemoSetters
+
+# HSRequestDBName [OPTIONAL]
+# Module: hs_request
+#
+# Use the given filename as database for the vhost requests. If not given,
+# the default of "hs_request.db" will be used.
+#
+#HSRequestDBName "hs_request.db"
+
+# OSIgnoreDBName [OPTIONAL]
+# Module: os_ignore_db
+#
+# Use the given filename as database to store services' ignores.
+# If not given, the default of "os_ignore.db" will be used.
+#
+#OSIgnoreDBName "os_ignore.db"
+
+#EOF
diff --git a/data/tables.sql b/data/tables.sql
new file mode 100644
index 000000000..2d4889cb5
--- /dev/null
+++ b/data/tables.sql
@@ -0,0 +1,433 @@
+
+-- If you need to create your db, uncomment the following lines.
+--
+-- CREATE DATABASE anope;
+-- USE anope;
+
+--
+-- Table structure for table 'anope_bs_core'
+--
+
+DROP TABLE IF EXISTS anope_bs_core;
+CREATE TABLE anope_bs_core (
+ bs_id int(11) NOT NULL auto_increment,
+ nick varchar(255) NOT NULL default '',
+ `user` text NOT NULL,
+ host text NOT NULL,
+ rname text NOT NULL,
+ flags int(11) NOT NULL default '0',
+ created int(11) NOT NULL default '0',
+ chancount int(11) NOT NULL default '0',
+ active int(1) NOT NULL default '1',
+ PRIMARY KEY (bs_id),
+ UNIQUE KEY nick (nick)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_cs_access'
+--
+
+DROP TABLE IF EXISTS anope_cs_access;
+CREATE TABLE anope_cs_access (
+ ca_id int(11) NOT NULL auto_increment,
+ in_use int(11) NOT NULL default '0',
+ `level` int(11) NOT NULL default '0',
+ display varchar(255) NOT NULL default '',
+ channel varchar(255) NOT NULL default '',
+ last_seen int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (ca_id),
+ UNIQUE KEY channel (channel,display)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_cs_akicks'
+--
+
+DROP TABLE IF EXISTS anope_cs_akicks;
+CREATE TABLE anope_cs_akicks (
+ ck_id int(11) NOT NULL auto_increment,
+ channel varchar(255) NOT NULL default '',
+ flags int(11) NOT NULL default '0',
+ dmask varchar(255) NOT NULL,
+ reason text NOT NULL,
+ creator text NOT NULL,
+ addtime int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (ck_id),
+ UNIQUE KEY channel (channel,dmask)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_cs_badwords'
+--
+
+DROP TABLE IF EXISTS anope_cs_badwords;
+CREATE TABLE anope_cs_badwords (
+ cw_id int(11) NOT NULL auto_increment,
+ channel varchar(255) NOT NULL default '',
+ word varchar(255) NOT NULL,
+ `type` int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (cw_id),
+ UNIQUE KEY channel (channel,word)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_cs_info'
+--
+
+DROP TABLE IF EXISTS anope_cs_info;
+CREATE TABLE anope_cs_info (
+ ci_id int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ founder text NOT NULL,
+ successor text NOT NULL,
+ founderpass tinyblob NOT NULL,
+ descr text NOT NULL,
+ url text NOT NULL,
+ email text NOT NULL,
+ time_registered int(10) unsigned NOT NULL default '0',
+ last_used int(10) unsigned NOT NULL default '0',
+ last_topic text NOT NULL,
+ last_topic_setter text NOT NULL,
+ last_topic_time int(10) unsigned NOT NULL default '0',
+ flags int(10) unsigned NOT NULL default '0',
+ forbidby text NOT NULL,
+ forbidreason text NOT NULL,
+ bantype smallint(6) NOT NULL default '0',
+ accesscount smallint(6) NOT NULL default '0',
+ akickcount smallint(6) NOT NULL default '0',
+ mlock_on int(10) unsigned NOT NULL default '0',
+ mlock_off int(10) unsigned NOT NULL default '0',
+ mlock_limit int(10) unsigned NOT NULL default '0',
+ mlock_key text NOT NULL,
+ mlock_flood text NOT NULL,
+ mlock_redirect text NOT NULL,
+ entry_message text NOT NULL,
+ memomax smallint(5) unsigned NOT NULL default '0',
+ botnick varchar(255) NOT NULL default '',
+ botflags int(10) unsigned NOT NULL default '0',
+ bwcount smallint(6) NOT NULL default '0',
+ capsmin smallint(6) NOT NULL default '0',
+ capspercent smallint(6) NOT NULL default '0',
+ floodlines smallint(6) NOT NULL default '0',
+ floodsecs smallint(6) NOT NULL default '0',
+ repeattimes smallint(6) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (ci_id),
+ UNIQUE KEY `name` (`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_cs_levels'
+--
+
+DROP TABLE IF EXISTS anope_cs_levels;
+CREATE TABLE anope_cs_levels (
+ cl_id int(11) NOT NULL auto_increment,
+ channel varchar(255) NOT NULL default '',
+ position int(11) NOT NULL default '0',
+ `level` int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (cl_id),
+ UNIQUE KEY channel (channel,position)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_cs_ttb'
+--
+
+DROP TABLE IF EXISTS anope_cs_ttb;
+CREATE TABLE anope_cs_ttb (
+ ct_id int(11) NOT NULL auto_increment,
+ channel varchar(255) NOT NULL default '',
+ ttb_id int(11) NOT NULL default '0',
+ `value` int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (ct_id),
+ UNIQUE KEY channel (channel,ttb_id)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_hs_core'
+--
+
+DROP TABLE IF EXISTS anope_hs_core;
+CREATE TABLE anope_hs_core (
+ bs_id int(11) NOT NULL auto_increment,
+ nick varchar(255) NOT NULL default '',
+ vident text NOT NULL,
+ vhost text NOT NULL,
+ creator text NOT NULL,
+ `time` int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (bs_id),
+ UNIQUE KEY nick (nick)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_info'
+--
+
+DROP TABLE IF EXISTS anope_info;
+CREATE TABLE anope_info (
+ version int(11) default NULL,
+ `date` datetime default NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_ms_info'
+--
+
+DROP TABLE IF EXISTS anope_ms_info;
+CREATE TABLE anope_ms_info (
+ nm_id int(11) NOT NULL auto_increment,
+ receiver varchar(255) NOT NULL,
+ number int(11) NOT NULL default '0',
+ flags int(11) NOT NULL default '0',
+ `time` int(11) NOT NULL default '0',
+ sender text NOT NULL,
+ `text` blob NOT NULL,
+ serv enum('NICK','CHAN') NOT NULL default 'NICK',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (nm_id),
+ UNIQUE KEY nm_id (nm_id,serv),
+ KEY receiver (receiver,serv)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_ns_access'
+--
+
+DROP TABLE IF EXISTS anope_ns_access;
+CREATE TABLE anope_ns_access (
+ na_id int(11) NOT NULL auto_increment,
+ display varchar(255) NOT NULL default '',
+ access text NOT NULL,
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (na_id),
+ UNIQUE KEY display (display)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_ns_alias'
+--
+
+DROP TABLE IF EXISTS anope_ns_alias;
+CREATE TABLE anope_ns_alias (
+ na_id int(11) NOT NULL auto_increment,
+ display varchar(255) NOT NULL default '',
+ nick varchar(255) NOT NULL default '',
+ time_registered int(10) unsigned NOT NULL default '0',
+ last_seen int(10) unsigned NOT NULL default '0',
+ `status` int(11) unsigned NOT NULL default '0',
+ last_usermask text NOT NULL,
+ last_realname text NOT NULL,
+ last_quit text NOT NULL,
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (na_id),
+ UNIQUE KEY nick (nick)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_ns_core'
+--
+
+DROP TABLE IF EXISTS anope_ns_core;
+CREATE TABLE anope_ns_core (
+ nc_id int(11) NOT NULL auto_increment,
+ display varchar(255) NOT NULL default '',
+ pass tinyblob NOT NULL,
+ email text NOT NULL,
+ icq int(10) unsigned NOT NULL default '0',
+ url text NOT NULL,
+ flags int(11) NOT NULL default '0',
+ `language` smallint(5) unsigned NOT NULL default '0',
+ accesscount smallint(6) NOT NULL default '0',
+ memocount smallint(5) unsigned NOT NULL default '0',
+ memomax smallint(5) unsigned NOT NULL default '0',
+ channelcount smallint(5) unsigned NOT NULL default '0',
+ channelmax smallint(5) unsigned NOT NULL default '0',
+ greet text NOT NULL,
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (nc_id),
+ UNIQUE KEY display (display)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_ns_request'
+--
+
+DROP TABLE IF EXISTS anope_ns_request;
+CREATE TABLE anope_ns_request (
+ nr_id int(11) NOT NULL auto_increment,
+ nick varchar(255) NOT NULL default '',
+ passcode text NOT NULL,
+ `password` tinyblob NOT NULL,
+ email text NOT NULL,
+ requested int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (nr_id),
+ UNIQUE KEY nick (nick)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_os_akills'
+--
+
+DROP TABLE IF EXISTS anope_os_akills;
+CREATE TABLE anope_os_akills (
+ ok_id int(11) NOT NULL auto_increment,
+ `user` varchar(255) NOT NULL,
+ host varchar(255) NOT NULL,
+ xby text NOT NULL,
+ reason text NOT NULL,
+ seton int(11) NOT NULL default '0',
+ expire int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (ok_id),
+ UNIQUE KEY `user` (`user`,host)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_os_core'
+--
+
+DROP TABLE IF EXISTS anope_os_core;
+CREATE TABLE anope_os_core (
+ oc_id int(11) NOT NULL auto_increment,
+ maxusercnt int(11) NOT NULL default '0',
+ maxusertime int(11) NOT NULL default '0',
+ akills_count int(11) NOT NULL default '0',
+ sglines_count int(11) NOT NULL default '0',
+ sqlines_count int(11) NOT NULL default '0',
+ szlines_count int(11) NOT NULL default '0',
+ PRIMARY KEY (oc_id)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_os_exceptions'
+--
+
+DROP TABLE IF EXISTS anope_os_exceptions;
+CREATE TABLE anope_os_exceptions (
+ oe_id int(11) NOT NULL auto_increment,
+ mask varchar(255) NOT NULL,
+ lim int(11) NOT NULL default '0',
+ who text NOT NULL,
+ reason text NOT NULL,
+ `time` int(11) NOT NULL default '0',
+ expires int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (oe_id),
+ UNIQUE KEY mask (mask)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_os_news'
+--
+
+DROP TABLE IF EXISTS anope_os_news;
+CREATE TABLE anope_os_news (
+ on_id int(11) NOT NULL auto_increment,
+ `type` int(11) NOT NULL default '0',
+ num int(11) NOT NULL default '0',
+ ntext text NOT NULL,
+ who text NOT NULL,
+ `time` int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (on_id),
+ UNIQUE KEY `type` (`type`,num,`time`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_os_sglines'
+--
+
+DROP TABLE IF EXISTS anope_os_sglines;
+CREATE TABLE anope_os_sglines (
+ og_id int(11) NOT NULL auto_increment,
+ mask varchar(255) NOT NULL,
+ xby text NOT NULL,
+ reason text NOT NULL,
+ seton int(11) NOT NULL default '0',
+ expire int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (og_id),
+ UNIQUE KEY mask (mask)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_os_sqlines'
+--
+
+DROP TABLE IF EXISTS anope_os_sqlines;
+CREATE TABLE anope_os_sqlines (
+ og_id int(11) NOT NULL auto_increment,
+ mask varchar(255) NOT NULL,
+ xby text NOT NULL,
+ reason text NOT NULL,
+ seton int(11) NOT NULL default '0',
+ expire int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (og_id),
+ UNIQUE KEY mask (mask)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table 'anope_os_szlines'
+--
+
+DROP TABLE IF EXISTS anope_os_szlines;
+CREATE TABLE anope_os_szlines (
+ og_id int(11) NOT NULL auto_increment,
+ mask varchar(255) NOT NULL,
+ xby text NOT NULL,
+ reason text NOT NULL,
+ seton int(11) NOT NULL default '0',
+ expire int(11) NOT NULL default '0',
+ active tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (og_id),
+ UNIQUE KEY mask (mask)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;