Ставим и настраиваем IRC сервисы

Вторник, 29 Май 2007

   Сегодня мы поговорим о настройке IRC-сервисов, причем эта тема будет освещаться со стороны администратора, то есть тебя =). Будучи юзером в IRC, ты быть может уже знаком с сервисами и знаешь почти все их команды, но, поверь, админом быть гораздо интереснее =).

Итак, у тебя имеется настроенный и поднятый IRCD, пусть это будет Unreal. Скачаем сервисы отсюда: http://kamensk.net.ru/forb/1/ircservices-4.5.41.tar.gz. Скачаем их, и приступим к редактированию ircd.conf (конфиг IRCD). Сервисы представляют собой отдельный сервер, поэтому IRCD должен быть скомпилен как HUB и иметь C/N лайны на сервисы. Пропишем их, следующим образом:

C:192.168.0.1:services:services.local.net::50
N:192.168.0.1:services:services.local.net::50

Учитывая, что твоя сетка имеет название local.net, а сервисы стартуются с хоста 192.168.0.1 (возможно оттуда же стартуется и IRCD). Пароль на сервисы сделаем "services" (рекомендую его переделать, чтобы какой-нибудь упырь не подконнектился на IRCD под сервисами =)), класс коннекта 50, порт не указывается.
Ты не задумывался, почему сервисам разрешено все (раздавать опов направо и налево, килять пользователей и даже менять их ники)? За это отвечает U-line в ircd.conf. Маска подпадающая под этот лайн может делать все на данном сервере, поэтому прописываем:
U:services.local.net:*:*

На этом настройка ircd.conf завершена. Пошли серверу SIGINT-сигнал (не путать с SIGKILL =)) командой killall -1 ircd, или набери
/rehash
в ирке на своем сервере (но для этого ты должен быть как минимум админом сервера).
Теперь займемся самими сервисами. Законфигурим их, прописывая директорию для бинарников и вторую, для библиотек (в том числе и services.conf). Затем по порядку make, make install. Вроде все =).
Перейдем к настройке конфа. Файл должен называться serivces.conf и лежать в директории, которую ты указал в configure для библиотек. Коротко об его настройке (пишу, чтоб все корректно запустилось и немного о важных переменных):
RemoteServer - аналог C/N лайнов в ircd.conf. Формат: сервер порт "пароль", смело заполняем своими данными:
RemoteServer 192.168.0.1 6667 "services"
ServerName - имя сервера, под которым будут линковаться сервисы. Мы его задали, это имя services.local.net:
ServerName "services.local.net"
ServerDesc - Description для сервера, придумываем свой =)
ServerDesc "Services for Local IRC Daemon"
ServiceUser - маска, под которой будут выступать все сервисы данной сети. Сделаем [email protected] для наглядности:
ServiceUser "[email protected]"

Далее идет перечисление ников сервисов, их менять не советую, так как это стандарт, пусть он и останется стандартом =). Об этих никах и какую функцию они выполняют поговорим чуть позже.
Далее идут специфические настройки для каждого сервиса (например, когда дропать ник по таймауту, или сколько клонов допускать для коннекта на сервер). С этими тонкостями, я надеюсь, ты разберешься сам. Стоит вписать лишь свой ник в часть ServicesRoot, чтобы быть администратором сервисов.
После настройки, пробуем запустить сервисы. Заходим в директорию с бинарниками и стартуем их - "./services". Если все ок, сервер сообщит тебе о новом линке, а NickServ попросит зарегистрировать ник =). В противном случае смотри конфы (на 99% в них что-нибудь не так), либо логи сервисов (по умолчанию services.log в директории с библиотеками и конфами).
Теперь собственно об управлении =). После того, как ты зарегистрил свой ник, который совпадает с ником в переменной ServicesRoot (если ты не знал, чтобы зарегить ник нужно набрать
/ns register пароль_на_ник e@mail
), а затем стал опером на IRCD, тебе автоматически присвоится звание Services Administrator. После этого командуй:
/os 
set supass пароль
, чтобы установить пароль на Super-user Operators =), которые могут выполнять все операции над сервисами. Для этого статуса впоследствие нужно набирать:
/os su пароль
. Чтобы добавить в сервис-админы кого-либо еще, набери
/os oper add nick
, где nick - человек, которого добавляешь =). После всего вышеописанного, сделай
/os update
, чтобы сохранить базы.
А теперь о возможностях =). Дело в том, что через оперсерва возможно слать Raw-сообщения всем сервисам, например, чтобы поменять ник у кого-нибудь, достаточно набрать:
/os raw :NickServ svsnick Nick Nick2 1
, где Nick - текущий ник, Nick2 - ник, на который хочешь поменять текущий =). Также, через эти же Raw можно джойнить на канал сервисы, подобным путем (ограничений нет), но не злоупотребляй: если какой-нибудь сервис глюканет, то упадут все сервисы =). Я не говорю о таких банальных возможностях, как
/os akill
или
/os mode
, о них я думаю ты все знаешь, иначе -
/os help

/os jupe server.name
зажупит =) сервер в твоей сети (такое бывает необходимо если с сервисом не все в порядке, сервисы как бы эмулируют коннект, но на самом деле сервер-жертва будет находиться не в сети). Для отмены JUPE, сделай сервису SQUIT, командой
/squit server.name


Итак, сервисы состоят из:
  • NickServ - заведует базой ников
  • ChanServ - заведует базой каналов
  • MemoServ - сервер сообщений
  • OperServ - заведует сервисами =)
  • Global - выводит глобальные сообщения
  • DevNull - мусорка ;) Посредством нее сервисы общаются между собой.
  • HelpServ - Хелп по всем сервисам.

Да, я еще не сказал, что админ может без проблем узнать пароль юзера на ник или канал, либо дропнуть что-нибудь без каких-либо на то ограничений. Но, не злоупотребляй этим, иначе ты не понравишься юзерам, и о тебе будет дурное мнение.
Как ты наверное понял, с сервисами в сети гораздо веселее, чем без них. Да и все высокоорганизованные сетки имеют свои сервисы, это уже стало стандартом IRC-сети =)
Последнее обновление ( Понедельник, 24 Сентябрь 2007 )
< Пред.   След. >