Viagra IRCd 1.3 Sample Configuration

This area has been broken into two section. Click on the below links for the information you are looking for:

Example ircd.conf
Example ircd.ini
Sample ircd.conf

# IRC - Internet Relay Chat, doc/example.conf
# Copyright (C) 1994, Helen Rose
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 1, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# This is an example configuration file for Viagra IRCd 1.3.0
# and higher IRC servers.
#
# The options for whether a line is needed or not are:
# MANDATORY: you absolutely MUST have this line
# NETWORKED: you must have this line if you are connecting this irc
# server to any other server (servers can run standalone).
# SUGGESTED: it is highly suggested that you use this line
# OPTIONAL: it's completely up to you whether to define this or not
# DISCOURAGED: you really really should not use this line if at all
# possible.
# OBSOLETE: an old or out of date line that isn't needed.
#
# MANDATORY lines are absolute *musts*, that is, if you do not have this
# line then your server will not work properly. SUGGESTED lines are
# close-to-mandatory (that is, the server will run without it, but you are
# highly encouraged to use these lines).
#
# Note that "*" in a field indicates an "unused" field.
#
#
# ========================================================================
# NOTE! this entire configuration file is read UPSIDE-DOWN! So if you have
# to put something in a specific order (for example, client-connection
# lines), put them in reverse order!
# ========================================================================
#
#
# M: {MANDATORY} - This line sets the server name, description, port, and IP
# address to bind to. If you leave the IP field blank or *, it defaults to
# all local IP addresses on the machine.
#
#
# {M:Line Syntax}
# M:Hostname:IP:Server Description:Port
#
M:server.viagraircd.com:123.123.123.123:East Cost Server:6667
#
#
# A: {MANDATORY} - This line provides your administrative information, such as
# contact addresses. This informationis viewed with /admin . There
# is no set information to put in the A:Line, but you are encouraged to put at
# least a contact address for the person responsible for the server.
#
A:Generic Internet Access:Admin John Doe:jdoe@generic.com
#
#
# Y: {SUGGESTED} - These lines define connection classes, which allow you to
# fine-tune client and server connections. Clients and servers should be
# placed in seperate classes, and eachset of servers should have their own
# class. You may also wish to seperate clients into seperate classes based
# on location.
#
# The class numbers are not arbitrary. In auto-connecting servers, the higher
# number, the higher the auto-connect priority.
#
# {Y:Line Syntax}
# Y:Class Number:Ping Frequency:Connect Frequency:Maximum Links:SendQ
#
# Ping Frequency - The amount of time (in seconds) that the server will wait
# before dropping the connection with Ping Timeout.
#
# Connect Frequency - The amount of time between attempts to connect to servers
# in that class. Set this to 0 for client Y:Lines.
#
#
# These are the recommended Y:Lines.
# You should have atleast ONE client class, and one oper class as well.
#
# Class 50 - Hub to hub, autoconnect
Y:50:90:600:1:20000000
# Class 51 - Hub to EU hub, autoconnect
Y:51:180:600:1:20000000
# Class 33 - Hub to AS leaf
Y:33:240:0:0:15000000
# Class 32 - Hub to EU leaf
Y:32:180:0:0:15000000
# Class 30 - Hub to US leaf
Y:30:90:0:0:15000000
# Class 10 - for known Operators
Y:10:400:100:100:2000000
# Class 1 - Normal Users
Y:1:400:100:100:1000000
#
#
# I: {MANDATORY} - These lines are client-authorization lines. Without them,
# clients will be unable to connect to your server. Wildcards are permitted.
# You may also require a password or port to connect, but are optional.
#
# Ident (RFC 1413) can also be used by placing a @ in the appropriate fields.
#
# {I:Line Syntax}
# I:IP Address Mask:Password:Domain-Mask:Port:Connection Class
#
# Standard I:Line allowing anybody to connect to the server:
I:*@*::*@*::1
#
# Oper Hostmasking I:Line requiring the user to connect on a specific port (ie.
# 7139), and provide the correct password (ie. $packWitU:opernick:operpass):
I:*@*:oper.$packWitU:*@*:7149:10
#
# Putting NOMATCH in the first field will stop the ircd from matching against
# the IP, and will force it to match against the hostname.
I:NOMATCH::rmiller@glass.toledolink.com::1
#
#
# O: {OPTIONAL} - These lines define IRC Operator access. A well-configured
# server should not need an operator online. The ircd configuration can be
# reloaded by issuing a kill -HUP.
#
# If the user issuing the oper command is not coming from the hostname defined,
# the user will receive the error message "No O:Lines for your host". Ident is
# permitted in the hostname field. The class field denotes the Y:Line class
# that you want the user to end up in after they've successfully issued the
# /oper command.
#
# Access flags are as follows:
# r | Access to /rehash server
# R | Access to /restart server
# D | Access to /die server
# h | Oper can send /helpops
# g | Oper can send /globops
# w | Oper can send /wallops
# l | Oper can send /locops
# c | Access to do local /squits and /connects
# Y | Access to do remote /squits and /connects
# k | Access to do local /kills
# K | Access to do global /kills
# b | Oper can /kline users from server
# B | Oper can /unkline users from server
# n | Oper can send local server notices(/notice $servername message)
# G | Oper can send global notices(/notice $*.network.net message)
# e | Oper can set /umode +e
# u | Oper can set /umode +c
# H | Oper can set /umode +H
# o | Local oper, flags included: rhgwlckbBn
# O | Global oper, flags included: oRDKG
# A | Gets +A on oper up. Is server admin
# a | Gets +a on oper up. Is services admin
# N | Gets +N on oper up. Is network admin
# T | Gets +T on oper up. Is tech admin
# Q | Gets +Q on oper up. Is abuse admin
# C | Gets +C on oper up. Is co admin
# z | Can add /zlines
# I | Oper can set /umode +I
# W | Receive whois notification
#
#
# {O:Line Syntax}
# O:Hostname:Password:Nickname:AccessFlags:Class
#
O:jdoe@*.generic.com:j0hnsPa$$:john:OaA:10
#
#
# U: {OPTIONAL} - This line defines servers that are allowed to make changes to
# the IRC environment (ie. mode changes), without obstructing them.
#
# {U:Line Syntax}
# U:Server Name:Unused:Unused
#
# Sample ULine
U:services.viagraircd.com:*:*
#
#
# X: {SUGGESTED} - This line defines the passwords required for an oper to
# /restart or /die the server, in addition to them having the R or D flags in
# their O:Line.
#
# {X:Line Syntax}
# X:diepass:restartpass
#
#
# C: {NETWORKED} - These lines define what servers your server tries to connect
# to.
#
# N: {NETWORKED} - These lines define what servers are permitted to initiate
# connections to your server.
#
# C/N Lines MUST be used in pairs. One cannot be used without the other.
#
# Both the C:Line's port field and the N:Line's flag field may be left blank.
# If a port is specified in the C:Line, your server will auto-connect.
#
# The flags field in the N:Line accepts a combination of the following:
#
# E - Use RC4 streaming compression.
# Z - Use ZLib compression. It's generally a good idea to compress hub<->hub
# and hub->leaf, but compressing leaf->hub on large client servers is
# discouraged due to higher CPU usage.
#
# {C/N:Line Syntax}
# C:Remote Hostname:Password:Remote Servername:Port:Class
# N:Remote Hostname:Password:Remote Servername:Flags:Class
#
C:24.95.128.27:$eaL1ne:remote.ny.us.dal.net:7325:30
N:24.95.128.27:3nL1ne:remote.ny.us.dal.net:EZ:30
#
#
# K: {OBSOLETE} - Bans are now stored in the kline.conf file.
#
#
# q: {OBSOLETE} - q:lines have been removed from bahamut.
#
#
# Q: {OPTIONAL} - These lines prevent users on your server from using certain
# nicknames. These are 'reserved' nick names that should not be taken by
# normal users. Note the difference in the capitalization!
#
# {Q:Line Syntax}
# Q:*:Reason:Nickname
#
# These Q:Lines should be included:
Q::Reserved for services:ChanServ
Q::Reserved for services:NickServ
Q::Reserved for services:MemoServ
Q::Reserved for services:OperServ
Q::Reserved for services:HelpServ
#
Q::Reserved for operators:IRCop
#
#
# Z: {DISCOURAGED} - These lines block ALL incoming connections from a certain
# IP address mask. They are more powerful than K:Lines because they stop users
# before they've had a chance to register. This works on servers too, so be
# VERY careful! These lines should be used as a LAST RESORT!
#
# Z:lines do NOT work on hostnames. The :* on the end is REQUIRED. Failure to
# place it will cause the ircd conf to segfault!
#
# {Z:Line Syntax}
# Z:IP:Reason for zapping:*
#
Z:127.0.0.1:Don't IRC from the local machine:*
#
#
# H: {OPTIONAL} - These lines define who you allow to act as a hub. The first
# field may use wildcards, and the third field MUST be an exact match for a
# server's name (NOT the server's hostname!).
#
# {H:Line Syntax}
# H:Servers which are permitted::Hub Servername::
H:*::nowhere.hub.us.dal.net::
#
#
# P: {SUGGESTED} - This line allows the server to listen on various ports for
# connections.
#
# {P:Line Syntax}
# P:Remote IP:Local IP:Unused:Port
#
P::123.123.123.123::6667
#
#
# E: {DISCOURAGED} - These lines bypass K:Lines for matching clients.
# Username is optional.
#
# Don't use these if you can avoid it! Services will fight with them!
#
# {E:Line Syntax}
# E:Hostmask:Unused:Username
#
#E:*.twcny.rr.com::ayukawa
#
#
# F: {DISCOURAGED} - These lines bypass K:Lines and also class limits for
# matching clients. Username is optional.
#
# Don't use these if you can avoid it! Services will fight with them!
#
# {F:Line Syntax}
# F:Hostmask:Unused:Username
#
#F:*.twcny.rr.com::*
#
#
# T: {OPTIONAL} - These lines override the default proxy monitor information.
# You should only have one T:Line. If either field is left empty, the default
# will be used.
#
# Note: http:// is automatically prefixed on the specified URL
#
# {T:Line Syntax}
# T:Hostname:URL
#
T:monitorbot.dal.net:www.dal.net/proxies
#
#
# End example.conf
Sample ircd.ini
ver^2.2.2

