InspIRCd
InspIRCd (Inspire IRC daemon) 是一个用 C++ 编写的模块化和轻量级的 IRC 守护进程。由于它是少数从头开始编写的 IRCd 项目之一,它避免了许多设计缺陷和速度问题,这些问题困扰着其他功能相同或更少的、更成熟的 IRCd 项目,例如 UnrealIRCd 3。它是 Chatspike IRC 网络 使用的 IRCd。
安装
inspircd
的用户或组,因为该软件包将创建并使用此用户权限运行(出于安全原因)。配置
配置文件 /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/
。
启动/停止守护进程
第一次启动有时会失败,因此请尝试重新启动,直到没有错误为止。在此之后,您应该不会再有其他问题。其背后的原因是出于安全原因,守护进程不会像通常看到的那样以 root 身份运行,因此脚本必须确保用户 irc 具有写入/读取 pid 和日志文件的权限。