Menu

Tree [d9b68a] master /
 History

HTTPS access


File Date Author Commit
 bin 2024-08-05 Hidden Hidden [38031d] dronescan: Ignore join-floods if the client's s...
 contrib 2021-06-02 Michael Poole Michael Poole [96b7ad] Consolidate most .gitignore files
 db 2024-07-05 MrIron MrIron [a39d59] - New MODE command for mod.cservice
 doc 2024-08-31 MrIron MrIron [9158a4] Added language. Initialise bancounter
 include 2024-09-26 MrIron MrIron [19957b] Made available core containers to allow for ran...
 lib 2021-06-02 Michael Poole Michael Poole [96b7ad] Consolidate most .gitignore files
 libgnuworld 2024-09-30 MrIron MrIron [2c1bcb] Fix escaping.
 libircu 2024-08-05 Hidden Hidden [5b4734] core: Added lag updates on channel creation (ms...
 libltdl 2023-09-24 Hidden Hidden [45371b] Update automake version to 1.16.5
 m4 2024-08-13 MrIron MrIron [7cface] 1. Bumped up to C++-20
 mod.ccontrol 2024-09-26 MrIron MrIron [19957b] Made available core containers to allow for ran...
 mod.chanfix 2021-06-02 Michael Poole Michael Poole [c73c31] Convert to non-recursive make
 mod.clientExample 2021-06-02 Michael Poole Michael Poole [c73c31] Convert to non-recursive make
 mod.cloner 2024-08-01 MrIron MrIron [8db85d] Enhancements to mod.cloner
 mod.cservice 2024-10-10 MrIron MrIron [8da4f2] Dont send bans_removed response if the nick is ...
 mod.dronescan 2024-08-14 MrIron MrIron [163986] Locate liboath in additional include-folder. Im...
 mod.gnutest 2024-08-03 MrIron MrIron [5590c6] Separate event handler for channel joins during...
 mod.nickserv 2024-08-03 MrIron MrIron [5590c6] Separate event handler for channel joins during...
 mod.openchanfix 2024-08-18 MrIron MrIron [c5f4be] libgnuworld: Added function to parse an epoch t...
 mod.scanner 2021-06-02 Michael Poole Michael Poole [c73c31] Convert to non-recursive make
 mod.snoop 2024-08-10 MrIron MrIron [baa393] Small fix to mod.snoop after changes to core.
 mod.stats 2024-08-21 MrIron MrIron [ea91ff] mod.stats: Fix after adding EVT_BURST caused it...
 src 2024-09-30 MrIron MrIron [9a7ca5] Fix typo to previous commit.
 test 2021-06-02 Michael Poole Michael Poole [c73c31] Convert to non-recursive make
 tools 2021-06-01 Michael Poole Michael Poole [6939f4] Git with the program
 .gitignore 2021-10-14 Michael Poole Michael Poole [4cdd54] Update .gitignore for in-tree builds
 AUTHORS 2010-09-29 denspike denspike [1fed6a] Initial import.
 COPYING 2010-09-29 denspike denspike [1fed6a] Initial import.
 ChangeLog 2010-09-29 denspike denspike [1fed6a] Initial import.
 Credits 2010-09-29 denspike denspike [1fed6a] Initial import.
 INSTALL 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code
 LICENSE 2010-09-29 denspike denspike [1fed6a] Initial import.
 Makefile.am 2022-02-22 Michael Poole Michael Poole [8a3e9c] Attempt to move server_command_map to $(pkgdata...
 Makefile.in 2024-08-13 MrIron MrIron [7cface] 1. Bumped up to C++-20
 NEWS 2010-09-29 denspike denspike [1fed6a] Initial import.
 README 2024-07-05 MrIron MrIron [a39d59] - New MODE command for mod.cservice
 README-NEW-Features.txt 2024-07-05 MrIron MrIron [a39d59] - New MODE command for mod.cservice
 TODO 2010-09-29 denspike denspike [1fed6a] Initial import.
 aclocal.m4 2024-08-13 MrIron MrIron [7cface] 1. Bumped up to C++-20
 ar-lib 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code
 autogen.sh 2010-09-29 denspike denspike [1fed6a] Initial import.
 compile 2021-10-13 Michael Poole Michael Poole [8fbda0] Add compile script to the repository (ew)
 config-h.in 2010-09-29 denspike denspike [1fed6a] Initial import.
 config.guess 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code
 config.sub 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code
 configure 2024-09-26 MrIron MrIron [19957b] Made available core containers to allow for ran...
 configure.ac 2024-09-26 MrIron MrIron [19957b] Made available core containers to allow for ran...
 depcomp 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code
 install-sh 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code
 ltconfig 2010-09-29 denspike denspike [1fed6a] Initial import.
 ltmain.sh 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code
 missing 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code
 mkinstalldirs 2021-06-02 Michael Poole Michael Poole [9e14fd] Update autoconfigury code

Read Me

Welcome to GNUWorld
------------------

****
The setup procedures listed here are generic, and do not provide any 
information for building databases for these two modules.
****

GNUWorld is an IRC services server.  This server hosts several
virtual client modules that perform IRC network and channel 
functions.

To use GNUWorld, you need a few of the basics:
	- An uplink IRC server.  Make sure the UWorld block is
	  set properly for the bots you wish for GNUWorld to 
	  host.
	- A machine to run GNUWorld.  Keep in mind that
	  GNUWorld uses as much bandwidth as any other IRC 
	  server on your network.
	- GNUWorld will also use quite a bit of RAM time, 
	  though not normally nearly as much as other IRC 
	  servers on your network.

The first step you need to take is to obtain a copy of GNUWorld.
GNUWorld is software distributed under the GPL.  A copy of the 
license is included with this distribution.

You can obtain GNUWorld through the above web site.  The
preferred method of getting a copy of GNUWorld is through git.

git clone https://github.com/UndernetIRC/gnuworld.git


(Execute the above command on a single line in your shell.)
This will create a directory under your current directory named 
"gnuworld" in which all of GNUWorld's files will be placed.

Building GNUWorld
----------------

In order to build GNUWorld, you will need a compiler which
supports the ANSI C++ Standard.  GNUmake is also recommended 
(gmake).

Change into the gnuworld directory, and run the configuration script:

cd gnuworld
./configure

When you run configure, you may specify which clients to build.  Use
the --enable-modules option to specify a comma separated list of
modules to build (each client is now a dynamically loadable module).
Here is an example of how to configure for only the cservice client:

./configure --enable-modules=cservice

This example will build both the cservice and ccontrol (oper services)
modules:

./configure --enable-modules=cservice,ccontrol

Not specifying the --enable-modules option at all will build all
available modules.

If you should choose to build no modules at all (which isn't very
useful), you can give the "no" (without the quotes) argument to the 
--enable-modules option:

./configure --enable-modules=no

Note also that all of the usual configure options are supported, and
may be viewed by:

./configure --help

IMPORTANT: If your OS supports shared libraries, you can reduce
the compile time by half if you give configure these addional
options:

--enable-shared --disable-static

This will build the Makefiles that GNUWorld will use to compile
its source code.  Compile gnuworld with the command:

make

This command will build all of the libraries and binaries.
To install the binaries and library modules into ./bin/, type:

make install

Configuring GNUWorld
--------------------

Change into the bin directory:

cd bin

In here you will find several .conf files.  These are the files that
GNUWorld uses to configure itself and its bots.  The file
"GNUWorld.example.conf" contains sufficient information for 
GNUWorld to connect to an IRC uplink server located on the local
(127.0.0.1) machine.

In order to run any services clients, each of those modules must be
built and installed into the bin/ directory (see above).  To have a
client loaded, add a line like this to the .conf of your choice:

module = libcservice.la cservice.conf

The "module" keyword tells gnuworld to attempt to load the given
module.

NOTE: Individual modules may require additional configuration.
Such is the case with modules libcservice (channel service) and 
ccontrol (oper services).  Please read the README files in each 
of those modules' subdirectories for more information.

All modules will be built with a ".la" extension.  This is a
libtool archive.  LibTool is used to build dynamically
loadable modules on many architectures, including those
which do not support shared objects.  Therefore, your system
may require static archives to be built.  In either case,
libtool will figure out the proper build commands, and create a
".la" archive for each client which isb uilt.

The format of the configuration files should be fairly
straightforward.  GNUWorld also supports several command line 
options obtained by running the command:

gnuworld -h

Running GNUWorld
----------------

In order to run GNUWorld, all you need to pass it is the name of the
configuration file.  To have GNUWorld run and connect to the
IRC server located at localhost:6667, using the configuration 
file GNUWorld.example.conf, issue the following command:

gnuworld -f GNUWorld.example.conf

That's it!  You will now have GNUWorld running!

Should you have any problems, you can visit us on the channel #coder-com
of the Undernet IRC network. https://chat.undernet.org/?channel=#coder-com


You may also submit your bug reports via the github Issues section.
https://github.com/UndernetIRC/gnuworld/issues

Thanks,

The GNUWorld Development Team