Хотя такие службы, как NickServ, существуют, они не являются частью официального протокола.
Сервисы не являются частью официального протокола, потому что они не имеют ничего общего с протоколом. Они боты с разрешениями. Нет никаких причин, по которым вы не можете запустить один на каждом сервере, но это усложняет их обслуживание.
Если бы вы пошли по этому пути, я бы, вероятно, предложил бы общепринятую технику репликации базы данных с несколькими хозяевами. Если кто-то получает запись (в вашем случае создается или обновляется новый пользователь и т. Д.), Он отправляет данные всем остальным узлам. Вы должны быть осторожны, хотя. Если один узел находится в автономном режиме, когда другие получают обновление, он должен знать, чтобы выполнить повторную синхронизацию при переподключении.
Другая техника будет такой же, как указано выше, но в обратном порядке. Данные обмениваются между узлами только тогда, когда это необходимо. Например, если пользователь пытается войти в систему на узле, для которого нет данных, он запросит других и выдаст команду на перемещение, чтобы получить все данные для этого одного узла. Это потенциально менее болезненно, чем версия репликации, но в netsplits могут возникнуть серьезные проблемы, если кто-то зарегистрирует узел, отсоединенный от пакета, для получения дублирующего ник.
Одной из техник, позволяющих свести на нет проблемы netsplits, было бы сделать узлы чата и их ботов осведомленными о netsplit. Когда они разделены, им, вероятно, не следует разрешать какие-либо действия записи ... Но это может повлиять на вашу сеть, если вы разделяете много.
Вы также должны спросить, насколько это может быть безопасным или нет. Узлы сети IRC распределены по производительности, но они не "безопасны". Из-за этого служебные боты обычно работают централизованно, чтобы полностью контролировать их работу. Если вы распространите ботов, и удаленный узел будет взломан, у них потенциально будет доступ ко всей базе данных пользователей (в зависимости от модели).