InspIRCd

出自 ArchWiki

InspIRCd (Inspire IRC daemon) 是一个用 C++ 编写的模块化和轻量级的 IRC 守护进程。由于它是少数从头开始编写的 IRCd 项目之一,它避免了许多设计缺陷和速度问题,这些问题困扰着其他功能相同或更少的、更成熟的 IRCd 项目,例如 UnrealIRCd 3。它是 Chatspike IRC 网络 使用的 IRCd。

安装

注意: 在开始之前,请检查您是否没有任何名为 inspircd 的用户或组,因为该软件包将创建并使用此用户权限运行(出于安全原因)。

安装 inspircdAUR 软件包。

配置

配置文件 /etc/inspircd/inspircd.conf强制性的,XML 格式,需要在安装时创建。

您如何设置配置文件将在很大程度上取决于您的需求和系统配置,这就是为什么默认情况下没有配置文件设置的原因。

提示: 您可以使用位于 /usr/share/inspircd/examples/inspircd.conf.example 的示例(和文档非常完善的)配置文件。将此文件复制到 /etc/inspircd/inspircd.conf,仔细阅读并编辑它以适合您的需求。

它的标记语言格式可能与大多数人习惯的格式有些不同。配置文件中指令的格式如下所示

<tagname variable="value">
注意: 示例文件中有一些 <die value="anything here"> 行,以确保您阅读了整个文件。您必须删除这些条目,否则服务器将无法启动。

确保将 pidfile 设置为 /var/run/inspircd/inspircd.pid,如软件包的 安装脚本 中所述。

更多信息请访问 InspIRCd 配置 wiki 页面。

加载模块

默认情况下,InspIRCd 不加载任何模块。由于 RFC 1459 之外的每个功能实际上都是一个模块,因此不加载任何模块会导致您的 ircd 实际上不会执行任何令人印象深刻的操作。您可以通过添加例如以下内容来加载模块

<module name="m_silence.so">

这将加载 m_silence 模块(它提供了某种标准的 SILENCE 列表工具)。您必须重新启动守护进程才能使更改生效。可用模块列表可在 InspIRCd 模块 wiki 页面上找到。

第三方模块

要安装第三方模块,请将 [module].cpp 保存在 [build-dir]/inspircd/src/inspircd/src/modules/ 中,然后继续构建过程。如果您已经构建并安装了 InspIRCd 并且源文件完好无损,请使用 ./configure -modupdate; make 编译模块,然后复制到:/usr/lib/inspircd/modules/

启动/停止守护进程

此文章或章节的事实准确性存在争议。

原因: 重启直到问题消失不是推荐的调试方法(在 Talk:InspIRCd 中讨论)

启动停止 inspircd.service

第一次启动有时会失败,因此请尝试重新启动,直到没有错误为止。在此之后,您应该不会再有其他问题。其背后的原因是出于安全原因,守护进程不会像通常看到的那样以 root 身份运行,因此脚本必须确保用户 irc 具有写入/读取 pid 和日志文件的权限。

外部链接