/*
 * example.conf Daniel Hawton avagy Osiris jóvoltából (osiris@unrealircd.org).
 * A magyar fordítást AngryWolf <angrywolf2009@gmail.com> készítette.
 * $Id$
 * 
 * Felhasználható Unreal3.2.x
 * 
 * Oké, emberek! Ez az új példa konfiguráció. A kinézete nagyon hasonló
 * a C++-hoz, olyasformán. Mindenesetre itt az ideje végigmennünk rajta. Eleinte
 * nehéz nekilendülni, de kis gyakorlással és olvasgatással meg fogjuk érteni.
 *
 * Csak másoljuk be ezt a fájlt a fő unrealircd könyvtárunkba, és nevezzük
 * 'unrealircd.conf'-nak.
 * 
 * MEGJEGYZÉS:  Minden sor, kivéve a nyitó { sort, ;-vel végződik, beleértve
 * a záró } sort is. Az IRCd figyelmen kívül hagyja a megjegyzéssorokat.
 *
 * KÉRLEK, OLVASD EL A doc/unreal32docs.html-T! Az online verzió is elérhető
 * a www.vulnscan.org/UnrealIRCd/unreal32docs.html címen.
 * Rengeteg információt tartalmaz a konfigurációs fájlról: tájékoztatást ad
 * minden blokkról, változóról stb.
 * Ha megpróbálod szerkeszteni ezt a fájlt anélkül, hogy megfelelően elolvastad
 * volna a dokumentációt, jó eséllyel kanyarodsz a biztos kudarc felé!
 */

/* Megjegyzések típusai */
#1. Megjegyzéstípus (Shell típusú)
// 2. Megjegyzéstípus (C++ stílusú)
/* 3. Megjegyzéstípus (C stílusú) */
#ezeket a sorokat az ircd figyelmen kívül hagyja.

/*
 * Az UnrealIRCd támogat modulokat, néhányuk betöltése kötelező is.
 * Legalább a parancsokat biztosító és egy álcázó modulra lesz szükségünk.
 */

/* *NIX-BAN vegyük ki a megjegyzésből a következő két sort: */
//loadmodule "src/modules/commands.so";
//loadmodule "src/modules/cloak.so";

/* Windows-BAN vegyük ki a megjegyzésből a következő két sort: */
//loadmodule "modules/commands.dll";
//loadmodule "modules/cloak.dll";

/*
 * Azt is megtehetjük, hogy befűzünk más konfigurációs fájlokat.
 * A help.conf tartalmazza az összes /helpop szöveget. A badwords.*.conf
 * fájlok tartalmazzák az összes csúnyaszó bejegyzést a +G módhoz...
 * A spamfilter.conf néhány jó szabályt a jelenlegi trójai vírusokra.
 * Valószínűleg be akarjuk tölteni őket:
 */
include "help.conf";
include "badwords.channel.conf";
include "badwords.message.conf";
include "badwords.quit.conf";
include "spamfilter.conf";

/*
 * ÚJ:   me {} 
 * RÉGI: M:Line 
 * A me {} határozza meg ennek a szervernek a nevét, a leírását és az unrealbeli
 * szerverazonosító-számát. A szintaktikája a következő: 
 * me { 
 *  name "szerver.név"; 
 *  info "A szerver leírása";
 *  numeric (szerverazonosító*);
 * }; 
 * Ha linkelünk, ezt az azonosítószámot nem használhatja semmilyen más szerver
 * a hálózaton.
 */
me
{
	name "irc.valaminet.com";
	info "ValamiNet Szerver";
	numeric 1;
};

/*
 * ÚJ:   admin {} 
 * RÉGI: A:Line
 * Ez a blokk információt ad a szerver adminisztrátorairól. Annyi sort tehetünk
 * az admin { alá, amennyit kívánunk. 
 * A szintaktikája a következő:
 * admin {
 *   "első sor"; 
 *   "második sor"; 
 *   [stb]
 * };
 */
admin {
	"Bob Smith";
	"bob";
	"szeleskorben@hasznalt.nev";
};

