X3 Installation Instructions Introduction: ---------- If you encounter any problems compiling/running X3, please make sure you have followed the directions in this file correctly and that all of the requirements listed below are met. If the problem persists, report it to one (or all) of the coders listed in the AUTHORS file. Please try to include ALL relevant information about the error/bug, including anything out of the ordinary reported from make and the appropriate entries from the log files. Requirements: ---------- This release of X3 (1.9) 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. Should you find other compatible ircds, please let us know. 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) X3 should compile on other system types also. If you have success on other platforms/archs or problems on any platforms/archs, please contact the authors to let us know. gcc 2.96 tends to emit spurious warnings; before reporting any compiler warnings from it, make sure you are using the most recent version of it or try using an official release of gcc. You may also 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. Compiling: ---------- 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. 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. -------------- Help guide originally created for srvx by: -Jedi (jedi@turboflux.net) Adapted by Rubin