]> jfr.im git - irc/UndernetIRC/gnuworld.git/blame - README
chanfix: Require opers to be authenticated to use oper level commands
[irc/UndernetIRC/gnuworld.git] / README
CommitLineData
1fed6a87 1
2Welcome to GNUWorld
3------------------
4
5****
6The best and most comprehensive information for installing gnuworld,
7postgresql, and the cservice and ccontrol (uworld) modules can be found at
03af8ef1 8https://gnuworld.sourceforge.io/gnuworld-setup.
1fed6a87 9
10The setup procedures listed here are generic, and do not provide any
11information for building databases for these two modules.
12****
13
14GNUWorld is an IRC services server. This server hosts several
15virtual client modules that perform IRC network and channel
16functions.
17
03af8ef1 18GNUWorld's homepage is located at http://gnuworld.sourceforge.io,
1fed6a87 19www.gnuworld.org, or gnuworld.undernet.org. From these pages
20you may obtain the latest information about GNUWorld.
21
22To use GNUWorld, you need a few of the basics:
23 - An uplink IRC server. Make sure the U lines are
24 set properly for the bots you wish for GNUWorld to
25 host.
26 - A machine to run GNUWorld. Keep in mind that
27 GNUWorld uses as much bandwidth as any other IRC
28 server on your network.
29 - GNUWorld will also use quite a bit of RAM time,
30 though not normally nearly as much as other IRC
31 servers on your network.
32
33The first step you need to take is to obtain a copy of GNUWorld.
34GNUWorld is software distributed under the GPL. A copy of the
35license is included with this distribution.
36
37You can obtain GNUWorld through the above web site. The
03af8ef1 38preferred method of getting a copy of GNUWorld is through git.
1fed6a87 39
03af8ef1 40git clone https://github.com/UndernetIRC/gnuworld.git
1fed6a87 41
1fed6a87 42
43(Execute the above command on a single line in your shell.)
44This will create a directory under your current directory named
45"gnuworld" in which all of GNUWorld's files will be placed.
46
47Installing GNUWorld
48-------------------
49
50If you used the CVS method above, you may proceed directly to the
51Building GNUWorld section below. Otherwise you downloaded a
52tar gzipped copy of GNUWorld.
53
54Unpack the archive as follows:
55
56gzip -cd gnuworld.xxx.tar.gz | tar xf -
57
58where xxx is the version of GNUWorld you have obtained.
59
60Building GNUWorld
61----------------
62
63In order to build GNUWorld, you will need a compiler which
64supports the ANSI C++ Standard. GNUmake is also recommended
65(gmake).
66
67Change into the gnuworld directory, and run the configuration script:
68
69cd gnuworld
70./configure
71
72When you run configure, you may specify which clients to build. Use
73the --enable-modules option to specify a comma separated list of
74modules to build (each client is now a dynamically loadable module).
75Here is an example of how to configure for only the cservice client:
76
77./configure --enable-modules=cservice
78
79This example will build both the cservice and ccontrol (oper services)
80modules:
81
82./configure --enable-modules=cservice,ccontrol
83
84Not specifying the --enable-modules option at all will build all
85available modules.
86
87If you should choose to build no modules at all (which isn't very
88useful), you can give the "no" (without the quotes) argument to the
89--enable-modules option:
90
91./configure --enable-modules=no
92
93Note also that all of the usual configure options are supported, and
94may be viewed by:
95
96./configure --help
97
98IMPORTANT: If your OS supports shared libraries, you can reduce
99the compile time by half if you give configure these addional
100options:
101
102--enable-shared --disable-static
103
104This will build the Makefiles that GNUWorld will use to compile
105its source code. Compile gnuworld with the command:
106
107make
108
109This command will build all of the libraries and binaries.
110To install the binaries and library modules into ./bin/, type:
111
112make install
113
114Configuring GNUWorld
115--------------------
116
117Change into the bin directory:
118
119cd bin
120
121In here you will find several .conf files. These are the files that
122GNUWorld uses to configure itself and its bots. The file
123"GNUWorld.example.conf" contains sufficient information for
124GNUWorld to connect to an IRC uplink server located on the local
125(127.0.0.1) machine.
126
127In order to run any services clients, each of those modules must be
128built and installed into the bin/ directory (see above). To have a
129client loaded, add a line like this to the .conf of your choice:
130
131module = libcservice.la cservice.conf
132
133The "module" keyword tells gnuworld to attempt to load the given
134module.
135
136NOTE: Individual modules may require additional configuration.
137Such is the case with modules libcservice (channel service) and
138ccontrol (oper services). Please read the README files in each
139of those modules' subdirectories for more information.
140
141All modules will be built with a ".la" extension. This is a
142libtool archive. LibTool is used to build dynamically
143loadable modules on many architectures, including those
144which do not support shared objects. Therefore, your system
145may require static archives to be built. In either case,
146libtool will figure out the proper build commands, and create a
147".la" archive for each client which isb uilt.
148
149The format of the configuration files should be fairly
150straightforward. GNUWorld also supports several command line
151options obtained by running the command:
152
153gnuworld -h
154
155Running GNUWorld
156----------------
157
158In order to run GNUWorld, all you need to pass it is the name of the
159configuration file. To have GNUWorld run and connect to the
160IRC server located at localhost:6667, using the configuration
161file GNUWorld.example.conf, issue the following command:
162
163gnuworld -f GNUWorld.example.conf
164
165That's it! You will now have GNUWorld running!
166
03af8ef1
H
167Should you have any problems, you can visit us on the channel #coder-com
168of the Undernet IRC network. https://chat.undernet.org/?channel=#coder-com
169
1fed6a87 170
03af8ef1
H
171You may also submit your bug reports via the github Issues section.
172https://github.com/UndernetIRC/gnuworld/issues
1fed6a87 173
174Thanks,
175
176The GNUWorld Development Team