-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathircd.conf.example
178 lines (134 loc) · 7.05 KB
/
ircd.conf.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# the format of this configuration should be fairly self-explanatory.
# you may space it out as you wish for clarity; whitespace is ignored.
# unnamed blocks:
# a shortcut to a "sec" block
# Format: [type]
# Example: [server]
# Could also be written as a named sec block: [sec:server]
# named blocks:
# Format: [type:name]
# Example: [oper:cooper]
# keys and values:
# Format: key:value
# The value is literal Perl.
# constants on and off are provided for true and false values
# Example: name:"NoTrollPlzNet"
# Example: pid:$$
# Example: autoconnect:off
[ enabled ]
# for password encryption (link, oper, etc.)
sha: on # SHA-1/224/256/384/512 (core Perl module)
md5: off # probably less secure (core Perl module)
resolve: on # enable hostname resolving (useful, but not light)
[ network ]
name: "NoTrollPlzNet"
[ server ]
name: "cooper.on.fgt-transit.com" # the name of the server
description: "juno development server" # the description of the server
sex: "male" # the server's sex (preferably male or female)
id: 0 # the SID
# must be unique to the network or things *WILL* screw up
[ api ]
modules: ['core_ucommands', 'core_scommands', 'core_ocommands', 'core_umodes', 'core_cmodes']
# modules to load automatically.
# you probably want to load core_*. juno is pretty much useless without those.
[ modes: user ]
ircop: 'o' # user mode letters. If these are provided, the modes will exist.
invisible: 'i' # if they are not provided, the modes will not exist. You can choose
# any letter to correspond with a mode without changing the internal
# working of the IRCd. If you chose to add a rule here for a mode that
# does nothing, the mode will still exist - it will just be useless.
[ modes: channel ]
# channel mode letters and their types.
# the type MUST comply with the mode name, but you may switch
# the letters as you please without changing the internal working.
# the types are:
# normal (0)
# parameter (1)
# parameter_set (2)
# list (3)
# status (4)
# status modes should NOT be placed here. please see the prefixes section below.
no_ext: [0, 'n'] # no external channel messages (n)
protect_topic: [0, 't'] # only operators can set the topic (t)
moderated: [0, 'm'] # only voiced and up may speak (m)
ban: [3, 'b'] # channel ban (b)
[ prefixes ]
# channel prefixes.
# to disable a channel prefix mode provided by core, remove any of these lines.
# any of this can be modified, but it is typically a good idea to leave op and voice
# intact. the format is [letter, prefix, level]. any status mode with a higher level
# has more privs than one with a lower level. for example, admins can't kick owners
# because two is greater than one. op should be 0. for things that check for basic
# channel status such as plain old mode setting, a user with any of the following will
# be allowed to do these things: "owner", "admin", "op", "halfop". however, this
# does not mean that juno is hard coded to five prefixes. this list might be extended
# by modules which allow you to add different prefixes at different levels.
owner: ['q', '~', 2 ]
admin: ['a', '&', 1 ]
op: ['o', '@', 0 ]
halfop: ['h', '%', -1]
voice: ['v', '+', -2]
[ users ]
automodes: "+i" # modes set to users on connect
[ channels ]
automodes: "+ntqo +user +user" # modes set on channel creation. "+user" will be
# replaced with the user who created the channel.
[ flood ]
lines: 50 # flooding options:
bytes: 1 # defaults are usually sufficient.
message: "excess flood"
[ limit ]
# the maximum number of characters in...
nick: 32 # nicknames
topic: 1000 # channel topics
kickmsg: 300 # kick messages
channelname: 50 # channel names
away: 100 # away reasons
# the max number of...
connection: 100 # connections
perip: 3 # connections per IP address (local connections)
globalperip: 5 # connections per IP address (global users)
client: 50 # users
[ file ]
motd: "etc/motd.conf" # the path to the MOTD file
[ ping: server ]
frequency: 20 # server ping section:
timeout: 500 # defaults are usually sufficient.
[ ping: user ]
message: "Ping timeout" # user ping section:
frequency: 30 # defaults are usually sufficient.
timeout: 120
[ listen: 0.0.0.0 ]
# <--- the address to bind to should be the block name
port: [6667..6669, 7000] # separated by commas, nested by [].
# ranges are supported.
[ connect: server1.netbookwashers.info ]
# <--- the name of the opposite server should be the block name
address: "67.202.109.243" # the IP to connect to OR to accept connections from (accept wildcards, must always be an IP)
port: 7000 # the port to connect to
encryption: "sha1" # encryption of the receive password - make sure it is enabled
send_password: "k" # the password to send to the other server
receive_password: "13fbd79c3d390e5d6585a21e11ff5ec1970cff0c" # the password to receive in return
autoconnect: off # attempt to connect to the server automatically?
# oper classes
[ operclass: local ]
flags: [qw/localkill locops see_invisible/] # list of oper flags
[ operclass: global ]
extends: 'local' # gets the flags from local
flags: [qw/globalkill globops/] # and adds these flags
[ operclass: netadmin ]
extends: 'global' # gets the flags from both global and local
flags: [qw/grant/] # and adds these flags
[ oper: cooper ]
class: "netadmin" # their oper class
host: ['*@127.0.0.*', 'me@::1', 'cooper@*.in.comcast.net'] # an array ref of hosts to accept
password: "13fbd79c3d390e5d6585a21e11ff5ec1970cff0c" # the password, encrypted in the below crypt
encryption: "sha1" # the encryption to use in the password
flags: [qw/some_flag some_other/] # list of oper flags
# the above oper example ends up with flags: localkill, locops, globalkill, globops, grant, some_flag, some_other
# because it has its own flags and is in the netadmins class
# where netadmins provides grant
# and extends global which provides globalkill and globops
# which extends local which provides localkill and locops
# :).