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