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