# UnrealIRCD und SRVX



## HalloIchBinCool (16. Mai 2004)

Hi,
ich hab nen problem jedesmal wenn die SRVX-Services zum UnrealIRCD connecten bekomm ich nen error als ircop angezeigt:
 -Fighter-IRC.dydns.org- *** Notice -- Cancelling link [@192.168.0.55.1060], invalid numeric
ich hab den numeric inna config schon ein paar mal geändert aber das nütz nichts  was soll ich tun?
Komischerweise funktioniernen die Anope. aber die will ich nicht benutzen da bei diesen der Chanserv nicht den gereggten chan joint.


IRCD-Conf:

```
/* Type of comments */
#Comment type 1 (Shell type)
// Comment type 2(C++ style)
/* Comment type 3 (C Style) */
#those lines are ignored by the ircd.

/*
 * At *NIX UnrealIrcd supports modules.
 * Loading the commands module is required:
 */
loadmodule "src/modules/commands.so";

/*
 * You can also include other configuration files.
 * help.conf contains all the /helpop text. The badwords.*.conf
 * files contain all the badword entries For mode +G...
 * spamfilter.conf contains some good rules For current trojans.
 * You probably want To include them:
 */
include "help.conf";
include "badwords.channel.conf";
include "badwords.message.conf";
include "badwords.quit.conf";
include "spamfilter.conf";
include "aliases/anope.conf";


me
{
 name "Fighter-IRC.dydns.org";
 info "Fighters-Gamer-Irc";
 numeric 1;
};

admin
{
 "Fighter2k4";
 "Fighter";
 "A.Buelow@neu-wulmstorf.de";
};


class           clients
{
 pingfreq 90;
 maxclients 500;
 sendq 100000;
 recvq 8000;
};

class           servers
{
 pingfreq 90;
 maxclients 10;		/* Max servers we can have linked at a time */
 sendq 1000000;
 connfreq 100; /* How many seconds between each connection attempt */
};

/*
 * NEW: allow {} 
 * OLD: I:Line
 * This defines allowing of connections...
 * Basically For clients, it allows them To connect so you can have some
 * control and/Or set a password. 
 * Syntax is as follows: 
 * allow {
 *    ip (ip mask To allow);
 *    Hostname (host mask);
 *    class (class To send them To [see class {}]);
 *    password "(password)"; (optional)
 *    maxperip (how many connections per ip); (optional) 
 * };
 */

allow {
 ip             *@*;
 hostname       *@*;
 class           clients;
 maxperip 20;
};

/* Passworded allow line */
allow {
 ip             *@127.0.0.1;
 hostname       *@services.Fighter-IRC.dydns.org;
 class           clients;
 password "ab130191";
 maxperip 1;
};

/*
 * NEW: allow channel {} 
 * OLD: chrestrict 
 * Allows a user To join a channel...
 * like an except from deny channel. 
 * Syntax:
 * allow channel {
 *   channel "channel name";
 * };
 */
allow           channel {
 channel "#WarezSucks";
};

/*
 * NEW: oper {} 
 * OLD: O:Line 
 * Defines an IRC Operator
 * IRC operators are there To keep sanity To the server And usually keep it
 * maintained And connected To the network. 
 * The syntax is as follows: 
 * oper (login) { 
 *     class (class To put them in, If different from I, moves them To new
 *                class); 
 *     from { 
 *        userhost (ident@host);
 *        userhost (ident@host);
 *     }; 
 *     flags
 *     { 
 *       (flags here*);
 *     };
 *     Or
 *     flags "old type flags, like OAaRD";
 * };
 */

/* OLD OPER FLAG  | NEW FLAG NAME
 O  Global
 o  local
 a  services-admin
 A  admin
 r  can_rehash
 D  can_die
 R  can_restart
 h  helpop
 w  can_wallops
 g  can_globops
 c  can_localroute
 L  can_globalroute
 k  can_localkill
 K  can_globalkill
 b  can_kline
 Z  can_gzline
 t  can_gkline
 B  can_unkline
 n  can_localnotice
 G  can_globalnotice
 N  netadmin
 C  coadmin
 z  can_zline
 W  get_umodew
 H  get_host
 v  can_override
*/

/*
Note: netadmin gives you OaAN
admin And services-admin give you o as well
*/

oper Fighter {
 class           clients;
 from {
  userhost *@*;
 };
 password "ab130191";
 flags "oOCAaNrDRhwgcLkKbBnGztZWHvqd";
};


listen         *:8067;
listen         *:6667;

/*
 *
 * NEW: ulines {}
 * OLD: U:Line
 * U-lines give servers more power/commands, this should ONLY be set
 * For services/stats servers And NEVER For normal UnrealIRCd servers!
 * Syntax is as follows:
 * ulines {
 * (server To uline);
 * (server To uline);
 *  [etc]
 * };
*/
ulines {
 services.Fighter-IRC.dydns.org;
 stats.Fighter-IRC.dydns.org;
};

/*
 * NEW: drpass {}
 * OLD: X:Line
 * This defines the passwords For /die And /restart.
 * Syntax is as follows:
 * drpass { 
 *  restart  "(password for restarting)";
 *  die          "(password for die)";
 * };
 */
drpass {
 restart "ab130191";
 die "ab130191";
};

/*
 * NEW: log {} OLD: N/A Tells the ircd where And what To Log(s). You can have
 * as many as you wish.
 * 
 * FLAGS: errors, kills, tkl, connects, server-connects, kline, oper
 * 
 * NOTICE: Right now, SEGV messages are *always* sent To ircd.log. codemastr is
 * working on a way To redirect the messages To this log file. *
 * Syntax: 
 * log "log file" 
 * {
 *    flags
 *    {
 *        flag;
 *        flag; 
 *        etc.. 
 *    }; 
 * };
 */

log "ircd.log" {
 /* Delete the log file And start a new one when it reaches 2MB, leave this out To always use the 
    same log */
 maxsize 2097152;
 flags {
  oper;
  kline;
  connects;
  server-connects;
  kills;
  errors;
 };
};

/*
 * NEW: alias {}
 * OLD: N/A
 * This allows you To set command aliases such as /nickserv, /chanserv etc
 * FLAGS: services, stats, normal
 *
 * Syntax:
 * alias "name" {
 * nick "points to";
 * type aliastype;
 * };
 *
 * [NOTE: You could also include a pre-defined alias file here, see doc/unreal32docs.html section 2.9]
 */

// This points the command /nickserv To the user NickServ who is connected To the set::services-server server
/*alias NickServ {
 nick "NickServ";
 type services;
};*/

// If you want the command To point To the same nick as the command, you can leave the nick entry out
//alias ChanServ { type services; };

// Points the /statserv command To the user StatServ on the set::stats-name server
//alias StatServ { type stats; };

// Points the /superbot command To the user SuperBot
//alias SuperBot { type normal; };


/* Standard aliases */
alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type services; };
alias HelpServ { type services; };
alias StatServ { type stats; };

/*
 * NEW: alias {}
 * OLD: N/A
 * This allows you To set command aliases such as /identify, /services, etc
 *
 * Syntax:
 * alias "name" {
 * format "format string" {
 *  nick "points to";
 *              type aliastype;
 *  parameters "parameters to send";
 * };
 * type command;
 * };
 */
/* This is shown seperately because even though it has teh same name as the previous directive, it is very
 * different in syntax, although it provides a similar function And relys on the standard aliases To work.
 */
/*
alias "identify" {
 format "^#" {
  nick "chanserv";
  type services;
  parameters "IDENTIFY %1-";
 };
 format "^[^#]" {
  nick "nickserv";
  type services;
  parameters "IDENTIFY %1-";
 };
 type command;
};
*/
/* The alias::format directive is a regular expression. The first format matches the /identify command when
 * the first character is a #. It then passes this along To the chanserv alias with the parameters IDENTIFY
 * %1-. The second format matches then /identify command when the first character is not a #. It then
 * passes the command To the nickserv alias with parameters IDENTIFY %1-.
 */

/* The alias::format::parameters is similar To scripting languages. %N (where N is a number) represents a
 * parameter sent To the command (in this Case /identify). If you specify %N- it means all parameters from
 * N Until the last parameter in the string.
*/

/* Standard aliases */
alias "services" {
 format "^#" {
  nick "chanserv";
  type services;
  parameters "%1-";
 };
 format "^[^#]" {
  nick "nickserv";
  type services;
  parameters "%1-";
 };
 type command;
};

alias "identify" {
 format "^#" {
  nick "chanserv";
  type services;
  parameters "IDENTIFY %1-";
 };
 format "^[^#]" {
  nick "nickserv";
  type services;
  parameters "IDENTIFY %1-";
 };
 type command;
};


/*
 * NEW: tld {}
 * OLD: T:Line
 * This sets a different motd And rules files
 * depending on the clients hostmask.
 * Syntax is as follows: 
 * tld {
 *    mask (ident@host);
 *    motd "(motd file)";
 *    rules "(rules file)";
 * };
 */



/*
 * NEW: ban nick {}
 * OLD: Q:Line
 * Bans a nickname, so it can't be used.
 * Syntax is as follows:
 * ban nick {
 * mask "(nick to ban)";
 * reason "(reason)";
 * };
*/

/*
 * NEW: ban ip {}
 * OLD: Z:Line
 * Bans an ip from connecting To the network.
 * Syntax:
 * ban ip { mask (ip number/hostmask); reason "(reason)"; };
*/

/*
 * NEW: ban server {}
 * OLD: Server Q:Line
 * Disables a server from connecting To the network.
 * If the server links To a remote server, local server
 * will disconnect from the network.
 * Syntax is as follows:
 * ban server {
 * mask "(server name)";
 * reason "(reason to give)";
 * };
*/

/*
 * NEW: ban user {}
 * OLD: K:Line
 * This makes it so a user from a certain mask can't connect
 * To your server.
 * Syntax:
 * ban user { mask (hostmask/ip number); reason "(reason)"; };
*/


/*
 * NEW: ban realname {}
 * OLD: n:Line
 * This bans a certain realname from being used.
 * Syntax:
 * ban realname {
 * mask "(real name)";
 *  reason "(reason)";
 * };
*/



/*
 * NOTE For ALL BANS, they may be repeated For addition entries!
 * 
 * NEW: except ban {} 
 * OLD: E:Line
 * This makes it so you can't get banned. 
 * Syntax:
 * except ban { mask (ident@host); };
 * Repeat the except ban {} as many times
 * as you want For different hosts.
 */


/*
 * NEW: deny dcc {} 
 * OLD: dccdeny.conf
 * Use this To block dcc send's... stops
 * viruses better. 
 * Syntax: 
 * deny dcc 
 * { 
 *   filename "file to block (ie, *exe)";
 *   reason "reason";
 * };
 */
deny dcc {
 filename "*sub7*";
 reason "Possible Sub7 Virus";
};

/*
 * NEW: deny channel {}
 * OLD: N/A (NEW)
 * This blocks channels from being joined.
 * Syntax:
 * deny channel {
 *  channel "(channel)";
 *  reason "reason";
 * };
*/
deny channel {
 channel "*warez*";
 reason "Warez is illegal";
};

/*
 * NEW: vhost {}
 * OLD: Vhost.conf file
 * This sets a fake ip For non-opers, Or
 * opers too lazy To /sethost :P
 * Syntax:  
 *   vhost { 
 *       vhost (vhost.com); 
 *       from {
 *            userhost (ident@host To allow To use it);
 *       };
 *       login (login name);
 *       password (password);
 *   };
 *        then To use this vhost, do /vhost (login) (password) in IRC
 */
vhost {
 vhost           Fighter.Ist.Cool.de;
 from {
  userhost       *@*;
 };
 login           Fighter;
 password        ab130191;
};

/* You can include other configuration files */
/* include "klines.conf"; */

/* Network configuration */
set {
 network-name   "Fighters-Gamer-IRC";
 default-server   "Fighter-IRC.dydns.org";
 services-server  "services.Fighter-IRC.dydns.org";
 stats-server   "stats.Fighter-IRC.dydns.org";
 help-channel   "#support";
 hiddenhost-prefix "irc";
 /* prefix-quit   "no"; */
 /* Your cloak keys should be 3 random numbers between 10000 And 2147483646
  * And should be the same at all servers on the network.
  * They are used For generating masked hosts And should be kept secret.
  */
 cloak-keys {
  19666;
  13333;
  13330;
 };
 /* on-oper host */
 hosts {
  local  "locop.Fighter-IRC.dydns.org";
  global  "globircop.Fighter-IRC.dydns.org";
  coadmin  "coadmin.Fighter-IRC.dydns.org";
  admin  "admin.Fighter-IRC.dydns.org";
  servicesadmin  "csops.Fighter-IRC.dydns.org";
  netadmin  "netadmin.Fighter-IRC.dydns.org";
  host-on-oper-up "no";
 };
};

/* Server specific configuration */

set {
 kline-address "Newswetter@lycos.de";
 modes-on-connect "+ixw";
 modes-on-oper  "+xwgs";
 oper-auto-join "#opers";
 dns {
  nameserver 127.0.0.1;
  timeout 2s;
  retries 2;
 };
 options {
  hide-ulines;
  /* You can enable ident checking here If you want */
  /* identd-check; */
  show-connect-info;
 };

 maxchannelsperuser 10;
 /* The minimum time a user must be connected before being allowed To use a QUIT message,
  * This will hopefully help stop spam */
 anti-spam-quit-message-time 10s;
 /* Make the message in static-quit show in all quits - meaning no
           custom quits are allowed on local server */
 /* static-quit "Client quit";	*/

 /* You can also block all part reasons by uncommenting this And say 'yes',
  * Or specify some other text (eg: "Bye bye!") To always use as a comment.. */
 /* static-part yes; */

 /* This allows you To make certain stats oper only, use * For all stats,
  * leave it out To allow users To see all stats. Type '/stats' For a full list.
  * Some admins might want To remove the 'kGs' To allow normal users To list
  * klines, glines And shuns.
  */
 oper-only-stats "okfGsMRUEelLCXzdD";

 /* Throttling: this example sets a limit of 3 connections per 60s (per host). */
 throttle {
  connections 20;
  period 60s;
 };

 /* Anti flood protection */
 anti-flood {
  nick-flood 10:20;	/* 3 nickchanges per 60 seconds (the default) */
 };

 /* Spam filter */
 spamfilter {
  ban-time 1d; /* default duration of a *line ban set by spamfilter */
  ban-reason "Spam/Advertising"; /* default reason */
  virus-help-channel "#help"; /* channel to use for 'viruschan' action */
  /* except "#help"; channel to exempt from filtering */
 };
};

/*
 * Problems Or need more help?
 * 1) www.vulnscan.org/UnrealIrcd/unreal32docs.html
 * 2) www.vulnscan.org/UnrealIrcd/faq/ <- contains 80% of your questions!
 * 3) If you still have problems you can go irc.ircsystems.net #unreal-support,
 *    note that we require you To Read THE DOCUMENTATION And FAQ first!
 */
link services.Fighter-IRC.dydns.org
{
username *;
hostname *;
bind-ip *; 
port *; 
hub *; 
password-connect "ab130191";
password-receive "ab130191";
class servers; 
};
```

