]> jfr.im git - irc/quakenet/newserv.git/blame - README.md
LUA: port luadb to dbapi2 to drop postgres dependency
[irc/quakenet/newserv.git] / README.md
CommitLineData
f28b61f2
CP
1newserv
2=======
3
4[![Build Status](https://travis-ci.org/quakenet/newserv.png?branch=master)](https://travis-ci.org/quakenet/newserv)
5
005396ab 6Introduction
f28b61f2 7------------
d1b8e200 8
4af4ef24 9newserv is a P10 protocol services daemon developed for the QuakeNet IRC
005396ab 10Network.
d1b8e200 11
005396ab 12It is modular, fast and easily customisable.
d1b8e200 13
f28b61f2 14The official website for newserv is https://development.quakenet.org/.
d1b8e200 15
005396ab 16Please refer to the LICENSE file for licensing details.
d1b8e200
GB
17
18Features
f28b61f2 19--------
d1b8e200
GB
20
21 * Role-based access checks for oper commands
d1b8e200 22 * Search functionality
005396ab 23 * Scripting (Lua)
d1b8e200 24 * Proxy detection (P)
d1b8e200 25 * Connection limits ("trusts")
d1b8e200 26 * Transactional g:line support
d1b8e200 27 * Jupes
d1b8e200 28 * Chanfix
005396ab 29 * Chanserv (Q9)
d1b8e200 30 * Help Service (G)
d1b8e200 31 * Channel Service Request (R)
d1b8e200 32 * QA/Tutor Bots
d1b8e200
GB
33 * Server list with latency checks
34
005396ab 35Requirements
f28b61f2 36------------
005396ab 37
f28b61f2 38* IRC Server running the P10 Protocol. Full support for all modules may require use of QuakeNet's [snircd IRC server](https://development.quakenet.org), which is based upon [Undernet's ircu](http://coder-com.undernet.org/).
005396ab
CP
39* Linux system (BSDs may work, but not actively tested)
40* flex
41* bison
42* GNU Make
43* Python 2.4
44
d1b8e200 45Support & Development
f28b61f2 46---------------------
d1b8e200 47
4af4ef24
GB
48Please read the documentation provided before you ask us for support. You may
49find some assistance in #dev on QuakeNet for specific questions.
d1b8e200 50
4af4ef24
GB
51If you've found any bugs or you're working on any cool new features please give
52us a shout.
d1b8e200 53
005396ab 54Installation
f28b61f2 55------------
005396ab
CP
56
57First run configure script:
58
f28b61f2 59 $ ./configure
005396ab
CP
60
61The configure script will list any missing dependencies. If you're unsure why
62a certain library or header file was not found you can run the configure script
63with the -v option or check the .configure.log file after your first configure
64run.
65
66Please refer to the "Local Settings" section in this file if you're using
67non-standard library/header search paths. Once you've resolved all dependency
68issues you can build newserv:
69
f28b61f2 70 $ make
005396ab
CP
71
72After all modules are built you can install newserv:
73
f28b61f2 74 $ make install
005396ab
CP
75
76By default the newserv binary and the modules are installed into your source
77tree. The recommended setup is to now create a separate directory and symlink
78the "newserv" binary and the "modules" directory into it:
79
f28b61f2
CP
80 $ cd
81 $ mkdir newserv-install && cd newserv-install
82 $ ln -s ../newserv-src/newserv
83 $ ln -s ../newserv-src/modules
005396ab
CP
84
85You will also need to copy the newserv.conf.example configuration file to your
86installation directory and rename it to newserv.conf. The MODULES file has a
87list of available modules and their configuration settings.
88
89After you have updated your newserv.conf file you can start newserv:
90
f28b61f2 91 $ ./newserv
005396ab
CP
92
93newserv does not detach from the console. Consider running it in a
94screen(1) session.
95
96User Accounts
97-------------
98
99You can create a user on your control instance using /msg N hello (where N is
100the nick of your control user). You need to be opered and authed in order to
101use this command.
102
103If your network does not have an authentication service that supports account
104IDs you can load the "auth" module. Note that this module lets opers set
105arbitrary account names and IDs and therefore should probably not be loaded on
106production networks.
107
108Once you have an account you should have a look at /msg N showcommands for a
109list of available commands.
110
111Local Settings
112--------------
41b1d1a0 113
005396ab
CP
114If you are using non-standard library/include paths you can create a file
115called configure.ini.local (using configure.ini.local.example as a template) to
116override some of the settings.