# Viagra IRCd Dynamic Configuration File
# 1 = Yes 0 = No

# define here the name of your irc network.
# note: all servers needs to have the same netname.
set dyn_network_netname ............: ircDirect

################################################
############## Network Vanity ################
################################################

set dyn_proxmon_host ...............: proxmon.viagraircd.com
set dyn_proxmon_url ................: http://www.viagraircd.com/proxy.html
set dyn_operhost_netadmin ..........: NetAdmin.viagraircd.com
set dyn_operhost_techadmin .........: TechAdmin.viagraircd.com
set dyn_operhost_sadmin ............: ServicesAdmin.viagraircd.com
set dyn_operhost_abuseadmin ........: AbuseTeam.viagraircd.com
set dyn_operhost_coadmin ...........: CoAdmin.viagraircd.com
set dyn_operhost_admin .............: Admin.viagraircd.com
set dyn_operhost_globop ............: GlobalOp.viagraircd.com
set dyn_operhost_locop .............: LocalOp.viagraircd.com
set dyn_mailadr_kline ..............: kline@viagraircd.com
set dyn_mailadr_gline ..............: gline@viagraircd.com

# define here your u:lined services server.
# if this settings are not correct, all services shortcuts
# like /ns, /cs, /bs etc. doesnt work.
set dyn_server_services ............: services.viagraircd.com