/*
 * ÚJ:   class {} 
 * RÉGI: Y:line (a régi zavarbaejtő volt) 
 * Ezek az osztályokat állítják be. Az osztályok a kapcsolatok egy csoportjának
 * beállításai. Például a szerver kapcsolatokat, ahelyett, hogy egy kliens
 * osztályába kerülnének, beleirányítjuk a szerverek osztályába. Szintaktika:
 * class (osztálynév)
 * {
 *     pingfreq (hány másodpercenként pingeljünk egy felhasználót/szervert);
 *     maxclients (mennyi kapcsolat lehet ebben az osztályban);
 *     sendq (egy kapcsolat küldési sorának maximális mérete);
 *     recvq (egy kapcsolat fogadási sorának maximális mérete [árvízvédelem]);
 *  };
 */

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

class           servers
{
	pingfreq 90;
	maxclients 10;	/* Legfeljebb ennyi szervert linkelhetünk egyszerre */
	sendq 1000000;
	connfreq 100; /* Ennyi másodpercet várjon, mielőtt újra kapcsolódik */
};

/*
 * ÚJ:   allow {} 
 * RÉGI: I:Line
 * Ez a kapcsolatok engedélyezését határozza meg...
 * Alapvetően kliensekre használjuk; megengedi nekik, hogy kapcsolódjanak, így
 * némileg van lehetőség a szabályozásra, valamint jelszót is beállíthatunk. 
 * A szintaktika a következő: 
 * allow {
 *    ip (ip maszk az engedélyezéshez);
 *    hostname (gazdanév maszk);
 *    class (osztály, ahová küldjük őket [lásd: class {}]);
 *    password "(jelszó)"; (nem kötelező)
 *    maxperip (mennyi kapcsolatot engedjünk ip címenként); (nem kötelező) 
 * };
 */

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

/* Jelszavas allow blokk */
allow {
	ip             *@255.255.255.255;
	hostname       *@*.jelszavas.csunya.emberkek;
	class           clients;
	password "V4lami";
	maxperip 1;
};

/*
 * ÚJ:   allow channel {} 
 * RÉGI: chrestrict 
 * Megengedi egy felhasználónak, hogy belépjen egy csatornára...
 * mint egy csatornáról letiltás alóli kivétel. 
 * Szintaktika:
 * allow channel {
 *   channel "csatornanév";
 *   class "clients"; (nem kötelező)
 * };
 */
allow channel {
	channel "#AWarezSzívás";
	class "clients";
};

/*
 * ÚJ:   oper {} 
 * RÉGI: O:Line 
 * Definiál egy IRC operátort
 * Az IRC operátorok feladata, hogy épségben tartsák a szervert; rendszerint
 * ügyelnek a karbantartottságára és arra, hogy kapcsolatban maradjon
 * a hálózattal. A szintaktika a következő: 
 * oper (bejelentkezőnév) { 
 *     class (osztály, ahová berakjuk őket; ha eddig más osztályban voltak,
 *                átteszi őket ebbe az új osztályba); 
 *     from { 
 *        userhost (azonosító@gazdanév);
 *        userhost (azonosító@gazdanév);
 *     }; 
 *     flags
 *     { 
 *       (flagek ide*);
 *     };
 *     VAGY
 *     flags "régi típusú flagek, mint pl. OAaRD";
 * };
 */


/* Az oper flagek listáját lásd a doc/unreal32docs.hu.html#operblock szekcióban
 * [ERŐSEN ajánlott elolvasni]
 */

oper bobsmith {
	class           clients;
	from {
		userhost bob@smithco.com;
	};
	password "f00";
	flags
	{
		netadmin;
		can_zline;
		can_gzline;
		can_gkline;
		global;
	};
};

/*
 * ÚJ:   listen {}
 * RÉGI: P:Line
 * Meghatároz egy olyan portot, amelyet az ircd megnyit, és engedélyt ad
 * a felhasználóknak/szervereknek, hogy kapcsolódjanak a szerverre.
 * A szintaktika a  következő:
 * listen (ip cím):(portszám) 
 * { 
 *   options {
 *     (opciók ide);
 *   };
 * };
 * vagy egy síma portnyitáshoz:
 * listen (ip):(port);
 * 
 * MEGJEGYZÉS: ipv6-os ip-kre (3ffe:b80:2:51d::2 stb.) használjuk a
 * listen [ip]:port;
 * szintaktikát. Az is működik.
 */

