Устанавливаем ирц сервак и сервисЫ на свой комп. (Unreal+Anope)
Я использовал Unreal3.2.5 и Anope-1.7.14. хотя есть новее :)
- Устанавливаем Unreal3.2.5
Запускаем екзешник. Я устанавливал в C:\soft\Unreal3.2. Заходим туда, и лезем в папку doc, чтобЫ нарЫть там example.ru.conf. Копируем его и вставляем его в корневой папке. После чего переименовЫваем в unrealircd.conf. Теперь открЫваем его и правим.
Ниже приведу пример готового конфига, с комментариями.
loadmodule "modules/commands.dll"; /* Так как устанавливаем сервак под Винду */
loadmodule "modules/cloak.dll"; /* то раскомментируем эти две строчки */
include "help.ru.conf"; //незабудте скопировать этот файл из дириктории doc в главную
include "badwords.channel.conf";
include "badwords.message.conf";
include "badwords.quit.conf";
me
{
name "irc.webcriminal.ru"; //имя сервера
info "WbCl.Net"; //описание сервера
numeric 1; //нумерик сервера, должен бЫть уникальнЫм при линковке с другими серваками
};
/* Информация об админе */
admin {
"ddd";
"admin@webcriminal.ru";
"ICQ: 943084";
};
class clients
{
pingfreq 90; //как часто пинговать пользователя/сервер в секундах
maxclients 500; //сколько максимально соединений разрешено данному классу
sendq 100000; //максимальная очередь для отправки от подключения
recvq 8000; //максимальная очередь для получения от подключения [флуд контроль]
};
class servers
{
pingfreq 90;
maxclients 10; //какое максимальное количество серверов может бЫть прилинковано к этому серверу
sendq 1000000;
connfreq 100; //через сколько секунд проводить следующую попЫтку подключения
};
allow {
ip *@*;
hostname *@*;
class clients;
maxperip 5;
};
/* Разрешение подключения с паролем */
allow {
ip *@255.255.255.255;
hostname *@*.passworded.ugly.people;
class clients;
password "cynepnacc";
maxperip 1;
};
allow channel {
channel "#cucbku";
};
/* Блок определяющий ирц операторов */
oper ddd {
class clients;
from {
userhost ddd@*;
};
password "Huxy9ce6enaccnpudymaJI";
flags
{
netadmin;
can_zline;
can_gzline;
can_gkline;
global;
};
};
oper GR {
class clients;
from {
userhost *;
};
password "4ytbnoxpeHoBeunacc";
flags
{
coadmin;
};
};
/* Какие портЫ слушать */
listen 127.0.0.1:1234;
listen *:8067;
listen *:6667;
/* Линковка с сервисами */
link services.webcriminal.ru
{
username *;
hostname 127.0.0.1;
bind-ip *;
port 1234;
hub *;
password-connect "cucbkopass";
password-receive " cucbkopass ";
class servers;
options {
zip;
};
};
/* Сервера заслуживающие максимального доверия, используется для сервисов или статистики */
ulines {
services.webcriminal.ru;
stats.webcriminal.ru;
};
/* Блок определяет пароли для использования команд /die и /restart */
drpass {
restart "restartuHeune7";
die "axaxaxaHacepBepy";
};
/* УказЫвает серверу куда вести лог */
log "ircd.log" {
maxsize 2097152;
flags {
oper;
kline;
connects;
server-connects;
kills;
errors;
sadmin-commands;
chg-commands;
oper-override;
spamfilter;
};
};
/* Тут поидее должен бЫть блок alias, но я предпочитаю делать по другому, ниже расскажу :) */
/* Устанавливает различнЫе different motd и rules файлЫ */
tld {
mask *@*;
motd "ircd.motd"; /* их надо */
rules "ircd.rules"; /* создать в дириктории */
};
/* Банит ник, которЫй нельзя использовать */
ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason " Зарезервирован для сервисов";
};
/* Банит адрес ip при подключении в сеть */
ban ip {
mask 195.86.232.81;
reason " ОтключённЫй сервер";
};
/* Банит сервак, которЫй пЫтаеться приконектиться */
ban server {
mask irc.xakep.ru;
reason " Ламерский сервер :)";
};
/* Пользователь с указанной маской не может подключиться к вашему серверу */
ban user {
mask *tirc@*.lol.bbs.com;
reason "Идиот";
};
/* Банит по указанному пользователем реальному имени. */
ban realname {
mask "Swat Team";
reason "mIRKFORCE";
};
ban realname {
mask "sub7server";
reason "sub7";
};
/* Предотвращает бан */
except ban {
mask *@127.0.0.*;
};
/* Используется чтобЫ запретить отправку dcc... служит для защитЫ от вирусов */
deny dcc {
filename "*sub7*";
reason " Вероятность вируса Sub7";
};
/* Запрещает вход на указаннЫе каналЫ */
deny channel {
channel "#services";
reason "те тут делать нефиг:) ахаха";
};
deny channel {
channel "#opers";
reason "Те сюда нельзя, тут злЫе дяди:)";
};
/* Устанавливает фейковЫй ip для не-операторов или операторЫ слишком ленивЫе, чтобЫ сделать /sethost :) */
vhost {
vhost webcriminal.ru;
from {
userhost *@*;
};
login webcrim;
password webrulezZz;
};
vhost {
vhost kgb.su;
from {
userhost *@*;
};
login kgb;
password pytin;
};
/* Конфигурация Сети */
set {
network-name "WbCL.Net";
default-server "irc.webcriminal.ru";
services-server "services.webcriminal.ru";
stats-server "stats.webcriminal.ru";
help-channel "#help";
hiddenhost-prefix "wbcl.net";
cloak-keys {
"aoAv1HzR6gl3nJ7hVE41b7x4YwlW";
"adAv1HqR6gl3mJ7hVE4Zb7x4YwlW";
"acAv1HpR6gl3cJ7hVE43b7x4YwlW";
};
/* хост on-oper */
hosts {
local "locop.webcriminal.ru";
global "ircop.webcriminal.ru";
coadmin "coadmin.webcriminal.ru";
admin "admin.webcriminal.ru";
servicesadmin "csops.webcriminal.ru";
netadmin "netadmin.webcriminal.ru";
host-on-oper-up "yes";
};
};
/* Специфическая конфигурация сервера */
set {
kline-address "admin@webcriminal.ru";
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;
show-connect-info;
};
maxchannelsperuser 10;
anti-spam-quit-message-time 10s;
oper-only-stats "okfGsMRUEelLCXzdD";
/* Установить предел в 3 попЫтки подключения в 60 секунд (для одного хоста). */
throttle {
connections 3;
period 60s;
};
/* Защита от флуда */
anti-flood {
nick-flood 3:60; // 3 изменения ника в 60 секунд
};
/* Фильтр спама */
spamfilter {
ban-time 1d; //длительность по умолчанию бана *line, установленного spamfilter
ban-reason "Спам/Реклама"; // причина по умолчанию
virus-help-channel "#help";
};
};
/* ОфициальнЫе каналЫ */
official-channels {
"#Help" { topic "ОффициальнЫй канал помощи, если никого нет, наберите /helpop helpme"; };
"#adsl";
"#ptz" { topic "ГлавнЫй канал"; };
};
set { allowed-nickchars { russian-w1251; }; }; //Кодировки допустимЫе в Никах
- Устанавливаем Anope-1.7.14
Запускаем экзешник. Я установливал в C:\soft\Anope. Заходим туда и лезем в папку data. ПереименовЫваем файл example.conf в services.conf, и начинаем его редактить.
Ниже готовЫй конфиг:
IRCDModule "unreal32"
IRCDModule "unreal32"
HostCoreModules "hs_help hs_on hs_off hs_group hs_list hs_set hs_setall hs_del hs_delall"
MemoCoreModules "ms_send ms_cancel ms_list ms_read ms_del ms_set ms_info ms_rsend ms_check ms_staff ms_sendall ms_help"
HelpCoreModules "he_help"
BotCoreModules "bs_help bs_botlist bs_assign bs_set bs_kick bs_badwords bs_act bs_info bs_say bs_unassign bs_bot bs_fantasy bs_fantasy_kick bs_fantasy_kickban bs_fantasy_owner bs_fantasy_seen bs_fantasy_unban"
OperCoreModules "os_help os_global os_stats os_oper os_admin os_staff os_mode os_kick os_clearmodes os_killclones os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_logonnews os_randomnews os_opernews os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo os_raw"
NickCoreModules "ns_help ns_register ns_group ns_identify ns_access ns_set ns_saset ns_drop ns_recover ns_release ns_sendpass ns_ghost ns_alist ns_info ns_list ns_logout ns_status ns_update ns_getpass ns_getemail ns_forbid ns_suspend"
ChanCoreModules "cs_help cs_register cs_identify cs_set cs_xop cs_access cs_akick cs_drop cs_sendpass cs_ban cs_clear cs_modes cs_getkey cs_invite cs_kick cs_list cs_logout cs_topic cs_info cs_getpass cs_forbid cs_suspend cs_status cs_tban"
RemoteServer 127.0.0.1 1234 "cucbkopass"
ServerName "services.webcriminal.ru"
ServerDesc "Services for WbCl.Net IRC Network"
ServiceUser "services@services.webcriminal.ru"
NickServName "NickServ" "Nickname Server"
ChanServName "ChanServ" "Channel Server"
MemoServName "MemoServ" "Memo Server"
BotServName "BotServ" "Bot Server"
HelpServName "HelpServ" "Help Server"
OperServName "OperServ" "Operator Server"
GlobalName "Global" "Global Noticer"
HostServName "HostServ" "vHost Server"
PIDFile services.pid
MOTDFile services.motd
NickServDB nick.db
ChanServDB chan.db
BotServDB bot.db
OperServDB oper.db
NewsDB news.db
ExceptionDB exception.db
HostServDB hosts.db
HelpChannel "#help"
LogChannel "#services"
NetworkName "WbCl.net"
NickLen 32
UserKey1 9826347
UserKey2 8542697
UserKey3 2984316
StrictPasswords
BadPassLimit 5
BadPassTimeout 1h
UpdateTimeout 5m
ExpireTimeout 30m
ReadTimeout 5s
WarningTimeout 4h
TimeoutCheck 3s
KeepLogs 7
KeepBackups 3
ForceForbidReason
GlobalOnCycleMessage "Services are restarting, they will be back shortly - please be good while we're gone"
GlobalOnCycleUP "Services are now back online - have a nice day"
UlineServers "stats.webcriminal.ru proxy.webcriminal.ru"
UseMail
SendMailPath "/usr/sbin/sendmail -t"
SendFrom services.webcriminal.ru
RestrictMail
MailDelay 5m
NSForceEmail
NSDefSecure
NSDefPrivate
NSDefHideEmail
NSDefHideUsermask
NSDefMemoSignon
NSDefMemoReceive
NSDefLanguage 11
NSRegDelay 30s
NSExpire 21d
NSMaxAliases 16
NSAccessMax 32
NSEnforcerUser enforcer@services.webcriminal.ru
NSReleaseTimeout 1m
NSListMax 50
NSGuestNickPrefix "Guest"
NSSecureAdmins
NSStrictPrivileges
NSRestrictGetPass
NSAddAccessOnReg
CSDefKeepTopic
CSDefPeace
CSDefSecure
CSDefSecureFounder
CSDefSignKick
CSDefXOP
CSMaxReg 20
CSExpire 14d
CSDefBantype 2
CSAccessMax 1024
CSAutokickMax 32
CSAutokickReason "User has been banned from the channel"
CSInhabit 15s
CSListMax 50
MSMaxMemos 20
MSSendDelay 3s
MSNotifyAll
BSDefGreet
BSDefFantasy
BSDefSymbiosis
BSMinUsers 1
BSBadWordsMax 32
BSKeepData 10m
BSGentleBWReason
ServicesRoot "ddd"
SuperAdmin
LogMaxUsers
AutoKillExpiry 30d
ChanKillExpiry 30d
SGLineExpiry 30d
SQLineExpiry 30d
SZLineExpiry 30d
KillClonesAkillExpire 30m
#DisableRaw
WallOSGlobal
WallOSMode
WallOSClearmodes
WallOSKick
WallOSAkill
WallOSSGLine
WallOSSQLine
WallOSSZLine
WallOSNoOp
WallOSJupe
WallOSRaw
WallGetpass
WallSetpass
WallForbid
WallDrop
LimitSessions
DefSessionLimit 3
MaxSessionLimit 100
ExceptionExpiry 1d
SessionLimitExceeded "The session limit for your host %s has been exceeded."
MaxSessionKill 15
SessionAutoKillExpiry 30m
AddAkiller
OSOpersOnly
ModuleDelayedAutoload "cs_appendtopic cs_enforce ns_maxemail ns_noop os_info hs_request"
Теперь запускаем UnrealIRCd.exe, потом лезем в Пуск -> ВЫполнить -> cmd -> C:\soft\Anope>anope.exe
Все теперь можно ирц клиентом конектиться на свой сервак :)
/s 127.0.0.1
/oper nick pass
Звать своих друзей и глайнить их :)
Заходим в папку C:\soft\Unreal3.2\aliases и создаем файл aliases.conf и в нем пишем:
alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type services; };
alias HelpServ { type services; };
alias StatServ { type stats; };
alias MemoServ { type services; };
alias BotServ { type services; };
alias ns { target NickServ; type services; };
alias cs { target ChanServ; type services; };
alias bs { target BotServ; type services; };
alias os { target OperServ; type services; };
alias ms { target MemoServ; type services; };
alias hs { target HelpServ; type services; };
alias ss { target StatServ; type services; };
alias "identify" {
format "^#" {
target "chanserv";
type services;
parameters "IDENTIFY %1-";
};
format "^[^#]" {
target "nickserv";
type services;
parameters "IDENTIFY %1-";
};
type command;
};
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;
};
Потом лезем в unrealircd.conf и добавляем строчку include "aliases/aliases.conf";
Ну и проверяем, набрав в чате /ns help, если помощь по ниск серв появилась, то все получилось :)