mfg
Fighter
(Irgenwer hat mir den Nick geklaut deswegen der nick an der Séite *fg*)


----------



## HalloIchBinCool (16. Mai 2004)

Srvx Conf:

```
// services configuration file (example)
/* It allows two kinds of comments.  Whitespaces between tokens are
 * ignored.  All strings (even if they're just numbers) MUST be
 * enclosed in double quotes.  There must be a semicolon after every
 * key/value pair.
 */

// The "uplinks" section describes what servers we can possibly link
// to.  Each subsection describes one server.
"uplinks" {
    "192.168.0.55" {
        // IP address and port the server listens on
        "address"        "192.168.0.55";
        "port"           "6667";
        // What password should we send when we connect?
        "password"       "ab130191";
        // What password should we require our peer to send?
        // (If it is blank, we do not require a specific password.)
        "their_password" "ab130191";
        "enabled"        "1";
        // How many times should we try to connect before giving up?
        "max_tries"      "3";
        // What IP should we bind to?
        // If you do not specify bind_address, the default is used.
        // "bind_address"   ""; // use this ip to link
    };

    /* unused-uplink is just an example to show you how you can
     * define more than one uplink (and how you can disable one or
     * more of them.) */
    "unused-uplink" {
        "address"        "10.0.0.4";
        "port"           "6660";
        "password"       "passwordtoconnect";
        "their_password" "passwordtorequire";
        // If "enabled" is 0, we will not try to use this uplink.
        "enabled"        "0";
        "max_tries"      "3";
    };
};

// The "services" section configures the services that make up srvx.
"services" {
    "nickserv" {
        "nick" "NickServ";
        // If you want to by have *@* as the default hostmask, set
        // default_hostmask.  This is discouraged for security reasons.
        // "default_hostmask" "1";
        // do we warn users when someone new auths to their account?
        "warn_clone_auth" "1";
        // what is the default maxlogins value?
        "default_maxlogins" "2";
        // what is the absolute maxlogins value?
        "hard_maxlogins" "10";
        // This names a file that contains easily guessed passwords.
        // It always contains "password", "<password>" and the user's
        // account name.
        "dict_file" "/usr/share/dict/words";
        // Minimum number of various types of characters permitted in
        // a password.
        "password_min_length" "4";
        "password_min_digits" "1";
        "password_min_upper" "0";
        "password_min_lower" "0";
        // What should valid account and nicks look like?
        // If valid_nick_regex is omitted, valid_account_regex is used
        // for both nicks and accounts.
        // These look funny because "[][-]" is the only way to write the
        // character class containing the characters ']', '[' and '-'.
        "valid_account_regex" "^[][_a-z^`'{}|-][][_a-z0-9^`'{}|-]*$";
        "valid_nick_regex" "^[-_a-z][-_a-z0-9]*$";

        // Should nick ownership be disabled?
        "disable_nicks" "0";
        // One account may only own this many nicks.
        "nicks_per_account" "4";
        // Send a warning when someone uses a registered nick?
        "warn_nick_owned" "0";
        // What to do when someone uses the NickServ "reclaim" command?
        // This can be one of "none", "warn", "svsnick", or "kill", but
        // stock ircu does not support svsnick -- you need Bahamut or a
        // patch for ircu.  no, don't ask srvx developers for the patch.
        "reclaim_action" "none";
        // What (else) to do when someone uses a registered nick?
        // This can be anything "reclaim_action" can be, but it makes
        // more sense to use the "warn_nick_owned" instead of "warn".
        "auto_reclaim_action" "none";
        // How long to wait before doing the auto_reclaim_action?
        // This is ignored if "auto_reclaim_action" is "none".
        "auto_reclaim_delay" "0";

        // access control for who can change account flags
        "flag_levels" {
            "g" "800";
            "lc_h" "800"; // specifically lower case h
            "uc_H" "800"; // .. and upper case H
            "S" "999";
        };
        // and for who can change epithets for staff
        "set_epithet_level" "800";
        // what opserv access level do you need to set somebody else's level?
        "modoper_level" "850";

        // how often should accounts be expired?
        "account_expire_freq" "1d";
        // how long until an account with access to any channel(s) expires?
        "account_expire_delay" "35d";
        // how long until an account with no access to any channels expires?
        "nochan_account_expire_delay" "14d";
        /* "require_qualified" has been removed. It is now
         * integrated into the modcmd command authorization
         * and dispatch mechanism.  "/msg OpServ help modcmd"
         * for details.
         */
        // If somebody keeps guessing passwords incorrectly, do we gag them?
        "autogag_enabled" "1";
        "autogag_duration" "30m";
        "auth_policer" {
            "size" "5";
            "drain-rate" "0.05";
        };
        // How to integrate with email cookies?
        "email_enabled" "0"; // if set, /mail/enable MUST be set too
        "email_required" "0"; // ignored unless email_enabled is non-zero
        "cookie_timeout" "1d"; // how long before we expire cookies?
        "accounts_per_email" "1"; // you may want to increase this; or not
        "email_search_level" "600"; // minimum OpServ level to search based on email address
        "email_visible_level" "800"; // minimum OpServ level to see somebody's email address
    };

    "opserv" {
        "nick" "OpServ";
        // what channel should opserv send debug output to?
        "debug_channel" "#opserv";
        "debug_channel_modes" "+tinms";
        // where to send general alerts (e.g. flood alerts)?
        "alert_channel" "#opers";
        "alert_channel_modes" "+tns";
        // who to tell about staff auths?
        "staff_auth_channel" "#opserv";
        "staff_auth_channel_modes" "+tinms";
        // how many clones to allow from an untrusted host?
        "untrusted_max" "4";
        // how long of a g-line should be issued if the max hosts is exceeded?
        "clone_gline_duration" "1h";
        // how long to g-line for ?block (or, by default, for ?trace gline)?
        "block_gline_duration" "1h";
        // how long to keep an illegal channel locked down (seconds)?
        "purge_lock_delay" "60";
        // channel join flood policer params?
        "join_policer" {
            "size" "20";
            "drain-rate" "1";
        };
        // automatically moderate join flooded channels?
        "join_flood_moderate" "1";
        // Don't moderate and warn channels unless there are more than
        // join_flood_moderate_threshold users in the channel. the
        // value 0 will disable the threshold.
        "join_flood_moderate_threshold" "50";
        // new user flood policer params
        "new_user_policer" {
            "size" "200";
            "drain-rate" "3";
        };
        // character to make OpServ pay attention to you
        "trigger" "?";
    };

    "chanserv" {
        // You may disable a service by removing its "nick" config item.
        // That means: SERVICES WILL ONLY WORK IF YOU DEFINE THEIR NICK.
        // (This is changed relative srvx-1.0.x, which would use default
        // unless you specified ".disabled".)
        "nick" "ChanServ";
        // how long should a person be unseen before resending infoline?
        "info_delay" "120";
        // maximum greeting length
        "max_greetlen" "120";
        // maximum users in a channel userlist
        "max_chan_users" "512";
        // maximum bans on a channel banlist
        "max_chan_bans" "512";
        // If DynLimit is on and there are N users in the channel, ChanServ will
        // try to keep the limit at N+<adjust_threshold>.
        "adjust_threshold" "15";
        // .. but ChanServ will only increment or decrement the limit this often.
        "adjust_delay" "30";
        // How often to look for channels that have expired?
        "chan_expire_freq" "3d";
        // How long is a channel unvisited (by masters or above) before it can be expired?
        "chan_expire_delay" "30d";
        // character to make ChanServ pay attention to you
        "trigger" "!";
        // what !set options should we show when user calls "!set" with no arguments?
        "set_shows" ("DefaultTopic", "TopicMask", "Greeting", "UserGreeting", "Modes", "PubCmd", "StrictOp", "AutoOp", "EnfModes", "EnfTopic", "Protect", "Toys", "Setters", "TopicRefresh", "CtcpUsers", "CtcpReaction", "Mod", "Game",
                "Voice", "UserInfo", "DynLimit", "TopicSnarf", "NoDelete");

        // A list of !8ball responses
        "8ball" ("Not a chance.",
                "In your dreams.",
                "Absolutely!",
                "Could be, could be.",
		    "LOL",
                "Aren't you intelligent?");
        // channel that support helpers must be in to be helping
        "support_channel" "#support";
        // maximum number of channels owned by one account before FORCE is required
        "max_owned" "20";
        // how long between automatic topic refreshes with TopicRefresh 0
        "refresh_period" "3h";
        // what should !access say for various staff?
        "irc_operator_epithet" "a megalomaniacal power hungry tyrant";
        "network_helper_epithet" "a wannabe tyrant";
        "support_helper_epithet" "a wannabe tyrant";
        // minimum opserv access to set, clear or override nodelete setting?
        "nodelete_level" "1";
    };

    "global" {
        "nick" "Global";
        // should users get community announcements by default or not?
        "announcements_default" "on";
    };

    "helpserv" {
        // Set "enable" to 0 to disable HelpServ.
        // Note: You cannot enable (or disable) it via rehash, you must die/restart.
        "enable" "1";
        // The description/fullname field
        "description" "Help Queue Manager";
        // HelpServ bots log all of their requests to this file, with
        // details on when they were opened, closed, their contents,
        // helper, etc. The file is written in saxdb format for easy
        // parsing by external programs. Please note that you cannot
        // use ?set to change this value while srvx is running.
        "reqlogfile" "helpservreq.log";
    };
};