/* Opciók a listenhez:
	RÉGI	| 	ÚJ
	S		serversonly
	C		clientsonly
	J		java
	s		ssl
	*		standard
*/

/* MEGJEGYZÉS SSL PORTOKRA: az SSL portok eléggé szabványosítatlanok, emellett
 * sok a magas SSL port. Néhányan azt mondják, a 994-en célszerű futtatni,
 * mert az a hivatalos SSL port... de a rendszergazdát igényel! Ezenkívül,
 * a 194 a hivatalos irc port, de láttunk valaha egy ircd-t azon futni?
 * Így mi a javaslatunk az, hogy használjuk a 6697-et SSL-hez, ezt használja
 * jónéhány hálózat, és ezt ismeri fel például a StunTour is.
 * Szabadon megnyithatunk annyi SSL portot, amennyit akarunk, de ha a 6697-et
 * (is) használjuk, kicsit segítjük a világot szabványosodni ;).
 */
listen         *:6697
{
	options
	{
		ssl;
		clientsonly;
	};
};

listen         *:8067;
listen         *:6667;

/* MEGJEGYZÉS: Ha egy több IP címes IRCd shellen vagyunk, előfordulhat, hogy
 *       "Address already in use" ("A cím már használatban van") hibaüzeneteket
 *       találunk a naplóban, és az ircd nem indul el. Ez azt jelenti, hogy
 *       az ircd-nek egy meghatározott IP címre KELL bindelnie a "*" helyett
 *       vagyis például így:
 *       listen 1.2.3.4:6667;
 *       Természetesen cseréljük ki az IP címet arra az IP-re, amelyet nekünk
 *       osztottak ki.
 */

/*
 * ÚJ:   link {}
 * RÉGI: C/N:Line-ok
 * Ez a blokk "igen"-t mond egy szerver kapcsolódására.
 * MEGJEGYZÉS: MINDKÉRT SZERVEREN KELL EGY LINK {} BEÁLLÍTÁS A HELYES
 *             KAPCSOLÓDÁSHOZ!
 * A szintaktika a következő:
 * link (szervernév)
 * {
 *	username	(felhasználónév, * is működik);
 * 	hostname	(ip cím/gazdanév maszk);
 *	bind-ip		(amilyen IP címre bindeljen kapcsolódáskor, vagy *);
 *	port		(port, ahová kapcsolódjon, ha van);
 *	hub (Ha ez egy hub; * működik, vagy szervermaszkokat is beírhatunk);
 *	[vagy leaf *;]
 *	password-connect "(elküldendő jelszó)";
 *	password-receive "(fogadandó jelszó)";
 *	class		(osztály, ahová betesszük a szervereket);
 *	options {
 *		(opciók ide*);
 *	};
 *      // Ha SSL-t használunk, kiválaszthatjuk, milyen rejtjelező algoritmusok
 *      // legyenek használatban SSL módban. Listát kapunk az "openssl ciphers"
 *      // paranccsal. Az egyes algoritmusokat :-tal válasszuk el.
 *
 *      ciphers "DES-CBC3-MD5";
 * 
 * };
*/

/*
	opciók:
	RÉGI	|	ÚJ
	S		ssl
	Z		zip
	N/A		autoconnect
	N/A		quarantine
	N/A		nodnscache
*/


link            hub.sajatnet.com
{
	username	*;
	hostname 	1.2.3.4;
	bind-ip 	*;
	port 		7029;
	hub             *;
	password-connect "LiNk";
	password-receive "LiNk";
	class           servers;
		options {
			/* Megjegyzés: szolgáltatások linkelésekor célszerű nem
			 * használni az autoconnect opciót.
			 */
			autoconnect;
			ssl;
			zip;
		};
};
/*
 *
 * ÚJ:   ulines {}
 * RÉGI: U:Line
 * Az U-line-ok több hatalmat/parancsot adnak a szervereknek. CSAK
 * szolgáltatásokat és statisztikákat nyújtó szerverekre érdemes beállítani,
 * és SOHA rendes UnrealIRCd szerverekre!
 * A szintaktika a következő:
 * ulines {
 *	(uline-ra teendő szerver);
 *	(uline-ra teendő szerver);
 *  [stb.]
 * };
*/
ulines {
	services.roxnet.org;
	stats.roxnet.org;
};

