summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorsvn svn@31f1291d-b8d6-0310-a050-a5561fc1590b <svn svn@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-03-28 21:59:56 +0000
committersvn svn@31f1291d-b8d6-0310-a050-a5561fc1590b <svn svn@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-03-28 21:59:56 +0000
commit55bf4dbcabf378e9472b7d31d6edf87f6ac853e9 (patch)
tree7a9454ea6b8750256e242cf6d5fba3ca7a4b5044 /data
Initial Anope Import
git-svn-id: svn://svn.anope.org/anope/trunk@1 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'data')
-rw-r--r--data/example.chk44
-rw-r--r--data/example.conf1450
-rw-r--r--data/tables.sql470
3 files changed, 1964 insertions, 0 deletions
diff --git a/data/example.chk b/data/example.chk
new file mode 100644
index 000000000..fe7632417
--- /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 ux| 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..1b7e39f15
--- /dev/null
+++ b/data/example.conf
@@ -0,0 +1,1450 @@
+# 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 /usr/local/lib/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.
+
+###########################################################################
+#
+# 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 sthing, 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"
+#DevNullName "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 got op 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
+
+# NetworkDomain <name> [OPTIONAL]
+#
+# If your network has a common domain name, specify it there (for
+# example, all IRCZONE servers have a name ending in ".irczone.cl",
+# so "irczone.cl" would be set there. It will be used by the OperServ
+# GLOBAL command, and if you don't have a common domain name, this
+# command may just not work.
+#
+# You can specify more than one Network Domain by separating each one by
+# a space: NetworkDomain "localnet.net localnet.com"
+
+NetworkDomain "localnet.com"
+
+# NetworkName <name> [REQUIRED]
+#
+# This is the name of the network the Services are running on.
+
+NetworkName "LocalNet"
+
+###########################################################################
+#
+# Basic functionality
+#
+###########################################################################
+
+# 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
+
+# ListOpersOnly [DEPRECATED]
+# When enabled, limits use of the ChanServ and NickServ LIST commands
+# to IRC operators.
+#
+# This directive has been superseded by the NSListOpersOnly and
+# CSListOpersOnly directives.
+
+#ListOpersOnly
+
+# 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 (subect 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 undefinitely.
+#
+# 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 will make Services send PRIVMSGs to users instead of
+# NOTICEs by default, and allow users to set how Services should
+# communicate with them.
+#
+# This is a feature that is against the IRC RFC and should be used
+# _only_ if absolutely necessary.
+
+#UsePrivmsg
+
+# 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 shuting 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
+
+###########################################################################
+#
+# 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.
+
+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 needs no parameters on the command line.
+
+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
+
+###########################################################################
+#
+# Proxy detection
+#
+###########################################################################
+
+# Note: if ProxyDetect is not set, all parameters after it in this section
+# are optional.
+
+# ProxyDetect [OPTIONAL]
+#
+# Enables insecure proxy detection. Services will automatically
+# scan each incoming user and akill those that use insecure proxy.
+#
+# Anope currently supports detection of Wingate (port 23), SOCKS4/5
+# (port 1080), and HTTP proxy (ports 3128 and 8080). It uses the
+# protocol of each proxy type to connect to an IRC server, it does
+# not only check if the port is open (so your users may still have
+# an open telnet server on their port 23 for example).
+#
+# WARNING: You should get the authorization of the administrator of
+# the computer which runs the proxy detector before enabling it; not
+# all administrators will accept it. Also note that in certain
+# countries, port scanning is prohibited.
+#
+# This feature requires threading support to be compiled into Anope.
+
+#ProxyDetect
+
+# ProxyThreads <number> [REQUIRED]
+#
+# Sets the number of threads Services will launch when starting. Each
+# thread will have the responsability to scan queued hostname for
+# proxies.
+#
+# This value must be set depending of the number of users you have
+# on your network. The more threads are used, the more simultaneous
+# checks can be done. Remember however, that threads are
+# resource-consuming.
+#
+# WARNING: On Linux, each thread takes a background process, and there
+# is an additional process used for thread management; this is a problem
+# if you are limited in the number of background process you can use
+# (on a paid shell for example).
+
+ProxyThreads 5
+
+# ProxyMessage... <message> [RECOMMENDED]
+#
+# Sets the notices that will be sent out to users before Services
+# scan them for proxy. You may not use all of them, but just as much as
+# necessary.
+
+ProxyMessage1 "I will now detect if you're using an insecure proxy."
+ProxyMessage2 "If you see a connection on port 23, 1080, 3128 or 8080 from"
+ProxyMessage3 "my.box.net, please disregard it, as it is the detector in action."
+ProxyMessage4 "See http://proxy.myirc.net/ for information about our proxy policy."
+#ProxyMessage5 "Enter"
+#ProxyMessage6 "whatever"
+#ProxyMessage7 "you want"
+#ProxyMessage8 "here."
+
+# ProxyCheck... [OPTIONAL]
+#
+# Determines what types of proxy AnopAnope wille try to find (respectively
+# Wingate on port 23, SOCKS4 on port 1080, SOCKS5 on port 1080, HTTP
+# proxy on port 3128, HTTP proxy on port 8080 and HTTP proxy on port
+# 80).
+
+ProxyCheckWingate
+ProxyCheckSocks4
+ProxyCheckSocks5
+ProxyCheckHTTP1
+ProxyCheckHTTP2
+ProxyCheckHTTP3
+
+# ProxyTimeout <time> [REQUIRED]
+
+# Sets the maximum length of time we allow a connect/read operation to
+# take. If you set this value too high, your threads may hang on a single
+# check for a very long time. The best is to try different values
+# and see which one is the more efficient for your network.
+
+ProxyTimeout 15s
+
+# ProxyTestServer <ip> <port> [REQUIRED]
+#
+# Sets the *IP* and port of the IRC server to use as a target when
+# testing users for proxy.
+
+ProxyTestServer "1.2.3.4" 6667
+
+# ProxyExpire <time> [RECOMMENDED]
+#
+# Sets the length of time before a proxy host cache entry expires, if
+# not used.
+
+ProxyExpire 30d
+
+# ProxyCacheExpire <time> [REQUIRED]
+#
+# Sets the length of time before a normal host cache entry expires, if
+# not used. This cannot be set to 0d.
+#
+# Every non-proxy hosts will be stored in cache (to avoid too many scans
+# to the same host), so you should set this enough low to not fill your
+# memory, especially on large networks.
+
+ProxyCacheExpire 1d
+
+# ProxyAkillReason <reason>
+#
+# Sets the reason that will be used to AKILL an user from the network
+# if a proxy is detected.
+
+ProxyAkillReason "You're using an insecure proxy. See http://proxy.myirc.net/config.html for information about how to config your proxy in a safe manner."
+
+# WallProxy [OPTIONAL]
+#
+# Sends a WALLOPS/GLOBOPS when an user using an insecure proxy is being
+# AKILLed.
+
+WallProxy
+
+# ProxyMax <number> [REQUIRED]
+#
+# Sets the maximum proxy cache entries that can be displayed in a single
+# call to OperServ CACHE.
+
+ProxyMax 50
+
+###########################################################################
+#
+# 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 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
+
+# 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.
+#
+# 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
+
+# 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
+
+# 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 relased
+# for general use again
+
+# 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
+
+###########################################################################
+#
+# 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 exmple) 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
+
+###########################################################################
+#
+# 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 slightely.
+
+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
+
+###########################################################################
+#
+# 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
+
+# KillClonesAkillExpire <time> [REQUIRED]
+# Sets the expiry time for autokills added for hosts that have been
+# killed using the KILLCLONES command.
+
+KillClonesAkillExpire 30m
+
+# 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, which are based
+# on host names, 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.
+#
+# Session limiting is meant to replace the CheckClones and KillClones
+# code. It is therefore highly recommened that they are disabled when
+# session limiting has been enabled.
+#
+# 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
+
+# CheckClones <minusers> <maxdelay> <warningdelay> [DEPRECATED]
+# Causes Services to try and detect "clones" connecting to the network.
+# A WALLOPS (or GOPER, if supported on the IRC server) will be sent if
+# Services thinks it has found clones.
+#
+# This feature has been superceded by Session Limiting.
+#
+# <minusers> sets the minimum number of users which must successively
+# connect to the network before Services will send a clone warning.
+#
+# <maxdelay> sets the maximum time that can elapse between successive
+# users before Services decides they are not clones.
+#
+# <warningdelay> sets the minimum time between clone warnings for
+# clones from the same host.
+#
+# NOTE: This option is not available when STREAMLINED is defined in
+# the Makefile.
+
+# CheckClones 5 10s 30s
+
+# KillClones [DISCOURAGED] [DEPRECATED]
+# Causes Services to kill users which trigger the clone warnings. (If
+# CheckClones is disabled, this will have no effect.)
+#
+# This feature has been superceded by Session Limiting.
+#
+# BEWARE! The clone checking code is easily fooled; it can be
+# triggered falsely under many conditions, for example:
+#
+# - Multiple users connecting from a shell machine.
+#
+# - A single user repeatedly connecting and disconnecting.
+#
+# Be very sure you know what you're doing before you even think about
+# enabling this option, and remember that Services comes with no
+# warranty.
+#
+# If that wasn't enough discouragement:
+#
+# ***** DO NOT ENABLE THIS OPTION! *****
+#
+# NOTE: This option is not available when STREAMLINED is defined in
+# the Makefile.
+
+#KillClones
+
+# AddAkiller [OPTIONAL]
+# Adds the nickname of the Operator issuing an AKILL to the kill reason.
+#
+AddAkiller
+
+###########################################################################
+#
+# 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
+# 32 + 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 automaticaly 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 appropiate 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
+
+###########################################################################
+#
+# Module configuration
+#
+###########################################################################
+#
+# ModuleAutoload [OPTIONAL]
+#
+# When compiled with module support, this contains a space seperated list
+# of modules to automaticaly load as soon as possible, e.g. IRCD support modules.
+#
+#ModuleAutoload "hs_moo ircd_defizzer"
+
+# ModuleDelayedAutoload [OPTIONAL]
+#
+# When compiled with module support, this contains a space seperated list
+# of modules to automaticaly load when services are ready for new clients.
+# e.g. new pesudo clients such as CatServ :-) *meow*
+#
+#ModuleDelayedAutoload "ircd_catserv"
+
+#EOF
diff --git a/data/tables.sql b/data/tables.sql
new file mode 100644
index 000000000..533a4c6e8
--- /dev/null
+++ b/data/tables.sql
@@ -0,0 +1,470 @@
+
+-- If you need to create your db, uncomment the following lines.
+-- create database anope;
+-- use anope;
+
+--
+-- 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
+) TYPE=MyISAM;
+
+--
+-- 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',
+ PRIMARY KEY (bs_id),
+ UNIQUE KEY nick (nick),
+ KEY nick_index (nick(10))
+) TYPE=MyISAM;
+
+--
+-- 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',
+ PRIMARY KEY (ca_id)
+) TYPE=MyISAM;
+
+--
+-- 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 text NOT NULL,
+ reason text NOT NULL,
+ creator text NOT NULL,
+ addtime int(11) NOT NULL default '0',
+ PRIMARY KEY (ck_id)
+) TYPE=MyISAM;
+
+--
+-- 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 text NOT NULL,
+ type int(11) NOT NULL default '0',
+ PRIMARY KEY (cw_id)
+) TYPE=MyISAM;
+
+--
+-- 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',
+ ttb smallint(6) 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),
+ KEY name_index (name(10))
+) TYPE=MyISAM;
+
+--
+-- 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',
+ PRIMARY KEY (cl_id)
+) TYPE=MyISAM;
+
+--
+-- 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',
+ PRIMARY KEY (bs_id),
+ UNIQUE KEY nick (nick),
+ KEY nick_index (nick(10))
+) TYPE=MyISAM;
+
+--
+-- 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 text 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',
+ PRIMARY KEY (nm_id)
+) TYPE=MyISAM;
+
+--
+-- 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,
+ PRIMARY KEY (na_id)
+) TYPE=MyISAM;
+
+--
+-- 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 smallint(6) 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),
+ KEY nick_index (nick(10))
+) TYPE=MyISAM;
+
+--
+-- 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),
+ KEY display_index (display(10))
+) TYPE=MyISAM;
+
+--
+-- 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 int(1) NOT NULL default '1',
+ PRIMARY KEY (nr_id),
+ UNIQUE KEY nick (nick),
+ KEY nick_index (nick(10))
+) TYPE=MyISAM;
+
+--
+-- 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 text NOT NULL,
+ host text NOT NULL,
+ xby text NOT NULL,
+ reason text NOT NULL,
+ seton int(11) NOT NULL default '0',
+ expire int(11) NOT NULL default '0',
+ PRIMARY KEY (ok_id)
+) TYPE=MyISAM;
+
+--
+-- 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)
+) TYPE=MyISAM;
+
+--
+-- 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 text 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',
+ PRIMARY KEY (oe_id)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `anope_os_hcache`
+--
+
+DROP TABLE IF EXISTS anope_os_hcache;
+CREATE TABLE anope_os_hcache (
+ oh_id int(11) NOT NULL auto_increment,
+ mask text NOT NULL,
+ status int(11) NOT NULL default '0',
+ used int(11) NOT NULL default '0',
+ PRIMARY KEY (oh_id)
+) TYPE=MyISAM;
+
+--
+-- 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',
+ PRIMARY KEY (on_id)
+) TYPE=MyISAM;
+
+--
+-- 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 text NOT NULL,
+ xby text NOT NULL,
+ reason text NOT NULL,
+ seton int(11) NOT NULL default '0',
+ expire int(11) NOT NULL default '0',
+ PRIMARY KEY (og_id)
+) TYPE=MyISAM;
+
+--
+-- 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 text NOT NULL,
+ xby text NOT NULL,
+ reason text NOT NULL,
+ seton int(11) NOT NULL default '0',
+ expire int(11) NOT NULL default '0',
+ PRIMARY KEY (og_id)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `anope_os_status`
+--
+
+DROP TABLE IF EXISTS anope_os_status;
+CREATE TABLE anope_os_status (
+ os_id int(11) NOT NULL auto_increment,
+ host text NOT NULL,
+ status int(11) NOT NULL default '0',
+ used int(11) NOT NULL default '0',
+ PRIMARY KEY (os_id)
+) TYPE=MyISAM;
+
+--
+-- 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 text NOT NULL,
+ xby text NOT NULL,
+ reason text NOT NULL,
+ seton int(11) NOT NULL default '0',
+ expire int(11) NOT NULL default '0',
+ PRIMARY KEY (og_id)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `bugs`
+--
+
+DROP TABLE IF EXISTS bugs;
+CREATE TABLE bugs (
+ b_id int(9) NOT NULL auto_increment,
+ b_moduleid int(9) NOT NULL default '0',
+ b_title varchar(40) NOT NULL default '',
+ b_desc text NOT NULL,
+ b_reporter varchar(15) NOT NULL default '',
+ PRIMARY KEY (b_id)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `modules`
+--
+
+DROP TABLE IF EXISTS modules;
+CREATE TABLE modules (
+ m_id int(9) NOT NULL auto_increment,
+ m_name varchar(30) NOT NULL default '',
+ m_category enum('OperServ','NickServ','MemoServ','ChanServ','BotServ','HostServ','HelpServ','Misc') NOT NULL default 'Misc',
+ m_description longtext NOT NULL,
+ m_activated enum('0','1') NOT NULL default '0',
+ m_owner varchar(15) NOT NULL default '',
+ m_path varchar(40) NOT NULL default '',
+ m_updated date NOT NULL default '0000-00-00',
+ m_official enum('0','1') NOT NULL default '0',
+ m_version varchar(5) NOT NULL default '',
+ PRIMARY KEY (m_id)
+) TYPE=MyISAM PACK_KEYS=0;
+
+--
+-- Table structure for table `requests`
+--
+
+DROP TABLE IF EXISTS requests;
+CREATE TABLE requests (
+ r_id int(3) NOT NULL auto_increment,
+ r_title varchar(30) NOT NULL default '',
+ r_category enum('OperServ','NickServ','MemoServ','ChanServ','BotServ','HostServ','HelpServ','Misc') NOT NULL default 'Misc',
+ r_description longtext NOT NULL,
+ r_owner varchar(15) NOT NULL default 'Anonymous',
+ r_assigned varchar(15) NOT NULL default '',
+ PRIMARY KEY (r_id)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `uploaded`
+--
+
+DROP TABLE IF EXISTS uploaded;
+CREATE TABLE uploaded (
+ mu_id int(9) NOT NULL auto_increment,
+ mu_name varchar(30) NOT NULL default '',
+ mu_category enum('OperServ','NickServ','MemoServ','ChanServ','BotServ','HostServ','HelpServ','Misc') NOT NULL default 'Misc',
+ mu_description longtext NOT NULL,
+ mu_activated enum('0','1') NOT NULL default '0',
+ mu_owner varchar(15) NOT NULL default '',
+ mu_path varchar(40) NOT NULL default '',
+ mu_updated date NOT NULL default '0000-00-00',
+ mu_official enum('0','1') NOT NULL default '0',
+ mu_version varchar(5) NOT NULL default '',
+ PRIMARY KEY (mu_id)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `users`
+--
+
+DROP TABLE IF EXISTS users;
+CREATE TABLE users (
+ u_id int(9) NOT NULL auto_increment,
+ u_username varchar(15) NOT NULL default '',
+ u_password varchar(32) NOT NULL default '',
+ u_email varchar(40) NOT NULL default '',
+ u_location varchar(40) NOT NULL default '',
+ u_status enum('normal','coder','admin','root') NOT NULL default 'normal',
+ u_confirmed enum('0','1') NOT NULL default '1',
+ u_registered date NOT NULL default '0000-00-00',
+ u_lastvisit date NOT NULL default '0000-00-00',
+ u_hideemail enum('0','1') NOT NULL default '0',
+ PRIMARY KEY (u_id)
+) TYPE=MyISAM PACK_KEYS=0;
+