Гид по технологиям

Шаг 5 — Запуск UnrealIRCd и настройка проверки

• 5 min read • Инфраструктура • Обновлено 27 Nov 2025
Запуск UnrealIRCd и настройка проверки
Запуск UnrealIRCd и настройка проверки

Что делает этот шаг

Запускаем сам IRC‑сервер (UnrealIRCd), подтверждаем, что он отвечает на подключение, и настраиваем автоматическую проверку работоспособности через скрипт ircdchk в crontab пользователя ircadmin. Это гарантирует, что простой сервера будет замечен и при необходимости предприняты действия.

Предварительные требования

  • Вы уже собрали и установили UnrealIRCd; выполняете команды от пользователя с правами, позволяющими запускать сервис (например, ircadmin).
  • Есть доступ к хосту по сети (локально или через VPN) и установлен IRC‑клиент для тестирования.
  • В проекте присутствует каталог с ircdcron и скриптом ircdchk (см. ниже).

Запуск UnrealIRCd

В каталоге bin пользователя ircadmin выполните:

 ircadmin@dhcppc2:~/bin> ./unreal start

Вы должны увидеть примерно такой вывод (ASCII‑арт и версия сохраняются):

Starting UnrealIRCd
__ _
| | | | | |
| __ \/ \ | |
| | | |_
| | | | | |/ /| / \/ | |
| | | | ‘ \| ‘__/ \/ ` | | | | | / | | / ` |
| || | | | | | | __/ (| | || || |\ \ | _/\ (| |
_/|| ||| \|_,||__/_| _| __/\,_|
v3.2.6
using TRE 0.7.2 (GPL)
using OpenSSL 0.9.8d 28 Sep 2006
using zlib 1.2.3

  • Loading IRCd configuration ..
  • Configuration loaded without any problems ..
  • Initializing SSL.
  • Dynamic configuration initialized .. booting IRCd.

    ircadmin@dhcppc2:~/bin>

Если вы видите строки об инициализации конфигурации и SSL, сервер запущен.

Подключение из IRC‑клиента

Откройте IRC‑клиент и подключитесь по IP сервера, например 192.168.1.102:6667.

Правильный отклик выглядит примерно так:

  • Connecting to 192.168.1.102 (6667)
    -irc.zcworld-evil.mine.nu- Looking up your hostname…
    -irc.zcworld-evil.mine.nu-
    Couldn’t resolve your hostname; using your IP address instead
    «(~ Welcome to the zcworld IRC Network [email protected] ~)»
    «(~ Your host is irc.zcworld-evil.mine.nu, running version Unreal3.2.6 ~)»
    «(~ server was Created This server was created Sat Jan 20 2007 at 23:12:19 CST
    «(~ Info ~)
    Local host: server (192.168.1.101)
    «(~ Current Server User Statistics for zcworld ~)»
    «(~ There are 1 users and 0 invisible on 1 servers ~)»
    «(~ Local Users Current Local Users: 1 Max: 1 ~)»
    «(~ Global Users Current Global Users: 1 Max: 1 ~)»
    MOTD File is missing

Сообщение “MOTD File is missing” означает, что не найден файл Message of the Day — это неполадка интерфейса, не препятствующая работе сервера, но желательно добавить MOTD.

Проверка и установка автопроверки (ircdchk)

  1. Переключитесь на суперпользователя и перейдите в рабочий каталог исходников:
su -
Password:
cd /home/zcworld/src/
find . |grep -i cron
  1. В выводе вы увидите каталог ircdcron и файлы, включая ircdchk:
./Unreal3.2/ircdcron
./Unreal3.2/ircdcron/ircdchk.in
./Unreal3.2/ircdcron/CVS
./Unreal3.2/ircdcron/CVS/Tag
./Unreal3.2/ircdcron/CVS/Entries
./Unreal3.2/ircdcron/CVS/Repository
./Unreal3.2/ircdcron/CVS/Root
./Unreal3.2/ircdcron/ircdchk
./Unreal3.2/ircdcron/ircd.cron
  1. Скопируйте скрипт ircdchk в bin пользователя ircadmin, установите владельца и отредактируйте crontab:
cp ./Unreal3.2/ircdcron/ircdchk ~ircadmin/bin/
cd ~ircadmin/bin
chown ircadmin:ircadmin ircdchk
cd ~ircadmin/bin
crontab -e

В появившемся редакторе вставьте (нажмите Insert для вставки):

# this is to check the server every 2 mins
*/2 * * * * /home/ircadmin/bin/ircdchk >/dev/null 2>&1

Нажмите Esc, затем :wq, чтобы сохранить и выйти. Должно появиться сообщение:

crontab: installing new crontab

Проверьте установленный crontab:

crontab -l

Что делает ircdchk

ircdchk — это скрипт проверки доступности и корректной работы ircd. В типичных вариантах он проверяет:

  • слушает ли процесс нужный порт (обычно 6667),
  • отвечает ли баннер сервера,
  • корректны ли PID‑файлы и т. п.

Если скрипт сообщает об ошибке, его следует изучить и при необходимости адаптировать под вашу систему (пути, имена процессов, пользователь). Не удаляйте вывод скрипта в >/dev/null во время отладки — временно включите логирование для анализа.

Устранение неполадок

  • “Couldn’t resolve your hostname”: сервер не может выполнить обратное DNS‑разрешение. Это нормально в локальной сети; добавьте запись в /etc/hosts для корректного поведения.
  • “MOTD File is missing”: создайте файл motd в каталоге сервера или укажите правильный путь в конфиге UnrealIRCd.
  • SSL/Cert ошибки: проверьте пути к сертификатам и права доступа, убедитесь, что OpenSSL совместим с версией UnrealIRCd.
  • Crontab не выполняется: проверьте права скрипта (chmod +x), SHELL и PATH в crontab; временно настройте логирование выполнения скрипта в файл для диагностики.

Important: если ircdchk использует относительные пути или предполагает определённые переменные окружения, crontab может не иметь их — всегда задавайте абсолютные пути и экспортируйте нужные переменные в скрипте.

Контроль и приёмо‑сдаточные критерии

Критерии приёмки

  • Запуск UnrealIRCd без фатальных ошибок (server booted, конфигурация загружена).
  • Успешное подключение через IRC‑клиент и получение баннера сервера.
  • Скрипт /home/ircadmin/bin/ircdchk исполняется каждые 2 минуты и при нарушении состояния фиксирует событие.
  • MOTD либо присутствует, либо задокументировано, почему его нет.

Контрольный список для ролей

Администратор IRC

  • Убедиться, что конфигурация UnrealIRCd валидна.
  • Настроить сертификаты и проверить SSL.
  • Создать/проверить MOTD.
  • Проверить работу ircdchk и логи cron.

Системный инженер

  • Установить правильные права на /home/ircadmin/bin/ircdchk (chmod 750 или 700).
  • Добавить записи в /etc/hosts при необходимости.
  • Настроить мониторинг порта 6667 (SLI: доступность; SLO: 99% рабочего времени).

Разработчик/интегратор

  • Адаптировать ircdchk под особенности окружения (пути, пользователь).
  • Написать unit‑тесты для скрипта проверки (имитация down/up сервера).

Быстрый план действий при проблемах

  1. Проверить логи UnrealIRCd (errors, ssl).
  2. Запустить ./unreal start вручную и посмотреть вывод.
  3. Проверить, слушает ли порт 6667: netstat/ss или lsof.
  4. Выполнить ircdchk вручную и проанализировать вывод.
  5. Если crontab не выполняется, добавить временный лог: /2 * /home/ircadmin/bin/ircdchk >> /tmp/ircdchk.log 2>&1

Альтернативные подходы

  • Вместо crontab можно использовать systemd‑таймеры или внешние мониторинговые системы (Prometheus Alertmanager, Zabbix) для более гибкой реакции и оповещений.
  • Для развёртывания использовать контейнеризацию (Docker) и оркестрацию, где проверка состояния делегируется healthcheck и restartPolicy.

Резюме

Вы запустили UnrealIRCd, проверили подключение через IRC‑клиент и настроили автоматическую проверку сервера через cron. Следующие шаги: добавить MOTD, убедиться в корректности SSL и интегрировать мониторинг/уведомления для быстрого реагирования.

Notes: сохраняйте резервную копию конфигурации перед изменениями и документируйте любые кастомизации ircdchk.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро