FactoIRC is a bidirectional IRC bridge between Factorio and IRC. It comes as a plugin for the irc3 python module.
It can join one or more channels and forward messages back and forth between IRC and Factorio.
Some IRC commands are also provided :
!rcon: Execute an RCON command and return the result.
!players: Get the list of the currently online players.
FactoIRC uses the RCON protocol introduced in Factorio 0.13 to forward messages from IRC to Factorio. As a result, FactoIRC will not work with Factorio 0.12 and earlier versions.
Forwarding Factorio chat messages to IRC requires access to the Factorio server output which can be achieved using several methods depending on your setup.
Compatibility
On Windows, forwarding in the IRC -> Factorio direction is only supported starting from Factorio 0.15 and using the console log (–console-log) : https://forums.factorio.com/viewtopic.php?f=49&t=37108.
Join/leave messages should work with Factorio 0.13 but are broken in 0.14 (https://forums.factorio.com/viewtopic.php?f=6&t=30697). Factorio 0.15 brings them back.
Installation
You’ll need to have Python 3.5 (or later) which can be obtained through your distribution’s package manager or downloaded from https://www.python.org/ (for Windows users).
On Windows, make sure to check the “Add Python 3.x to PATH” checkbox when installing.
Once Python is installed, FactoIRC can be installed using
$ pip3 install factoirc
Configuration
Configuration is done using the config.ini file. A config.example.ini file is provided as an example and contains extensive documentation.
Depending on your setup, you will have to use one of the file, stdin or systemd methods.
Method 1: file (recommended)
This method reads the Factorio chat from a console log.
[factoirc]
method = file
file = console.log
The console log can be generated using –console-log in Factorio 0.15:
$ factorio --rcon-port=27015 --rcon-password=password --start-server=save.zip --console-log=console.log
For Factorio < 0.15, you can redirect the Factorio output to a file to achieve the same behavior (doesn’t work on Windows):
$ factorio --rcon-port=27015 --rcon-password=password --start-server=save.zip > console.log
factorio-init users can also use the server.out file as input. Note that the systemd service for factorio-init does not save the output into the journal, so you can’t use the systemd method with it.
Warning: do not use the factorio-current.log file created by Factorio. It does not contain the chat log.
Method 2: systemd journal
This method applies only if your Factorio server runs under systemd (only for Linux machines) and its output is stored in the journal.
In this case, FactoIRC can directly read the log from the journal.
You’ll need the following options in your configuration file:
[factoirc]
method = systemd
unit = factorio.service
For this method to work, the python-systemd module is required and can be installed via pip:
$ pip3 install python-systemd
Method 3: stdin
This method reads the Factorio chat log from the standard input stream, it also supports reading from a file via shell redirection.
[factoirc]
method = stdin
You will need to connect the Factorio chat log output to the FactoIRC bot:
$ factorio --rcon-port=27015 --rcon-password=password --start-server=save.zip | irc3 config.ini
Forwarding customization
You can customize the forwarding of messages for the different game and irc actions, see config.example.ini for more information.
Running
To run FactoIRC, you just need to use the irc3 command with a FactoIRC-enabled config file (see config.example.ini)
$ irc3 config.ini
irc3 can be started with the -v flag to show more log messages (including those generated by FactoIRC).
IRC raw traffic can be shown with -r.
Try irc3 -h for the full list of options.
Metadata
Release files for factoirc 0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| factoirc-0.6.tar.gz | 12.3 kB | Without provenance | Details for factoirc-0.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| factoirc-0.6-py3-none-any.whl | Python 3 | none | any | Details for factoirc-0.6-py3-none-any.whl |
Total release size: 26.0 kB
Release files / factoirc-0.6.tar.gz
| Download URL | factoirc-0.6.tar.gz |
|---|---|
| Size | 12.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1e4301244c3254085e2bbdc17390925b9fa499dc0f7da311518079e9252a2d1b
|
|
BLAKE2b-256 checksum How to use checksums |
e0187a5ca1eb6f5074d2bfd0f5659ddbcf4e375c8ffd691bd15ef4306c2fa18c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / factoirc-0.6-py3-none-any.whl
| Download URL | factoirc-0.6-py3-none-any.whl |
|---|---|
| Size | 13.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d10f85cadce6abeb1d1087d5fa993951b4919d02e6e0bc9f1f49ceb2d50148d3
|
|
BLAKE2b-256 checksum How to use checksums |
8fd2a259e3a86b8558147ab5f08ad027298f701f5fcf55b87daf0b20f3244a26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for factoirc 0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.