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