factorio的双向irc桥

factoirc的Python项目详细描述


factoirc是factorio和irc之间的双向irc桥。 它作为irc3python模块的插件提供。

它可以连接一个或多个通道,并在irc和factorio之间来回转发消息。

还提供了一些irc命令:

  • !rcon:执行rcon命令并返回结果。
  • !播放器:获取当前在线播放器的列表。

factoirc使用factorio 0.13中引入的rcon协议将消息从irc转发到factorio。 因此,factorirc不能与factorio 0.12和早期版本一起使用。

将factorio聊天消息转发到irc需要访问factorio服务器输出,这可以使用多种方法实现,具体取决于您的设置。

兼容性

在Windows上,仅支持从factorio 0.15开始并使用控制台日志–console log)按irc->;factorio方向转发。 :https://forums.factorio.com/viewtopic.php?f=49&t=37108

join/leave消息应该使用factorio 0.13,但在0.14(https://forums.factorio.com/viewtopic.php?f=6&t=30697)中被破坏。 factorio 0.15把它们带回来了。

安装

您需要使用python 3.5(或更高版本),可以通过发行版的包管理器获得该版本 或者从https://www.python.org/下载(对于windows用户)。

在windows上,确保在安装时选中“add python 3.x to path”复选框。

一旦安装了python,就可以使用

$ pip3 install factoirc

配置

使用config.ini文件完成配置。作为示例提供了一个config.example.ini文件,其中包含大量文档。

根据您的设置,您必须使用文件stdin系统d方法之一。

方法2:systemdjournal

仅当factorio服务器在systemd下运行(仅适用于linux机器)并且其输出存储在日志中时,此方法才适用。

在这种情况下,factoirc可以直接从日志中读取日志。

您的配置文件中需要以下选项:

[factoirc]method=systemdunit=factorio.service

要使此方法起作用,需要使用python systemd模块,可以通过pip:

$ pip3 install python-systemd

方法3:stdin

此方法从标准输入流读取factorio聊天日志,还支持通过shell重定向读取文件。

[factoirc]method=stdin

您需要将factorio聊天日志输出连接到factoirc bot:

$ factorio --rcon-port=27015 --rcon-password=password --start-server=save.zip | irc3 config.ini

转发定制

您可以自定义不同游戏和irc操作的消息转发,有关详细信息,请参见config.example.ini


热门话题
java同步块与私有不可变对象和同步方法的差异   OracleDataSource、OracleUCP、Commons DBCP和Tomcat连接池之间的java差异?   java在文本文件中写入对象   java访问web服务   如何用java代码并行读取拼花地板文件   spring是否可以将运行时未知的Avro消息转换为特定的Java类   具有复杂对象的java Spring数据MongoDB addToSet()   java ArrayList是否删除元素,是否向下移动列表?   Vaadin中按钮的java多行标题不起作用   java为什么要使用@PropertySource而不是PropertyPlaceHolderConfigure?   java如何检查网站链接是否有数据(图片)或网站是否无效?   java如何禁用对jsp页面的直接访问?   用java实现matlab递归文件夹读取。伊奥。文件   为什么是java。伊奥。FileDescriptor的构造函数是公共的吗?   在java中关闭扫描程序时无法访问的代码?   搜索Java模拟退火接受概率