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