]> jfr.im git - irc/quakenet/newserv.git/blame - MODULES
HELPMOD2: don't ignore +h clients
[irc/quakenet/newserv.git] / MODULES
CommitLineData
d1b8e200 1newserv Modules
005396ab 2===============
d1b8e200
GB
3
4This is a brief overview of the newserv modules.
5
6core
005396ab 7----
d1b8e200
GB
8
9This is not actually a module. Instead, this is the code of the "newserv" binary
10which provides minimal support for loading modules.
11
12authext, bans, chanindex, channel, irc, nick, server
005396ab 13----------------------------------------------------
d1b8e200
GB
14
15These modules provide basic support for accounts, channels, nicks and server
16connections. Virtually all other modules depend on at least some of these
17modules.
18
19localuser
005396ab 20---------
d1b8e200
GB
21
22Implements functionality for creating local users that are "connected" to the
23newserv instance.
24
25control
005396ab 26-------
d1b8e200
GB
27
28Spawns the control user for your newserv instance. The control user provides
29an IRC-based interface for newserv commands, e.g. to manage loaded modules
30and modify user accounts.
31
32Other modules can register their own commands.
33
d1b8e200
GB
34Configuration:
35
36[control]
37nick=N3
fb0b5a22
GB
38#ident=control
39#hostname=your.hostname.here
005396ab 40#realname=newserv Control Service
fb0b5a22 41#authname=C
d1b8e200 42
e7b7b171 43control_commands
005396ab 44----------------
e7b7b171
GB
45
46Provides commonly-used oper commands.
47
48control_management
005396ab 49------------------
e7b7b171
GB
50
51Provides user management commands.
52
d1b8e200 53auth
005396ab 54----
d1b8e200
GB
55
56Supports sending AC tokens. You should only use this module if you don't have
57some other form of authentication service on your network (such as Q). This
58module lets opers use arbitrary account names and IDs.
59
60chanfix
005396ab 61-------
d1b8e200
GB
62
63Keeps track of channel ops and can be used to re-op opless channels.
64
65chanserv
005396ab 66--------
d1b8e200
GB
67
68This is QuakeNet's channel service (Q). In order to load this module you will
69need also need to load the pqsql module.
70
71pqsql
005396ab 72-----
d1b8e200
GB
73
74Provides support for PostgreSQL database queries.
75
76Configuration:
77
78[pqsql]
79host=127.0.0.1
80port=5432
81username=gunnar
82password=changeme
83
84dbapi2
005396ab 85------
d1b8e200
GB
86
87Implements database functionality used by some other modules. In addition to
88loading the dbapi2 module you will also need to load one of the database
89provider modules: sqlite-dbapi2 or pqsql-dbapi2
90
91fakeusers
005396ab 92---------
d1b8e200
GB
93
94Provides a way to spawn fake users.
95
96glines
005396ab 97------
d1b8e200
GB
98
99Implements gline commands and general gline functionality that is used by other
100modules.
101
fb0b5a22 102geoip
005396ab 103-----
fb0b5a22
GB
104
105Provides geo-location services for other modules.
106
107Configuration:
108
109[geoip]
110#db=GeoIP.dat
111
d1b8e200 112helpmod2
005396ab 113--------
d1b8e200
GB
114
115This is QuakeNet's G service. It is primarily used on official support channels.
116
117invalidbans
005396ab 118-----------
d1b8e200
GB
119
120This module automatically removes invalid IPv6 bans as these can desync channel
121modes on snircd 1.3.4a.
122
123jupe
005396ab 124----
d1b8e200
GB
125
126Provides commands to set, list and remove jupes.
127
128lua
005396ab 129---
d1b8e200
GB
130
131Provides support for Lua scripts. For an example of a fairly complex script
132have a look at the labspace repository at http://hg.quakenet.org/lua-labspace/
133
134Configuration:
135
136[lua]
137scriptdir=./luascripts
138script=labspace
139
140Note: You will need to create the script directory in your newserv
141installation directory (e.g. "luascripts" in this example) and symlink the
142lua/lib directory into it.
143
144newsearch
005396ab 145---------
d1b8e200
GB
146
147Provides functionality to search for nicks and channels based on certain
148criteria.
149
e7b7b171 150nickwatch
005396ab 151---------
e7b7b171
GB
152
153Implements event-based nicksearch queries.
154
d1b8e200 155miscreply
005396ab 156---------
d1b8e200
GB
157
158Implements rping and various other status query commands.
159
fb0b5a22
GB
160Configuration:
161
162[miscreply]
163#admin1=Located at the Union Aerospace Corp. facility, Stroggos
164#admin2=Network IRC Service
165#admin3=No administrative info available
166
e7b7b171 167patrol
005396ab 168------
e7b7b171
GB
169
170Implements functionality to spawn trojanscan swarm clones.
171
172Configuration:
173
174[patrol]
175#minpoolhosts=5000
176
fb0b5a22 177patricia, patricianick, patriciasearch
005396ab 178--------------------------------------
fb0b5a22
GB
179
180Implements finding nicks based on CIDR prefixes.
181
d1b8e200 182proxyscan
005396ab 183---------
d1b8e200
GB
184
185Does on-connect proxy scans and glines open proxies.
186
187request
005396ab 188-------
d1b8e200 189
7e6b4e43
GB
190This is QuakeNet's channel service request bot (R).
191
192Configuration:
193
194[request]
195#nick=R
196#user=request
197#host=request.quakenet.org
198#real=Service Request v0.23
199#snick=S
200#sserver=spamscan.quakenet.org
201#qnick=Q
202#qserver=cserve.quakenet.org
d1b8e200
GB
203
204serverlist
005396ab 205----------
d1b8e200
GB
206
207Implements the serverlist command which shows various information about
208connected servers (including their network latency).
209
210settime
005396ab 211-------
d1b8e200
GB
212
213Provides commands to set the network time.
214
215splitlist
005396ab 216---------
d1b8e200
GB
217
218Keeps track of servers that were lost during a netsplit. This module is used
219by chanfix to determine when it shouldn't re-op users.
220
221trojanscan
005396ab 222----------
d1b8e200
GB
223
224Used to find and gline drones on the network.
225
226trusts
005396ab 227------
d1b8e200
GB
228
229Implements connection limits. Supports the TRUST protocol which is used
fb0b5a22
GB
230by quakenet-iauthd to determine whether to allow users to connect to the
231network.
d1b8e200 232
fb0b5a22 233You will need to load the trusts_master module on exactly one of your newserv
d1b8e200
GB
234instances. All other instances should load the trusts_slave module in order
235to receive replication updates from the trusts master:
236
237[trusts]
238master=1
239#masterserver=trusts.services.netsplit.net # Only used if master=0
240
241In most cases you will also want to load the trusts_management module on
242your trusts master. This module provides commands to add, modify and delete
243trusts.
244
245If you want to enforce connection limits on your network you can use the
246trusts_policy module:
247
248[trusts_policy]
249enforcepolicy_irc=1
250enforcepolicy_auth=0
251trustport=5776
252server=gnb.netsplit.net,changeme
253server=test.gnb.netsplit.net,changeme
254
255You can use the QuakeNet IAuth daemon available at
256http://hg.quakenet.org/iauthd/ to enforce connection limits using IAuth rather
257than g:lines.
258
fb0b5a22 259whowas, whowas_channels
005396ab 260-----------------------
d1b8e200
GB
261
262Keeps track of historical user records. Used by the glines module to chase
263nicks and by newsearch.
264
fb0b5a22
GB
265The whowas_channels module optionally keeps track of which channels users
266were on.
267
d1b8e200 268xsb
005396ab 269---
d1b8e200 270
005396ab
CP
271Provides newserv<->newserv communication capabilities. Used by the trusts
272modules to sync trusts between newserv instances.
d1b8e200
GB
273
274Configuration:
275
276[xsb]
277servicemask=*.services.netsplit.net