]> jfr.im git - irc/rizon/acid.git/blob - README.md
Add example for reflection based argument parser
[irc/rizon/acid.git] / README.md
1 # Rizon Acid Services
2 Acid is a Java based pseudo IRC server used by [Rizon](https://www.rizon.net) to run bots like Internets, LimitServ, and Quotes, as well as various others.
3
4 ## Requirements
5 Required to build are:
6 * Python2.7, with development headers.
7 * Maven
8 * JDK 1.8
9 * C++ compiler with C++11 support
10
11 ## Installing
12 It is recommended that you run Acid on a Linux OS.
13
14 Start by cloning the repo using:
15 ```
16 > git clone https://gitlab.com/rizon/acid.git
17 ```
18
19 And then grab the submodules using:
20 ```
21 > cd acid
22 > git submodule init
23 > git submodule update
24 ```
25
26 Go to the folder ```pyva/libpyva/pyva-native/``` and copy ```make.example.properties``` to ```make.properties```. Then modify the values to match your system.
27
28 Go back to the acid main folder and run ```mvn package```.
29
30 After pyva has been built, symlink ```libpyva.so``` from the pyva-native folder to the acid main folder.
31 ```
32 > ln -s pyva/libpyva/pyva-native/libpyva.so libpyva.so
33 ```
34
35 To obtain the correct python package you can use pip in the ```pyva``` folder
36 ```
37 > pip install -r requirements.txt
38 ```
39
40 ## Running
41 Acid has several configuration files that are needed for the program to successfully start. All configuration files must be put in the acid main folder.
42
43 The list of configuration files:
44 * acidictive.yml (acidictive.example.yml located in ```acid``` folder)
45 * config.yml (config.example.yml located in ```pyva``` folder)
46 * pyva.yml (pyva.example.yml located in ```pyva``` folder)
47
48 ### Database
49 Install the ```acidcore.sql```, located in ```acid``` database in your MySQL server.
50
51 Add yourself to the ```access``` table in the acidcore SQL database. Where ```flags``` matches one of the presets in ```acidictive.yml``` or your own set of privileges (SRA or 1 gives you full access in the default setting).
52
53 ### Anope configuration
54 Have the names of the bots you are going to use (ex. Internets) registered and allow them access to ```chanserv/why``` (Anope 1.8) or ```chanserv/status``` (Anope 2.0) command.
55 LimitServ requires ```chanserv/op``` access.
56
57 ### Linux
58 Before you can start Acid with libpyva you need to set the LD_PRELOAD environment variable to libpython, you can either add this to your ```~/.bashrc``` or to the ```run.sh``` script.
59
60 LD_PRELOAD should point to libpython, for example:
61 ```
62 export LD_PRELOAD=/usr/lib64/libpython2.7.so
63 ```
64
65 ### Windows
66 Requires a .symlink from libpyva.pyd to pyva.dll for some of the exception features to work.