Skip to content

X3 install Instructions

NX-Andro edited this page Sep 7, 2014 · 3 revisions

Requirements:

This release of X3 (1.8) only supports the Undernet P10 protocol (and nefarious extensions). It is tested with Nefarious IRCu 1.3. It does not support bahamut, hybrid, Unreal, or any other ircd not listed. Most of the testing has been done on Nefarious IRCu 1.3.0 (Based on ircu2.10.11.x).

X3 is known to compile on the following systems as long as you are using GNU make (make on Linux, gmake on many other systems):

  • Linux (libc5 or glibc2); glibc2.1 recommended+ (SPARC, ALPHA, x86, PPC)
  • FreeBSD 4.x; tested on 4.2-RELEASE and 4.2-STABLE (SPARC, x86)
  • FreeBSD 3.x; tested on 3.3-RELEASE and 3.4-STABLE (SPARC, x86)
  • FreeBSD 2.x; tested on 2.2.8-RELEASE (SPARC, x86)
  • NetBSD 1.6+; (ALPHA, MIPS, x86)
  • SunOS 5.x; tested on 5.8 (SPARC, x86)
  • OpenBSD 2.x; tested on 2.8 (x86)
  • BSDi 4.x; tested on 4.0.1 (x86)
  • CYGWIN 1.1.x and 1.3.x; tested on 1.1.8 (x86)

You may have trouble unless your compiler's C preprocessor supports ISO C99 varadic macros. gcc is the compiler we use for almost all our testing, and we recommend it for use with X3.

Quick Install:

$ ./configure --prefix=~/x3run
# Will install to x3run directory in your home directory $ make $ cp x3.conf.example x3.conf $ nano -w x3.conf # use -w (no wrapping) option with nano, or use your favorite editor $ ./x3 # launches x3. # Note: x3 runs in the background as a service by default. Give it arguments # -f -d to have it run in the foreground and print debug information.

Detailed Install:

It is generally a bad idea to run or install x3 as root. Choose an account x3 will run under, and configure it to install and run from somewhere that user has permissions.

  1. cd to the main directory of the X3 source tree.

    $ cd evilnet-x3serv

  2. Run the configure script with correct arguments. You need to tell configure at minimum a path to install to (--prefix). Later, after x3 is working, you may want to recompile it with additional modules by adding "--modules=memoserv,helpserv" but leave modules out for now. (see below for more information on modules)

    Configure will verify that your system will have the resources needed for X3 to compile. You should also turn debugging on to assist with setup:

    $ ./configure --prefix=/path/to/install --enable-debug

  3. Run "make" to begin compiling. If you encounter any uncorrectable errors/warnings, please scroll up to the introduction section and follow the instructions.

    $ make

  4. You may now either type "make install" to install it to your installation path, or work from your build directory, either is fine.

    $ make install

  5. Change to the install directory.

    $ cd /path/to/install

  6. Copy x3.conf.example to x3.conf

    $ cp x3.conf.example x3.conf

  7. The example config contains help to assist you with modifications. Remember to begin by only editing the bare minimum ammount you need to edit to make it run. Then, when it is working, gradually customize the config more. This way errors can be identified at their source.

    Errors in the configuration file will be logged to main.log (and if X3 is running in the foreground with -f, printed to stdout) when you start x3.

    To start with you will want to tell x3 where to connect. Modify the "Hub" entry in "uplinks" with your ircd info. You'll need a matching connect block in ircd.conf and a server type listen block for the port.

    You probably also want to modify the "hostname", "description", and "prefix", "numeric", "admin" etc. Other bits are documented, but generally must match how your ircd is configured.

    $ nano -w x3.conf

  8. You can now run x3 for the first time. You can debug by running it with '-fd'. It will not background itself, and it will be fairly verbose if you gave the configure script the --enable-debug flag. If you would like to run in the foreground with no verbosity, use the '-f' flag. If you just want to run it, execute X3 without any flags. $ ./x3 -fd

  9. Once you have X3 started, you'll need to register a AuthServ account: /msg AuthServ@services.irc.com register Make sure that you register the first account -- it is automatically granted owner privileges and gives you admin access to O3 once you are opered up.

  10. New operators can be given access to O3 through AuthServ's (or whatever you've named the nick/authentication service) oset command: /msg AuthServ oset | level Levels are generally beween 0 and 1000 by convention; higher numbers correspond to more access. You can also add helpers (users with extra privileges such as security override in traditional configurations) through AuthServ: /msg AuthServ oset | flags +H

  11. X3 stores its information in a flat text file (x3.db by default). If you shut down x3 first, you can edit this file by hand (but be careful!) If you delete it, x3 will start up brand new at step 9 (above) which can be handy if you think you have made a mistake.

If you get into trouble, stop by channel #Evilnet on irc.afternet.org for help.

Modules:

Modules are a large part of the features included in X3's additional assets. To use a module, you need to add it when configuring services.

To add a module, we simply add the "--enable-module=list,of,modules" parameter to the configure line.

Example: ./configure --prefix=$HOME/x3 --enable-modules=helpserv,memoserv,snoop The above line will install X3's core directory to /home/username/x3 (prefix) and enable the modules helpserv, memoserv, and snoop.

Available Modules:

  • blacklist - DNSBL module
  • helpserv - Help service module
  • memoserv - Memo/messenger service module
  • python - Python script support module (ALPHA; not complete)
  • qserver - Query server; allows X3 to listen on an additional port for connections
  • snoop - Tracks connections, quits, joins, parts, etc. and sends the data to a channel
  • sockcheck - Socket scanner module for open port proxies
  • track - Experimental alternative to snoop; not recommended for live networks
  • webtv - WebTV connection service module

Help guide originally created for srvx by: Jedi (jedi@turboflux.net) Adapted to X3 by Rubin. Additional information added by Andromeda.