"sockcheck" {
    "enabled" "0"; // disable proxy checking
    "max_sockets" "64";  // allow 64 concurrent clients to be checked
    "max_read" "1024"; // don't read more than 1024 bytes from any client
    "gline_duration" "1h"; // issue G-lines lasting one hour
    "max_cache_age" "60"; // only cache results for 60 seconds
    // "address" "192.168.0.10"; // do proxy tests from this address
};

"policers" {
    "commands-luser" {
        "size" "5";
        "drain-rate" "0.5";
    };
};

"rlimits" {
    "data" "50M";
    "stack" "6M";
    "vmem" "100M";
};

"server" {
    "hostname" "services.Fighter-IRC.dydns.org";
    "description" "Network Services";
    "network" "Fighter-IRC";
    "hidden_host" "users.Fighter-IRC.dydns.org"; // set this if you enabled ircd/Undernet's +x mode
    /* hidden_host should match the F:HIDDEN_HOST: line in your ircu's ircd.conf;
     * srvx does not set the host suffix for users, but must know it when making
     * things like bans, where it should not show the user's real hostname. */
    "numeric" "2"; // hint: If you get collisions on link, CHANGE THIS.
    "max_users" "256"; // You can save a little memory by setting this to a lower value.
    "force_n2k" "1"; // Use extended (5-digit) numnick for self, even if 3 are possible.
    "ping_freq" "60";
    "ping_timeout" "90";
    "max_cycles" "30"; // max uplink cycles before giving up
    // Admin information is traditionally: location, location, email
    "admin" ("Fighter-IRC", "Fighter", "Newswetter@lycos.de");
};

