]> jfr.im git - irc/quakenet/newserv.git/blame - MODULES
Implement patroljoin, patrolpart and patrollist commands.
[irc/quakenet/newserv.git] / MODULES
CommitLineData
d1b8e200
GB
1newserv Modules
2~~~~~~~~~~~~~~
3
4This is a brief overview of the newserv modules.
5
6core
7~~~
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
13~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
20~~~~~~~~
21
22Implements functionality for creating local users that are "connected" to the
23newserv instance.
24
25control
26~~~~~~
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
40#realname=NewServ Control Service
41#authname=C
d1b8e200 42
e7b7b171
GB
43control_commands
44~~~~~~~~~~~~~~~
45
46Provides commonly-used oper commands.
47
48control_management
49~~~~~~~~~~~~~~~~~
50
51Provides user management commands.
52
d1b8e200
GB
53auth
54~~~
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
61~~~~~~
62
63Keeps track of channel ops and can be used to re-op opless channels.
64
65chanserv
66~~~~~~~
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
72~~~~
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
85~~~~~
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
92~~~~~~~~
93
94Provides a way to spawn fake users.
95
96glines
97~~~~~
98
99Implements gline commands and general gline functionality that is used by other
100modules.
101
fb0b5a22
GB
102geoip
103~~~~
104
105Provides geo-location services for other modules.
106
107Configuration:
108
109[geoip]
110#db=GeoIP.dat
111
d1b8e200
GB
112helpmod2
113~~~~~~~
114
115This is QuakeNet's G service. It is primarily used on official support channels.
116
117invalidbans
118~~~~~~~~~~
119
120This module automatically removes invalid IPv6 bans as these can desync channel
121modes on snircd 1.3.4a.
122
123jupe
124~~~
125
126Provides commands to set, list and remove jupes.
127
128lua
129~~
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
145~~~~~~~~
146
147Provides functionality to search for nicks and channels based on certain
148criteria.
149
e7b7b171
GB
150nickwatch
151~~~~~~~~
152
153Implements event-based nicksearch queries.
154
d1b8e200
GB
155miscreply
156~~~~~~~~
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
GB
167patrol
168~~~~~
169
170Implements functionality to spawn trojanscan swarm clones.
171
172Configuration:
173
174[patrol]
175#minpoolhosts=5000
176
fb0b5a22
GB
177patricia, patricianick, patriciasearch
178~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
179
180Implements finding nicks based on CIDR prefixes.
181
d1b8e200
GB
182proxyscan
183~~~~~~~~
184
185Does on-connect proxy scans and glines open proxies.
186
187request
188~~~~~~
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
205~~~~~~~~~
206
207Implements the serverlist command which shows various information about
208connected servers (including their network latency).
209
210settime
211~~~~~~
212
213Provides commands to set the network time.
214
215splitlist
216~~~~~~~~
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
222~~~~~~~~~
223
224Used to find and gline drones on the network.
225
226trusts
227~~~~~
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
GB
259whowas, whowas_channels
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
GB
268xsb
269~~
270
271Provides replication capabilities. Used by the trusts modules to sync
272trusts between newserv instances.
273
274Configuration:
275
276[xsb]
277servicemask=*.services.netsplit.net