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