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