#################################################
########## Network Operation ###############
#################################################

set dyn_hub_state ..................: 0

# allow use of /map for non opers?
set dyn_allow_map ..................: 0

# allow use of /links for non opers?
set dyn_allow_links ................: 1

# max number of channels a user is allowed to join.
# opers are not affected.
set dyn_network_maxchans ...........: 15

# set this to 1 if you want to send out a notice to connecting client that
# you have a Proxy/Wingate scanner running. THIS DOES NOT ENABLE A PROXY SCANNER
set dyn_proxmon_state ..............: 1

# allows you to filter quit messages.
# if is set to 1, this will strip them of Color, bold/underline and reverse.
set dyn_filter_quitmsg .............: 0

# allows you to have users auto join channels when they connect to the network.
# channels MUST be listed separated by commas ',' and with no spaces.
# set to 0 to disable.
set dyn_userchan_join ..............: 0

# allows you to have opers auto join channels when they successfull /OPERed.
# channels MUST be listed separated by commas ',' and with no spaces.
# set to 0 to disable.
set dyn_operchan_join ..............: 0

# if someone tries to /oper with an incorrect uid and dyn_failoper_kill
# is set to 1, the client will get terminated from the network.
set dyn_failoper_kill ..............: 0

# there are client ignoring the FORCE_MOTD MOTD numeric,
# there is no point forcing MOTD on connecting clients IMO. Give them
# a short NOTICE telling them they should read the motd, and leave it
# at that.
set dyn_shortmotd_state ............: 0