/*
 * ÚJ:   drpass {}
 * RÉGI: X:Line
 * Meghatározza a jelszavakat a /die és /restart parancsokhoz.
 * A szintaktika a következő:
 * drpass { 
 *  restart		"(újraindítás jelszava)";
 *  die		        "(leállítás jelszava)";
 * };
 */
drpass {
	restart "Imádok-újraindítani";
	die "Halj-te-buta";
};

/*
 * ÚJ:   log {}
 * RÉGI: N/A
 * Megmondja az ircd-nek, hová és mit naplózzon. Annyi naplófájlunk lehet,
 * amennyit szeretnénk.
 * 
 * FLAGEK: errors, kills, tkl, connects, server-connects, oper
 * 
 * Szintaktika: 
 * log "naplófájl" 
 * {
 *    flags
 *    {
 *        (flag);
 *        (flag); 
 *        [stb.] 
 *    }; 
 * };
 */

log "ircd.log" {
	/* Törölje a naplófájlt, és kezdjen egy újat, ha eléri a 2 MB-ot;
	 * hagyjuk ki ezt a beállításból, ha mindig ugyanazt a naplót
	 * szeretnénk használni
	 */
	maxsize 2097152;
	flags {
		oper;
		connects;
		server-connects;
		kills;
		errors;
		sadmin-commands;
		chg-commands;
		oper-override;
		spamfilter;
	};
};

/*
 * ÚJ:   alias {}
 * RÉGI: N/A
 * Ezzel olyan álparancsokat készíthetünk, mint a /nickserv, /chanserv stb.
 * FLAGEK: services (szolgáltatás), stats (statisztika), normal (közönséges
 *         felhasználó)
 *
 * Szintaxis:
 * alias "név" {
 *	target "ahová mutasson";
 *	type álparancstípus;
 * };
 *
 * [MEGJEGYZÉS: Beilleszthetünk ide egy előre beállított álparancsfájlt is,
 *              lásd: doc/unreal32docs.html, 2.9-es szekció]
 */

// Ez a /nickserv parancsot a NickServ felhasználóra irányítja, aki a set::services-server szerverre kapcsolódott.
/*alias NickServ {
	target "NickServ";
	type services;
};*/

// Ha a parancsot ugyanarra a nicknévre szeretnénk irányítani, ami a parancs neve, kihagyhatjuk a nick bejegyzést.
//alias ChanServ { type services; };

// A /statserv parancsot a set::stats-server szerveren lévő StatServ felhasználóra irányítja
//alias StatServ { type stats; };

// A /superbot parancsot a SuperBot felhasználóra irányítja.
//alias SuperBot { type normal; };


/* Szabványos álparancsok */
alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type services; };
alias HelpServ { type services; };
alias StatServ { type stats; };

/*
 * ÚJ:   alias {}
 * RÉGI: N/A
 * Ezzel olyan álparancsokat készíthetünk, mint az /identify, /services stb.
 *
 * Szintaktika:
 * alias "név" {
 *	format "formátumsztring" {
 *		target "ahova mutasson";
 *              type álparancstípus;
 *		parameters "küldendő paraméterek";
 *	};
 *	type command;
 * };
 */
/* Ezt azért mutatjuk külön, mert még ha ugyanaz is a neve, mint az előző direktívának, a szintaktikája nagyon
 * más, habár hasonló feladatot lát el, és a szabványosok álparancsokra van szüksége, hogy működjön.
 */
/*
alias "identify" {
	format "^#" {
		target "chanserv";
		type services;
		parameters "IDENTIFY %1-";
	};
	format "^[^#]" {
		target "nickserv";
		type services;
		parameters "IDENTIFY %1-";
	};
	type command;
};
*/
/* Az alias::format direktíva egy reguláris kifejezés. Az első formátum akkor illeszkedik az /identify parancsra,
 * ha az első karakter egy #. Azután elküldi ezt a chanserv álparancshoz az IDENTIFY %1- paraméterekkel.
 * A második formátum akkor illeszkedik az /identify parancsra, ha az első karakter nem egy #. Azután
 * elküldi a parancsot a nickserv álparancshoz az IDENTIFY %1- paraméterekkel.
 */

