Skip to content

asoul-rec/factorio-manager

Repository files navigation

Factorio Manager

Factorio manager server with Telegram bot as client

Run

python -m facmgr.client [OPTIONS]  # run the client
python -m facmgr.server [OPTIONS]  # run the server

Project structure

Factorio Manager can be separate into 2 parts

  1. Factorio server + Manager server
  2. 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.

Features

(items with * is WIP)

  1. server manager (daemon)
    1. server options
      1. start/stop/restart the server process, load with specified savefile, custom starting args
      2. log manager, in-game command
    2. savefile explorer (at least get name & play time from the saves, can be JSON/do not need to be human friendly)
    3. communication:
      1. grpc server
      2. authentication, ensure consistency
  2. middle layer: tg bot / server manager client
    1. connect to server manager
    2. connect to factorio with rcon (use custom grpc functions to support in-game command)
  3. tg bot frontend
    1. easy interface to set configurations
    2. basic function: switch saves. show save metadata to choose the correct one
    3. realtime chat and status with long polling / message forwarding
    4. run in-game commands (just transfer the raw command).
    5. process the response of the in-game commands (as string in lua? how to deal with it when an error occurs?)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors