Page 1 of 1

Help with setting up IRCD..

Posted: Sat Oct 02, 2004 5:18 pm
by krazyl
i think i messed up on the config part... this is my first time ,doing it... so much help is need and appricated...

Posted: Sat Oct 02, 2004 9:57 pm
by heinz
Well, What help do you need? Do you get an error message, if so, what is it? Have you looked through the FAQ to see if your question is answered there? Have you searched the forums to see if someone else has experienced the same problems as you?

If you can't find your answer in the FAQ/Forums, then post the error, and what help you need here, and i'm sure someone will be able to help you. :)

Posted: Mon Oct 04, 2004 4:57 am
by Err0r
Okay, im going to give you something i wanted dearly when i was having trouble, i wanted the unrealircd.conf from somebody who had a working server


this conf is for 3.2 windows if your using linux just change the modules to .so instead of dll this works for me just find, if your still having trouble you could try reinstalling unreal, that helped me once, i dunno why though

/* 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 and a cloaking module is required:
*/
loadmodule "modules/commands.dll";
loadmodule "modules/cloak.dll";


/*
* 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";

/*
* NEW: me {}
* OLD: M:Line
* me {} defines the name, description and unreal server numeric for
* this server. Syntax is as follows:
* me {
* name "server.name";
* info "Server Description";
* numeric (server numeric*);
* };
* If linking, this numeric may not be used by any other server on the network.
*/
me
{
name "blah.blah.com";
info "blah Server";
numeric 1;
};

/*
* NEW: admin {}
* OLD: A:Line Admin gives information on the server admin. you
* may put as many lines under admin { as you wish.
* Syntax is as follows:
* admin {
* "first line";
* "second line";
* [etc]
* };
*/
admin {
"Err0r";
"josh";
"[email protected]";
};

/*
* NEW: class {}
* OLD: Y:line (old was confusing)
* These define settings for classes. A class is a group setting for
* connections. Example, server connections, instead of going to a client's
* class, you direct it to the server class. Syntax is as follows
* class (class name)
* {
* pingfreq (how often to ping a user/server in seconds);
* maxclients (how many connections for this class);
* sendq (maximum send queue from a connection);
* recvq (maximum receive queue from a connection [flood control]);
* };
*/

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 5;
};

/* Passworded allow line */
allow {
ip *@255.255.255.255;
hostname *@*.passworded.ugly.people;
class clients;
password "f00Ness";
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 Err0r {
class clients;
from { userhost *@*; };
password "passwd";
flags {
netadmin;
global;
can_restart;
can_die;
};
};

oper Yarou {
class clients;
from { userhost *@*; };
password "passwd";
flags {
netadmin;
};
};



/*
* NEW: listen {}
* OLD: P:Line
* This defines a port for the ircd to bind to, to
* allow users/servers to connect to the server.
* Syntax is as follows:
* listen (ip number):(port number)
* {
* options {
* (options here);
* };
* };
* or for a plain
* listen: listen (ip):(port);
*
* NOTICE: for ipv6 ips (3ffe:b80:2:51d::2 etc), use listen [ip]:port;
*
* That works also.
*/

/* Options for listen:
OLD | NEW
S serversonly
C clientsonly
J java
s ssl
* standard
*/

/* NOTE ON SSL PORTS: SSL ports are pretty non-standardized,
* besides numerous high-SSL ports, some people say you should run
* it at 994 because that's the official SSL port.. but that
* requires root! Besides, port 194 is the official irc port and
* have you ever seen an ircd running on that?
* So, our suggestion is to use port 6697 for SSL, this is used by
* quite some networks and is recognized by for example StunTour.
* You are free to open up as many SSL ports as you want, but
* by (also) using 6697 you help the world standardize a bit ;).
*/
listen *:6697
{
options
{
ssl;
clientsonly;
};
};

listen *:8067;
listen *:6667;

/*
* NEW: link {}
* OLD: C/N:Lines
* This defines an okay for a server connection.
* NOTE: BOTH SERVERS NEED A LINK {} SETTING TO CONNECT PROPERLY!
* Syntax is as follows:
* link (server name)
* {
* username (username, * works too);
* hostname (ip number/hostmask);
* bind-ip (What IP to bind to when connecting, or *);
* port (port to connect to, if any);
* hub (If this is a hub, * works, or servermasks it may bring in);
* [or leaf *;]
* password-connect "(pass to send)";
* password-receive "(pass we should receive)";
* class (class to direct servers into);
* options {
* (options here*);
* };
* /* If we use SSL, we can choose what cipher to use in SSL mode
* * Retrieve a list by "openssl ciphers", seperate ciphers with :'s
* */
* ciphers "DES-CBC3-MD5";
*
* };
*/

/*
options:
OLD | NEW
S ssl
Z zip
N/A autoconnect
N/A quarantine
N/A nodnscache
*/