// controlling how services (mostly NickServ) send mail
"mail" {
    // These options are the defaults.
    "enable" "0";
    "mailer" "/usr/sbin/sendmail";
    "from_address" "admin@poorly.configured.server";
    // These are not :>
    "extra_headers" ("X-Ereet-Services: srvx r reet");
    "body_prefix_first" ("Welcome to our network.  This prefix is used whenever srvx thinks this may be the first time we send email to your address.");
    "body_prefix" ("This goes before the mail text.", "Each string here is treated as a separate \"paragraph\" for line wrapping.");
    "body_suffix_first" ("We care a lot about spam.  If you did not request this email, bitch and moan loudly at our opers, and tell our ISP to gank our connection.");
    "body_suffix" ("PLEASE DO NOT BE ALARMED.  CALMLY BOARD THE AIRCRAFT, STRAP YOUR ARMS ACROSS YOUR BODY, AND JUMP THE HELL OUT OF THE PLANE.", "Yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatta!");
};

"dbs" {
    // This just illustrates how you can jam every database into one huge ("mondo") file.
    "ChanServ" { "mondo_section" "ChanServ"; };
    "gline" { "mondo_section" "gline"; };
    "Global" { "mondo_section" "Global"; };
    "HelpServ" { "mondo_section" "HelpServ"; };
    "modcmd" { "mondo_section" "modcmd"; };
    "NickServ" { "mondo_section" "NickServ"; };
    "OpServ" { "mondo_section" "OpServ"; };
    "sendmail" { "mondo_section" "sendmail"; };

    // These are the options if you want a database to be in its own file.
    "mondo" {
        // Where to put it?
        "filename" "srvx.db";
        // How often should it be saved?
        // (You can disable automatic saves by setting this to 0.)
        "frequency" "30m";
    };
};


"logs" {

    "srvx" {
        // The "max_age" option says how long to keep log audit entries.
        "max_age" "10m";
        // The "max_count" option says how many log audit entries to keep.
        "max_count" "1024";
        // Audit (command tracking) entries are discarded if they exceed
        // either limit: for example, if entry 500 is 10 minutes old, it
        // will be discarded next time any audit command is logged.
    };


    "*.*" ("std:out", "file:everything.log"); // does NOT suppress any defaults
    "*.override,staff" "irc:#big-brother"; // report all uses of staff commands
    "ChanServ.*" "file:chanserv.log"; // duplicates the default behavior
    "ProxyCheck.*" (); // stop it from logging anything
};
```


----------



## jodel_pwnz (24. Januar 2005)

Dir ist aber shcon klar dass UnrealIRCd 

 a) der groesste mist ist
 b) gar nicht mit den SRVX kompatibel ist?


 nur ircu2 ( http://coder-com.undernet.org ) ist mit den srvx kompatibel, und teilweise bahamut ( http://www.dal.net )


 mfg jodel


----------

