Skip to content
QuakeNet's modular services
Branch: master
Clone or download
retropc Merge pull request #77 from retropc/trustgline_npe
GLINES: fix npe + compiler warnings
Latest commit 1d99994 Mar 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
a4stats
auth
authdump
authext Rename our crc32 and crc32i functions because they conflict with libz. Feb 13, 2014
bans
carrot
chandump rework of build stage 2: Jul 22, 2013
chanfix Fix the _fini handler for chanfix. Apr 20, 2014
chanindex
channel
chanprofile
chanserv CHANSERV: bump maximum number of users authed to a single account to 4 Feb 1, 2019
chanstats Rename our crc32 and crc32i functions because they conflict with libz. Feb 13, 2014
clonearmy rework of build stage 2: Jul 22, 2013
clonehistogram rework of build stage 2: Jul 22, 2013
control
core CHANSERV: add REMOTEAUTH command Jul 10, 2017
dbapi
dbapi2 dbapi2: Fix result->affected for PostgreSQL. Feb 20, 2014
facepalm Merge. Sep 22, 2013
fakeq rework of build stage 2: Jul 22, 2013
fakeusers
fsck rework of build stage 2: Jul 22, 2013
geoip Remove p_ipaddr and p_nodeaddr macros. Aug 6, 2013
glines GLINES: fix compiler warnings Mar 18, 2019
helpmod2 HELPMOD2: disable feds ticketing Oct 20, 2018
horse
invalidbans invalidbans: Fix crash when server sets ban. Aug 20, 2013
irc Implement AsLL ping responses Nov 24, 2017
jupe
lameisp rework of build stage 2: Jul 22, 2013
lib CORE: fix match issue Jan 30, 2016
localuser
lua LUA: add per-script databases Nov 19, 2017
miscreply Remove p_ipaddr and p_nodeaddr macros. Aug 6, 2013
newsearch
nick Merge. May 4, 2014
nickrate Fix copy/paste mistake in nickrate Jan 31, 2016
nickwatch Add temporary nickwatches and enforce expiry after 7 days. Feb 16, 2014
nsmstats Make the pool allocator Valgrind-aware. Jul 26, 2013
nterfacer
numerictracker Merge. Sep 22, 2013
parser rework of build stage 2: Jul 22, 2013
patricia
patricianick Rename our crc32 and crc32i functions because they conflict with libz. Feb 13, 2014
patriciasearch Free memory leak in ps_nick_parse(). Feb 8, 2014
patrol patrol: Fix a crash in pc_check. Feb 18, 2014
pqsql
proxyscan fix assorted undefined functions on newer OS May 29, 2018
qabot
raw
rbl
regexgline
request request: Clear nick extension when user is not authed. Sep 18, 2013
server IRC: attempt to handle SIGPIPE without terminating May 4, 2014
serverlist Fix serverlist comments. Aug 11, 2013
settime rework of build stage 2: Jul 22, 2013
signontracker
splitlist fix assorted undefined functions on newer OS May 29, 2018
sqlite
testmod
ticketauth rework of build stage 2: Jul 22, 2013
trojanscan TROJANSCAN: make T join less often and part after a longer time Sep 1, 2013
trusts
tutorbot
usercount rework of build stage 2: Jul 22, 2013
versionscan Rename our crc32 and crc32i functions because they conflict with libz. Feb 13, 2014
whowas WHOWAS: fix compilation Jan 25, 2016
xsb rework of build stage 2: Jul 22, 2013
.gitignore Port to git. Jan 18, 2016
.travis.yml Port to git. Jan 18, 2016
AUTHORS
LICENSE Few alterations to documentation. Sep 22, 2013
MODULES MODULES: Add some more modules and config items. Feb 14, 2016
Makefile Add ability to set osvars in configure.ini.local and split -fPIC out. Feb 8, 2014
README.md
build.mk.in
configure fix ./configure -h Jan 22, 2016
configure.ini REGEXGLINE: fix silly build typo Jun 9, 2016
configure.ini.local.example Added missing files. Sep 23, 2013
depmod.pl
mkflat.pl
newserv.conf.example Fix another incorrect module name in the example config. Sep 25, 2013

README.md

newserv

Build Status

Introduction

newserv is a P10 protocol services daemon developed for the QuakeNet IRC Network.

It is modular, fast and easily customisable.

The official website for newserv is https://development.quakenet.org/.

Please refer to the LICENSE file for licensing details.

Features

  • Role-based access checks for oper commands
  • Search functionality
  • Scripting (Lua)
  • Proxy detection (P)
  • Connection limits ("trusts")
  • Transactional g:line support
  • Jupes
  • Chanfix
  • Chanserv (Q9)
  • Help Service (G)
  • Channel Service Request (R)
  • QA/Tutor Bots
  • Server list with latency checks

Requirements

  • IRC Server running the P10 Protocol. Full support for all modules may require use of QuakeNet's snircd IRC server, which is based upon Undernet's ircu.
  • Linux system (BSDs may work, but not actively tested)
  • flex
  • bison
  • GNU Make
  • Python 2.4

Support & Development

Please read the documentation provided before you ask us for support. You may find some assistance in #dev on QuakeNet for specific questions.

If you've found any bugs or you're working on any cool new features please give us a shout.

Installation

First run configure script:

$ ./configure

The configure script will list any missing dependencies. If you're unsure why a certain library or header file was not found you can run the configure script with the -v option or check the .configure.log file after your first configure run.

Please refer to the "Local Settings" section in this file if you're using non-standard library/header search paths. Once you've resolved all dependency issues you can build newserv:

$ make

After all modules are built you can install newserv:

$ make install

By default the newserv binary and the modules are installed into your source tree. The recommended setup is to now create a separate directory and symlink the "newserv" binary and the "modules" directory into it:

$ cd
$ mkdir newserv-install && cd newserv-install
$ ln -s ../newserv-src/newserv
$ ln -s ../newserv-src/modules

You will also need to copy the newserv.conf.example configuration file to your installation directory and rename it to newserv.conf. The MODULES file has a list of available modules and their configuration settings.

After you have updated your newserv.conf file you can start newserv:

$ ./newserv

newserv does not detach from the console. Consider running it in a screen(1) session.

User Accounts

You can create a user on your control instance using /msg N hello (where N is the nick of your control user). You need to be opered and authed in order to use this command.

If your network does not have an authentication service that supports account IDs you can load the "auth" module. Note that this module lets opers set arbitrary account names and IDs and therefore should probably not be loaded on production networks.

Once you have an account you should have a look at /msg N showcommands for a list of available commands.

Local Settings

If you are using non-standard library/include paths you can create a file called configure.ini.local (using configure.ini.local.example as a template) to override some of the settings.

You can’t perform that action at this time.