/* Az alias::format::parameters hasonló a scriptnyelvekhez. Az %N (ahol N egy szám) a parancshoz küldött egyik
 * paramétert ábrázolja (ebben az esetben az /identify-ét). Ha azt írjuk, hogy %N-, a sztring N-edik
 * paraméterétől az utolsóig minden paramétert fog jelenteni. Megadhatunk egy %n-et is, amely ki lesz cserélve
 * a felhasználó nicknevével.
*/

/* Szabványos álparancsok */
alias "services" {
	format "^#" {
		target "chanserv";
		type services;
		parameters "%1-";
	};
	format "^[^#]" {
		target "nickserv";
		type services;
		parameters "%1-";
	};
	type command;
};

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

/* Példa egy valódi álparancsra */
/* A /GLINEBOT parancsot leképezi arra, hogy /GLINE <paraméter> 2d stb... */
alias "glinebot" {
	format ".+" {
		command "gline";
		type real;
		parameters "%1 2d Botok tilosak ezen a szerveren, kérlek, olvasd el a faq-ot a http://www.example.com/faq/123 címen";
	};
	type command;
};

/*
 * ÚJ:   files {}
 * RÉGI: include/config.h
 *
 * Ez a blokk felülírja az IRCd alapértelmezett útvonalait olyan fájlok
 * betöltésére, mint az MOTD, PID fájl mentése vagy a behangoló fájl
 * írása/olvasása. Ennek a blokknak a jelenléte támogatást ad arra, hogy
 * egyetlen telepített UnrealIRCd-nek több példányát futtassuk, amikor
 * a -c parancssori opcióval párosítjuk.
 *
 * Ahogy megszoktuk, a relatív útvonalak ahhoz a könyvtárhoz relatívan
 * értendőek, ahol az UnrealIRCd megtalálja az unrealircd.conf fájlt,
 * hacsak nem a -c paramétert megadjuk a parancssorban.
 */
files
{
	/* A Nap Üzenete (Message Of The Day), elküldve a belépett felhasználóknak: */
	/* motd ircd.motd; */

	/*
	 * Egy rövid MOTD (short MOTD). Ha létezik ez a fájl, ezt a fájlt
	 * fogják látni a felhasználók az MOTD helyett. A teljes MOTD-t
	 * továbbra is megnézhetik az /MOTD parancs használatával.
	 */
	/* shortmotd ircd.smotd; */

	/* Megjelenik, ha egy operátor bejelentkezik (/OPER) */
	/* opermotd oper.motd; */

	/* MOTD hozzáfűzés a szolgáltatásoknak. */
	/* svsmotd ircd.svsmotd; */

	/* Bot MOTD */
	/* botmotd bot.motd; */

	/* Megjelenik a /RULES parancsra */
	/* rules ircd.rules; */

	/*
	 * Itt tárol és innen tölt be az IRCd néhány olyan értéket, amelyet
	 * minden szerverújraindítás során meg kell őriznie. Egy olyan fájlra
	 * kell, hogy mutasson, amely létezik, és az IRCd-nek van módosítási joga,
	 * vagy pedig olyan könyvtárban van, ahol az IRCd-nek van fájllétrehozási joga.
	 */
	/* tunefile ircd.tune; */

	/* Ide mentjük az IRCd PID fájlját. Az IRCd számára írhatónak kell lennie. */
	/* pidfile ircd.pid; */
};

/*
 * ÚJ:   tld {}
 * RÉGI: T:Line
 * Beállít más motd és rules fájlt
 * a kliens hostmaszkjára.
 * A szintaktikája a következő: 
 * tld {
 *    mask (azonosító@gazda);
 *    motd "(motd fájl)";
 *    rules "(rules fájl)";
 * };
 */

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

/* megjegyzés: a fenti példa blokkot akár le is törölhetjük; ebben az esetben
 * mindenkire az alapértelmezett motd/rules fájlok (ircd.motd, ircd.rules)
 * lesznek használatban.
 */

