]> jfr.im git - irc/rizon/acid.git/blame - README.md
Add example for reflection based argument parser
[irc/rizon/acid.git] / README.md
CommitLineData
8300444a
O
1# Rizon Acid Services
2Acid 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
5Required to build are:
6* Python2.7, with development headers.
36897bd7
A
7* Maven
8* JDK 1.8
9* C++ compiler with C++11 support
8300444a
O
10
11## Installing
12It is recommended that you run Acid on a Linux OS.
13
14Start by cloning the repo using:
15```
16> git clone https://gitlab.com/rizon/acid.git
17```
18
19And then grab the submodules using:
20```
21> cd acid
22> git submodule init
23> git submodule update
24```
25
26Go to the folder ```pyva/libpyva/pyva-native/``` and copy ```make.example.properties``` to ```make.properties```. Then modify the values to match your system.
27
28Go back to the acid main folder and run ```mvn package```.
29
30After 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
35To obtain the correct python package you can use pip in the ```pyva``` folder
36```
37> pip install -r requirements.txt
38```
39
40## Running
41Acid 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
43The 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
49Install the ```acidcore.sql```, located in ```acid``` database in your MySQL server.
50
51Add 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
54Have 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.
55LimitServ requires ```chanserv/op``` access.
56
57### Linux
58Before 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
60LD_PRELOAD should point to libpython, for example:
61```
62export LD_PRELOAD=/usr/lib64/libpython2.7.so
63```
64
65### Windows
66Requires a .symlink from libpyva.pyd to pyva.dll for some of the exception features to work.