Factorio manager server with Telegram bot as client
python -m facmgr.client [OPTIONS] # run the client
python -m facmgr.server [OPTIONS] # run the serverFactorio Manager can be separate into 2 parts
- Factorio server + Manager server
- Manager client + Telegram bot server
Factorio server and Telegram bot server provide gaming and controlling functions to the end-users. Part 1. and 2. can be deployed on different machines or on the same machine.
(items with * is WIP)
- server manager (daemon)
- server options
- start/stop/restart the server process, load with specified savefile, custom starting args
- log manager, in-game command
- savefile explorer (at least get name & play time from the saves, can be JSON/do not need to be human friendly)
- communication:
- grpc server
- authentication, ensure consistency
- server options
- middle layer: tg bot / server manager client
- connect to server manager
connect to factorio with rcon(use custom grpc functions to support in-game command)
- tg bot frontend
- easy interface to set configurations
- basic function: switch saves. show save metadata to choose the correct one
- realtime chat and status with long polling / message forwarding
- run in-game commands (just transfer the raw command).
- process the response of the in-game commands (as string in lua? how to deal with it when an error occurs?)