]> jfr.im git - irc/quakenet/newserv.git/blame - README.md
Update README.md
[irc/quakenet/newserv.git] / README.md
CommitLineData
f28b61f2
CP
1newserv
2=======
3
3d96f492 4![C/C++ CI](https://github.com/quakenet/newserv/workflows/C/C++%20CI/badge.svg)
f28b61f2 5
005396ab 6Introduction
f28b61f2 7------------
d1b8e200 8
f6ee6b74 9newserv is a P10 protocol services daemon developed for the QuakeNet IRC network.
d1b8e200 10
005396ab 11It is modular, fast and easily customisable.
d1b8e200 12
f6ee6b74 13The official website for newserv is https://development.quakenet.org/
d1b8e200 14
005396ab 15Please refer to the LICENSE file for licensing details.
d1b8e200
GB
16
17Features
f28b61f2 18--------
d1b8e200
GB
19
20 * Role-based access checks for oper commands
d1b8e200 21 * Search functionality
005396ab 22 * Scripting (Lua)
d1b8e200 23 * Proxy detection (P)
d1b8e200 24 * Connection limits ("trusts")
d1b8e200 25 * Transactional g:line support
d1b8e200 26 * Jupes
d1b8e200 27 * Chanfix
005396ab 28 * Chanserv (Q9)
d1b8e200 29 * Help Service (G)
d1b8e200 30 * Channel Service Request (R)
d1b8e200 31 * QA/Tutor Bots
d1b8e200
GB
32 * Server list with latency checks
33
005396ab 34Requirements
f28b61f2 35------------
005396ab 36
f28b61f2 37* 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
38* Linux system (BSDs may work, but not actively tested)
39* flex
40* bison
41* GNU Make
42* Python 2.4
43
f6ee6b74 44Support & development
f28b61f2 45---------------------
d1b8e200 46
f6ee6b74 47Please read the documentation provided before you ask us for support. You may find some assistance in #dev on QuakeNet for specific questions.
d1b8e200 48
f6ee6b74 49If you've found any bugs or you're working on any cool new features please give us a shout.
d1b8e200 50
005396ab 51Installation
f28b61f2 52------------
005396ab
CP
53
54First run configure script:
55
f28b61f2 56 $ ./configure
005396ab 57
f6ee6b74 58The 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.
005396ab 59
f6ee6b74 60Please 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:
005396ab 61
f28b61f2 62 $ make
005396ab
CP
63
64After all modules are built you can install newserv:
65
f28b61f2 66 $ make install
005396ab 67
f6ee6b74 68By 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:
005396ab 69
f28b61f2
CP
70 $ cd
71 $ mkdir newserv-install && cd newserv-install
72 $ ln -s ../newserv-src/newserv
73 $ ln -s ../newserv-src/modules
005396ab 74
f6ee6b74
CP
75You will also need to copy the newserv.conf.example configuration file to your installation directory and rename it to newserv.conf.
76
77The MODULES file has a list of available modules and their configuration settings.
005396ab
CP
78
79After you have updated your newserv.conf file you can start newserv:
80
f28b61f2 81 $ ./newserv
005396ab 82
f6ee6b74 83newserv does not detach from the console. Consider running it in a screen(1) session.
005396ab 84
f6ee6b74 85User accounts
005396ab
CP
86-------------
87
f6ee6b74 88You 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.
005396ab 89
f6ee6b74 90If 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.
005396ab 91
f6ee6b74 92Once you have an account you should have a look at /msg N showcommands for a list of available commands.
005396ab 93
f6ee6b74 94Local settings
005396ab 95--------------
41b1d1a0 96
f6ee6b74 97If 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.