Run at your own risk!
This readme should be updated later :-P
This is a modified version of FactoCord.
A bot that acts as a gateway between Factorio server and Discord. Additionally - with some basic management possibilities.
Some additions to "vanilla FactoCord":
- send Lua commands to the server
- pass Factorio server output to Discord
- pass ≶server> chat messages to Discord
- give the Factorio server time to save the game before quit
- option to read death / upgrade / rocket launched messages
To get the death and research notifications to Discord, you will have to modify control.lua of the save file you would like to use. It should keep the "vanilla" achievements in a working condition (verified on ONE map, so use with caution). It is slightly modified version of mlogger 0.2 and probably can be adapted to be a mod.
Please, keep in mind...
You are connecting your game to an external service. FactoCord relies on the information from Discord (p.e. admin user IDs) an does not have any additional authentication mechanisms. If your server on any admin account gets compromised, you may have trouble.
Every person that is granted access to the Console channel can read every message from server - possibly leaking technical information that should not be public.
If you run Factorio on a production server and you have the knowledge / resources, keep the FactoCord and Factorio isolated (docker at least).
Every person that is granted access to your Factorio channel can read every message you write in-game. Keep that in mind. You should let all players know, that the game is sending their chat to a Discord server.
Yeah, this... It should not but it may (maybe some programming mistake or anything) eat all your data.
Make sure you have your .env file in the same directory as the executable/binary, you can use .envexample as a template
There are two ways of starting FactoCord
- Using the start.sh bash script (bash start.sh or ./start.sh) (make sure you chmod +x the script first)
- Manually running the binary (./FactoCord)
To install FactoCord as a service so that it can run on startup, you can use the provided service.sh
Note you must run service.sh as root/sudo to install it as a service
Example of running service.sh:
./service.sh factorio /home/facotrio/factocord/
Requires go 1.8 or above
FactoCord uses the following packages:
You will need to add these lib as go get:
go get github.com/bwmarrin/discordgo
go get github.com/joho/godotenv
go get github.com/hpcloud/tail/...
To compile just do go build
When FactoCord encounters an error will log to error.log within the same directory as itself.
If you are having an issue make sure to check the error.log to see what the problem is.
If you are unable to solve the issue yourself, please post an issue containing the error.log and I will review and attempt to solve what the problem is.
Currently I haven't had any luck getting FactoCord to run correctly on Windows, see this for information
If a way is found to fix this problem, then Windows support will be added.
- Brett and MajesticFudgie for making the logo!
- UclCommander for finding me the tails library which made this a lot easier to build.