link blah.com
{
username *;
hostname 127.0.0.1;
bind-ip *;
port 6667;
hub *;
password-connect "hehe";
password-receive "hehe";
class servers;
};
/*
*
* 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 {
127.0.0.1;
127.0.0.1;
};

/*
* NEW: drpass {}
* OLD: X:Line
* This defines the passwords for /die and /restart.
* Syntax is as follows:
* drpass {
* restart "oki";
* die "ikoki";
* };
*/
drpass {
restart "I-love-to-restart";
die "die-you-stupid";
};

/*
* 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
*
* 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;
sadmin-commands;
chg-commands;
oper-override;
spamfilter;
};
};

/*
* 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)";
* };
*/

tld {
mask *@*;
motd "ircd.motd.txt";
rules "ircd.rules.txt";
};

/*
* 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)";
* };
*/
ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason "Reserved for Services";
};
/*
* NEW: ban ip {}
* OLD: Z:Line
* Bans an ip from connecting to the network.
* Syntax:
* ban ip { mask (ip number/hostmask); reason "(reason)"; };
*/
ban ip {
mask 195.86.232.81;
reason "Delinked server";
};
/*
* 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)";
* };
*/

ban server {
mask eris.berkeley.edu;
reason "Get out of here.";
};
/*
* 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)"; };
*/

ban user {
mask *tirc@*.saturn.bbn.com;
reason "Idiot";
};

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

ban realname {
mask "Swat Team";
reason "mIRKFORCE";
};

ban realname {
mask "sub7server";
reason "sub7";
};

/*
* 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.
*/

except ban {
/* don't ban stskeeps */
mask *stskeeps@212.*;
};

/*
* 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 i.hate.microsefrs.com;
from {
userhost *@*.image.dk;
};
login stskeeps;
password moocowsrulemyworld;
};

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

/* Network configuration */
set {
network-name "iko net";
default-server "irc.iko2.com";
services-server "services.iko2.com";
stats-server "stats.iko2.net";
help-channel "#iko2";
hiddenhost-prefix "iko";
/* prefix-quit "no"; */
/* Cloak keys should be the same at all servers on the network.
* They are used for generating masked hosts and should be kept secret.
* The keys should be 3 random strings of 5-100 characters
* (10-20 chars is just fine) and must consist of lowcase (a-z),
* upcase (A-Z) and digits (0-9) [see first key example].
*/
cloak-keys {
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
"dafsd08gGgsdfsh87945Gjsd734h";
"akdsjlfyu9874hslky3FGJH784h2";
};
/* on-oper host */
hosts {
local "locop.roxnet.org";
global "ircop.roxnet.org";
coadmin "coadmin.roxnet.org";
admin "admin.roxnet.org";
servicesadmin "csops.roxnet.org";
netadmin "netadmin.roxnet.org";
host-on-oper-up "no";
};
};

/* Server specific configuration */

set {
kline-address "[email protected]";
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 3;
period 60s;
};

/* Anti flood protection */
anti-flood {
nick-flood 3:60; /* 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) http://www.vulnscan.org/UnrealIrcd/unreal32docs.html
* 2) http://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!
*/

Posted: Mon Oct 04, 2004 12:46 pm
by w00t
This was discussed elsewhere - Don't post full config files. And even then, they should try and learn. It really isn't that hard. I showed someone the other day how to configure Unreal in 10 minutes.

Posted: Tue Oct 05, 2004 2:11 am
by Err0r
what do people not like to help, i would rate this forum down to a 3 on the scale of support

Posted: Tue Oct 05, 2004 3:42 am
by aquanight
The idea is that if they learn, they can solve future problems on their own. If we just feed them answers, that's not really helping. It only solves the problem once, but if they don't learn how to figure out on their own... well what happens when the problem comes up again?

And yes, codemastr posted a nice rant on pasting 400+lines of configuration in here. At the least, you could've used http://rafb.net/paste ... And especially when 99.9% of the conf is copied from example.conf, that just tells me people don't put the time that's really needed into configuring the IRCd. It's not supposed to be untar, compile, cp example.conf ../unrealircd.conf and go. (If you ask me, example.conf ought to be removed.)

Point is, there's a nice file that can solve almost 99% of installation or configuration issues. Why say what's already been said?

Posted: Tue Oct 05, 2004 3:52 am
by katsklaw
Not to mention that everyone here that gives support is given our of their own time. There are no paid professionals here. I'm not saying that you deserve less support. Not at all .. What I saying is that we also have other duties, responsibilities.

I know that alot of people ask their question .. it gets answered and they feel they didn't get help if they don't like the answer they got. Not saying you are one .. but it does happen. We preach "read the docs" because more than 90% of the questions asked are answered in one place or another. That's how they got in the docs .. they were asked alot. Remember that the F in FAQ means "frequently".

Posted: Tue Oct 05, 2004 8:20 pm
by Jason
Err0r wrote:what do people not like to help, i would rate this forum down to a 3 on the scale of support
Thankyou!

A three out of three! Congrats everyone!