/*
 * ÚJ:   ban nick {}
 * RÉGI: Q:Line
 * Kitilt egy nicknevet, így az nem használható.
 * A szintaktikája a következő:
 * ban nick {
 *	mask "(kitiltandó nick)";
 *	reason "(indoklás)";
 * };
*/
ban nick {
	mask "*C*h*a*n*S*e*r*v*";
	reason "Fenntartva a szolgáltatásoknak";
};
/*
 * ÚJ:   ban ip {}
 * RÉGI: Z:Line
 * Megtiltja egy ip-nek, hogy a hálózatra kapcsolódjon.
 * Szintaktika:
 * ban ip { mask (ip cím/gazdanévmaszk); reason "(indoklás)"; };
*/
ban ip {
	mask 195.86.232.81;
	reason "Lecsatolt szerver";
};
/*
 * ÚJ:   ban server {}
 * RÉGI: Q:Line szerverekre
 * Megtiltja egy szervernek, hogy a hálózatra kapcsolódjon.
 * Ha egy szerver távoli szerverre linkel, a helyi szerver
 * szétkapcsolja a hálózatról.
 * A szintaktikája a következő:
 * ban server {
 *	mask "(szervernév)";
 *	reason "(indoklás)";
 * };
*/

ban server {
	mask eris.berkeley.edu;
	reason "Mars ki innen!";
};
/*
 * ÚJ:   ban user {}
 * RÉGI: K:Line
 * Elintézi, hogy egy felhasználó egy bizonyos maszkról ne tudjon kapcsolódni
 * a szerverünkre.
 * Szintaktika:
 * ban user { mask (gazdanévmaszk/ip cím); reason "(indok)"; };
*/

ban user {
	mask *tirc@*.saturn.bbn.com;
        reason "Idióta";
};

/*
 * ÚJ:   ban realname {}
 * RÉGI: n:Line
 * Letiltja egy bizonyos valós név használatát.
 * Szintaktikája:
 * ban realname {
 *	mask "(valós név)";
 * 	reason "(indok)";
 * };
*/

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

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

/*
 * MEGJEGYZÉS MINDEN BANRA: ezek ismételhetőek további bejegyzésekhez!
 * 
 * ÚJ:   except ban {} 
 * RÉGI: E:Line
 * Elintézi, hogy ne lehessen minket kibannolni. 
 * Szintaktika:
 * except ban { mask (azonosító@gazda); };
 * További gazdákhoz annyiszor ismételjük az except ban {}-t,
 * amennyiszer szükséges.
 */

except ban {
	/* ne tiltsuk ki stskeeps-t */
	mask           *stskeeps@212.*;
};

/*
 * ÚJ:   deny dcc {} 
 * RÉGI: dccdeny.conf
 * Használjuk dcc küldések blokkolására... Jobban
 * megállítja a vírusokat. 
 * Szintaktika: 
 * deny dcc 
 * { 
 *   filename "blokkolandó fájl (pl. *exe)";
 *   reason "indok";
 * };
 */
deny dcc {
	filename "*sub7*";
	reason "Valószínűleg Sub7 Virus";
};

/*
 * ÚJ:   deny channel {}
 * RÉGI: N/A (ÚJ)
 * Letiltja bizonyos csatornákon a belépést.
 * Szintaktika:
 * deny channel {
 * 	channel "(csatorna)";
 * 	reason "indok";
 *      class "clients"; (nem kötelező)
 * };
*/
deny channel {
	channel "*warez*";
	reason "A warez törvényellenes";
	class "clients";
};

/*
 * ÚJ:   vhost {}
 * RÉGI: Vhost.conf fájl
 * Beállít egy hamis ip címet közönséges felhasználókon, vagy
 * olyan operátorokon, akik lusták a /sethost-ot használni :P
 * Szintaktika:  
 *   vhost { 
 *       vhost (vhost.com); 
 *       from {
 *            userhost (azonosító@gazda, aki használhatja);
 *       };
 *       login (bejelentkezőnév);
 *       password (jelszó);
 *   };
 *        azután e vhost használatához adjuk ki
 *        a /vhost (bejelentkezőnév) (jelszó) parancsot IRC-n
 */
vhost {
	vhost           i.hate.microsefrs.com;
	from {
		userhost       *@*.image.dk;
	};
	login           stskeeps;
	password        moocowsrulemyworld;
};

/* Befűzhetünk más konfigurációs fájlokat */
/* include "klines.conf"; */

