]>
Commit | Line | Data |
---|---|---|
f28b61f2 CP |
1 | newserv |
2 | ======= | |
3 | ||
4 | [![Build Status](https://travis-ci.org/quakenet/newserv.png?branch=master)](https://travis-ci.org/quakenet/newserv) | |
5 | ||
005396ab | 6 | Introduction |
f28b61f2 | 7 | ------------ |
d1b8e200 | 8 | |
4af4ef24 | 9 | newserv is a P10 protocol services daemon developed for the QuakeNet IRC |
005396ab | 10 | Network. |
d1b8e200 | 11 | |
005396ab | 12 | It is modular, fast and easily customisable. |
d1b8e200 | 13 | |
f28b61f2 | 14 | The official website for newserv is https://development.quakenet.org/. |
d1b8e200 | 15 | |
005396ab | 16 | Please refer to the LICENSE file for licensing details. |
d1b8e200 GB |
17 | |
18 | Features | |
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 | 35 | Requirements |
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 | 45 | Support & Development |
f28b61f2 | 46 | --------------------- |
d1b8e200 | 47 | |
4af4ef24 GB |
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. | |
d1b8e200 | 50 | |
4af4ef24 GB |
51 | If you've found any bugs or you're working on any cool new features please give |
52 | us a shout. | |
d1b8e200 | 53 | |
005396ab | 54 | Installation |
f28b61f2 | 55 | ------------ |
005396ab CP |
56 | |
57 | First run configure script: | |
58 | ||
f28b61f2 | 59 | $ ./configure |
005396ab CP |
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 | ||
f28b61f2 | 70 | $ make |
005396ab CP |
71 | |
72 | After all modules are built you can install newserv: | |
73 | ||
f28b61f2 | 74 | $ make install |
005396ab CP |
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 | ||
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 | |
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 | ||
f28b61f2 | 91 | $ ./newserv |
005396ab CP |
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 | -------------- | |
41b1d1a0 | 113 | |
005396ab CP |
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. |