]> jfr.im git - irc/quakenet/newserv.git/blame - MODULES
Merge default.
[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
7e6b4e43
GB
172This is QuakeNet's channel service request bot (R).
173
174Configuration:
175
176[request]
177#nick=R
178#user=request
179#host=request.quakenet.org
180#real=Service Request v0.23
181#snick=S
182#sserver=spamscan.quakenet.org
183#qnick=Q
184#qserver=cserve.quakenet.org
d1b8e200
GB
185
186serverlist
187~~~~~~~~~
188
189Implements the serverlist command which shows various information about
190connected servers (including their network latency).
191
192settime
193~~~~~~
194
195Provides commands to set the network time.
196
197splitlist
198~~~~~~~~
199
200Keeps track of servers that were lost during a netsplit. This module is used
201by chanfix to determine when it shouldn't re-op users.
202
203trojanscan
204~~~~~~~~~
205
206Used to find and gline drones on the network.
207
208trusts
209~~~~~
210
211Implements connection limits. Supports the TRUST protocol which is used
fb0b5a22
GB
212by quakenet-iauthd to determine whether to allow users to connect to the
213network.
d1b8e200 214
fb0b5a22 215You will need to load the trusts_master module on exactly one of your newserv
d1b8e200
GB
216instances. All other instances should load the trusts_slave module in order
217to receive replication updates from the trusts master:
218
219[trusts]
220master=1
221#masterserver=trusts.services.netsplit.net # Only used if master=0
222
223In most cases you will also want to load the trusts_management module on
224your trusts master. This module provides commands to add, modify and delete
225trusts.
226
227If you want to enforce connection limits on your network you can use the
228trusts_policy module:
229
230[trusts_policy]
231enforcepolicy_irc=1
232enforcepolicy_auth=0
233trustport=5776
234server=gnb.netsplit.net,changeme
235server=test.gnb.netsplit.net,changeme
236
237You can use the QuakeNet IAuth daemon available at
238http://hg.quakenet.org/iauthd/ to enforce connection limits using IAuth rather
239than g:lines.
240
fb0b5a22
GB
241whowas, whowas_channels
242~~~~~~~~~~~~~~~~~~~~~~
d1b8e200
GB
243
244Keeps track of historical user records. Used by the glines module to chase
245nicks and by newsearch.
246
fb0b5a22
GB
247The whowas_channels module optionally keeps track of which channels users
248were on.
249
d1b8e200
GB
250xsb
251~~
252
253Provides replication capabilities. Used by the trusts modules to sync
254trusts between newserv instances.
255
256Configuration:
257
258[xsb]
259servicemask=*.services.netsplit.net