/* Hálózati beállítások */
set {
	network-name 		"ROXnet";
	default-server 		"irc.roxnet.org";
	services-server 	"services.roxnet.org";
	stats-server 		"stats.roxnet.org";
	help-channel 		"#ROXnet";
	hiddenhost-prefix	"rox";
	/* prefix-quit 		"no"; */
	/* Az álcázó kulcsoknak a hálózat minden szerverén azonosnak kell
	 * lenniük. Az álcázott gazdanevek előállításában van szerepük, ezért
	 * legyenek titokban tartva! Mind 3 kulcs legyen egy-egy véletlenszerű
	 * sztring 5-100 karakterből (10-20 karakter kitűnő), valamint
	 * tartalmazniuk kell kisbetűket (a-z), nagybetűket (A-Z) és számokat
	 * (0-9) [ahogy az első kulcsos példában látható].
	 * TIPP: *NIX alatt az './unreal gencloak' parancsot futtatva
         *       a parancsértelmezőnkben, az Unreal 3 véletlen sztringet
         *       generál nekünk.
	 */
	cloak-keys {
		"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
		"írjunk hozzá még egyet";
		"írjunk hozzá még egyet";
	};
	/* gazdanevek opereléskor */
	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";
	};
};

/* Szerverszintű beállítások */

set {
	kline-address "állítsuk.be.ezt.az.emailt";
	modes-on-connect "+ixw";
	modes-on-oper	 "+xwgs";
	oper-auto-join "#operek";
	options {
		hide-ulines;
		/* Itt engedélyezhetjük az ident ellenőrzést, ha szeretnénk */
		/* identd-check; */
		show-connect-info;
	};

	maxchannelsperuser 10;
	/* Legkevesebb ennyi ideig kell a felhasználónak kapcsolatban lennie,
	 * mielőtt engedélyt kap a QUIT üzenetek használatára. Remélhetőleg
	 * ez leállítja a spamot. */
	anti-spam-quit-message-time 10s;
	/* A static-quit a neki megadott üzenetet megjeleníti minden
	 * kilépésben - avagy egyéni kilépési szövegek nem engedélyezettek
	 * a helyi szerveren */
	/* static-quit "Kliens kilépés";	*/

	/* Hasonlóan blokkolható minden lelépési indok, úgy, hogy kivesszük
	 * a megjegyzésből ezt, és "yes"-t írunk vagy megadunk valamilyen
	 * más szöveget (pl. "Bye bye!"), hogy mindig az legyen a lelépés
	 * indoklószövege. */
	/* static-part yes; */

	/* Ezzel megmondhatjuk, mely statisztikákat szeretnénk csak operátorok
	 * számára engedélyezni. Használjunk *-ot, ha az összeset kívánjuk,
	 * és hagyjuk el a direktívát, ha a felhasználók mindet láthatják. Írjuk
	 * be a "/stats" parancsot a teljes listáért.
	 * Lehet, hogy néhány adminisztrátor törölni fogja a "kGs"-t, hogy
	 a közönséges felhasználók láthassák a kline-okat, gline-okat és
	 * shunokat.
	 */
	oper-only-stats "okfGsMRUEelLCXzdD";

	/* Elfojtás: ez a példa 60 másodpercenként legfeljebb 3 kapcsolódási
	 * kísérletet engedélyező korlátozást állít be (gazdánként). */
	throttle {
		connections 3;
		period 60s;
	};

	/* Árasztásellenes védelem */
	anti-flood {
		nick-flood 3:60;	/* 3 nicknévváltás 60 másodpercenként
		            		   (az alapértelmezés) */
	};

	/* Spamszűrő */
	spamfilter {
		ban-time 1d; /* a spamszűrő által beállított *line-ok
		                alapértelmezett kitiltási ideje */
		ban-reason "Spam/Reklámozás"; /* alapértelmezett indok */
		virus-help-channel "#help"; /* a "viruschan" tevékenységhez
		                               használt csatorna */
		/* except "#help"; kivesszük a szűrés alól ezt a csatornát */
	};
};

/*
 * Problémák akadtak, vagy szükség van további segítségre?
 * 1) www.vulnscan.org/UnrealIRCd/unreal32docs.html
 * 2) www.vulnscan.org/UnrealIRCd/faq/ <- a kérdéseid 80%-át tartalmazza!
 * 3) Ha még mindig gondod van, felmehetsz az irc.unrealircd.org #unreal-support
 *    csatornájára. Fontos: kérjük, hogy előbb OLVASD EL A DOKUMENTÁCIÓT és
 *    a GYIK-ot!
 */