# there are client ignoring the FORCE_MOTD MOTD numeric,
# there is no point forcing MOTD on connecting clients IMO. Give them
# a short NOTICE telling them they should read the motd, and leave it
# at that.
set dyn_opermotd_state .............: 0

# set this to 1 if you want to hide the location of U:lined servers (and
# then clients on them) from nonopers. With this defined, no non-oper
# should be able to find out which server the U:lined server is connected
# to.
set dyn_hide_ulines ................: 1

# When this is set to 1, users will not be
# chanopped on empty channels if there are no servers presently
# connected to this server (split mode). opers are not affected.
set dyn_nochanops_split ............: 0

# allow a client to remove hostmasking?
set dyn_allow_remove_modex .........: 1

# should the throttle system be enabled?
set dyn_enable_throttling ..........: 1

# send out warnings when iline is full
set dyn_enable_iline_warn ..........: 1

# when failed oper attempt occurs should the pass be included in notice
set dyn_showfailoperpass ...........: 0

# enable/disable dcc allow system
set dyn_disable_dccallow ...........: 0

#some networks disable certain basic rights.
#here are some configurables for basic rights.
#setting the below to 1 will disable private messaging,
#dccsends and nickchanges respectively.
set dyn_disable_privmsg_privnotice .: 0
set dyn_disable_dccsends ...........: 0
set dyn_disable_nickchanges ........: 0

#This value is is in seconds. A value of 0 equates to no delay between whois attempts
set dyn_whois_wait .................: 3

# Malicious/Banned MSG/NOTICE detector - good for preventing mirc exploits or any other banned information
# Please be careful what you choose to block here. Any message conataining one of
# the below lines will be blocked by the ircd. if you entered the word 'stop' rather
# than a phrase, all messages containing stop would be blocked.
# These search terms are case sensitive, like the malicious code we are trying to catch.
# If you want to use only one or two search terms enter a value of NULL in the non-used
# fields. A blank entry will prevent the ircd from loading. dyn_malicious_1 contains a well
# known exploit and it is not recommended that you do not remove or change it.
# This option will result in higher CPU usage on high traffic networks and if you are worried
# about CPU usage you may not want to enable this option.
set dyn_enable_malicious_detect : 0
set dyn_malicious_1 ............: //write nospam $decode(b24gISsxOmpvaW46Izp7IC5hdXNlciAyICRua
set dyn_malicious_2 ............: NULL
set dyn_malicious_3 ............: NULL
set dyn_malicious_4 ............: NULL
set dyn_malicious_5 ............: NULL
set dyn_malicious_6 ............: NULL
set dyn_malicious_7 ............: NULL
set dyn_malicious_8 ............: NULL
set dyn_malicious_9 ............: NULL
set dyn_malicious_10 ...........: NULL

#Logging Options
# A 1 means those events will be logged
set dyn_log_errors .............: 1
#this is the catchallof logging, if it isnt listed elsewhere its logged under this
set dyn_log_ircd_operations ....: 1
set dyn_log_rehash .............: 1
set dyn_log_connect ............: 1
set dyn_log_kills ..............: 1
set dyn_log_gline ..............: 1
set dyn_log_kline ..............: 1

################################################################
# It is not recommended that you edit anything below this line #
################################################################

# set this to 1 if you want the server
# to accomplish ircII standard. Sends an extra NOTICE in the beginning
# of client connection
set dyn_ircii_kludge ...........: 0

# When this is set to 1, you'll recieve notices when rline/kline'd
# connections are denied. This generates a TON of crap.
set dyn_akg_notices ............: 0

# Defining this causes ircd to reject hostnames with
# non-compliant chars. undef'ing it will allow hostnames with _ or /
# to connect.
set dyn_rfc1035_anal ...........: 1

# Reject mixed case usernames define this if you wish
# to reject usernames like: HuckYou which don't have all one case.
set dyn_no_mixed_case ..........: 0

# set this to 1 if you want your server to
# stay in HTM while the server is synching to the network
# after a connect.
set dyn_htmlockon_burst ........: 0

# yell at users that don't have identd installed
set dyn_identd_comp ............: 0

# define here the modes that the user will get on connect.
# currently supported dyn_connect_modes: iwxR
set dyn_connect_modes ..........: xi