4 This is a brief overview of the newserv modules.
9 This is not actually a module. Instead, this is the code of the "newserv" binary
10 which provides minimal support for loading modules.
12 authext, bans, chanindex, channel, irc, nick, server
13 ----------------------------------------------------
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
22 Implements functionality for creating local users that are "connected" to the
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.
32 Other modules can register their own commands.
39 #hostname=your.hostname.here
40 #realname=newserv Control Service
46 Provides commonly-used oper commands.
51 Provides user management commands.
56 Supports sending AC tokens. You should only use this module if you don't have
57 some other form of authentication service on your network (such as Q). This
58 module lets opers use arbitrary account names and IDs.
63 Keeps track of channel ops and can be used to re-op opless channels. However,
64 since its chanfixing commands require oper, it should be paired with the request
65 module, which provides REQUESTOP for users and uses chanfix internally.
70 This is QuakeNet's channel service (Q). In order to load this module you will
71 need also need to load the pqsql module.
79 realname=ChannelService
85 secret can be an arbitrary string, at most 128 characters long. If not set, Q
86 will generate a random one and not write it to the configuration.
88 ticketsecret can be an arbitrary string, at most 256 characters long and must
89 be set for ticket auth to work. Note that you must implement ticket auth
90 yourself if you wish to use it.
92 createaccountsecret must be a hex string of exact 128 characters (i.e. 64 bytes
98 Provides support for PostgreSQL database queries.
112 Implements database functionality used by some other modules. In addition to
113 loading the dbapi2 module you will also need to load one of the database
114 provider modules: sqlite-dbapi2 or pqsql-dbapi2
119 Provides a way to spawn fake users.
124 Implements gline commands and general gline functionality that is used by other
130 Provides geo-location services for other modules.
140 This is QuakeNet's G service. It is primarily used on official support channels.
145 This module automatically removes invalid IPv6 bans as these can desync channel
146 modes on snircd 1.3.4a.
151 Provides commands to set, list and remove jupes.
156 Provides support for Lua scripts. For an example of a fairly complex script
157 have a look at the labspace repository at http://hg.quakenet.org/lua-labspace/
164 scriptdir=./luascripts
167 Note: You will need to create the script directory in your newserv
168 installation directory (e.g. "luascripts" in this example) and symlink the
169 lua/lib directory into it.
174 Provides functionality to search for nicks and channels based on certain
180 Implements event-based nicksearch queries.
185 Implements a protocol that allows external services to communicate with this
188 You will need to implement your own client if you wish to use this.
196 # Each individual permit/allowed client must have a hostname and password
203 Implements rping and various other status query commands.
208 #admin1=Located at the Union Aerospace Corp. facility, Stroggos
209 #admin2=Network IRC Service
210 #admin3=No administrative info available
215 Implements functionality to spawn trojanscan swarm clones.
222 patricia, patricianick, patriciasearch
223 --------------------------------------
225 Implements finding nicks based on CIDR prefixes.
230 Does on-connect proxy scans and glines open proxies.
249 This is QuakeNet's channel service request bot (R).
256 #host=request.quakenet.org
257 #real=Service Request v0.23
259 #sserver=spamscan.quakenet.org
261 #qserver=cserve.quakenet.org
271 Implements the serverlist command which shows various information about
272 connected servers (including their network latency).
277 q_server=CServe.quakenet.org
278 s_server=services2.uk.quakenet.org
279 service_re=^services\d*\..*$
281 not_client_re=^(testserv\d*\.).*$
286 Provides commands to set the network time.
291 Keeps track of servers that were lost during a netsplit. This module is used
292 by chanfix to determine when it shouldn't re-op users.
297 Provides ticketauth, a way to authenticate to noperserv using a one-time
298 ticket. It works similar to the ticket auth in chanserv.
300 If you want to use ticketauth, you'll need to implement a method to issue
301 tickets using the shared secret yourself.
308 sharedsecret is an arbitrary string of at most 512 characters.
313 Used to find and gline drones on the network.
315 Note that this module uses MySQL exclusively and in a blocking manner, so that
316 a hanging connection to the MySQL database can and will block all network I/O.
317 For this reason, you will probably want a newserv instance dedicated to running
318 trojanscan if you wish to run it.
325 hostname=trojanscan.quakenet.org
326 realname=Trojanscan v2.73
343 Implements connection limits. Supports the TRUST protocol which is used
344 by quakenet-iauthd to determine whether to allow users to connect to the
347 You will need to load the trusts_master module on exactly one of your newserv
348 instances. All other instances should load the trusts_slave module in order
349 to receive replication updates from the trusts master:
353 #masterserver=trusts.services.netsplit.net # Only used if master=0
355 In most cases you will also want to load the trusts_management module on
356 your trusts master. This module provides commands to add, modify and delete
359 If you want to enforce connection limits on your network you can use the
360 trusts_policy module:
366 server=gnb.netsplit.net,changeme
367 server=test.gnb.netsplit.net,changeme
369 You can use the QuakeNet IAuth daemon available at
370 https://hg.quakenet.org/iauthd/ to enforce connection limits using IAuth rather
373 whowas, whowas_channels
374 -----------------------
376 Keeps track of historical user records. Used by the glines module to chase
377 nicks and by newsearch.
379 The whowas_channels module optionally keeps track of which channels users
390 Provides newserv<->newserv communication capabilities. Used by the trusts
391 modules to sync trusts between newserv instances.
396 servicemask=*.services.netsplit.net