A tool to help manage Factorio multiplayer servers including mods and save games.
Go to file
2016-04-29 23:23:31 +02:00
app ui improvements, renamed http status handler 2016-04-27 20:12:00 -04:00
docker removed tmp files from final image 2016-04-29 23:23:31 +02:00
ui improved login ui views 2016-04-29 12:53:05 -04:00
.gitignore added bundle.js to gitignore 2016-04-27 19:41:07 -04:00
auth.go added auth handlers, added auth route and view 2016-04-29 10:37:21 -04:00
conf.json started on http authentication 2016-04-29 00:00:04 -04:00
gameconfig.go improved ui for config route, added error reporting to json responses 2016-04-24 19:07:00 -04:00
gamelog.go added handler for tailing game log file 2016-04-18 12:39:09 -04:00
handlers.go ui improvements, renamed http status handler 2016-04-27 20:12:00 -04:00
LICENSE.md added license, updated readme 2016-04-19 23:16:36 -04:00
main.go added auth handlers, added auth route and view 2016-04-29 10:37:21 -04:00
Makefile added dockerfile for deployment, added makefiles for creating release and building docker image 2016-04-28 09:58:02 -04:00
mods.go started on http authentication 2016-04-29 00:00:04 -04:00
README.md Update README.md 2016-04-27 20:19:07 -04:00
routes.go improved login ui views 2016-04-29 12:53:05 -04:00
saves.go added handlers and views for uploading and removing mods and saves 2016-04-21 11:05:28 -04:00
server.go ui improvements, renamed http status handler 2016-04-27 20:12:00 -04:00

#Factorio Server Manager

###A tool for managing Factorio servers. This tool runs on a Factorio server and allows management of the Factorio server, saves, mods and many other features.

Features

  • Allows control of the Factorio Server, starting and stopping the Factorio binary.
  • Allows the management of save files, upload, download and delete saves.
  • Manage installed mods, upload new ones, delete uneeded mods. Enable or disable individual mods.
  • Allow viewing of the server logs and current configuration.

Installation

  1. Download the latest release
  1. Download the Factorio Standalone server and install to a known directory.
  2. Run the server binary file, use the --dir flag to point the management server to your Factorio installation.
  • ./factorio-server-manager --dir /home/user/.factorio
  1. Visit localhost:8080 in your web browser.

Usage

Run the UI server and specify the directory of your Factorio server installation and the interface to run the HTTP server. on.

Usage of ./factorio-server-manager:
  -bin string
        Location of Factorio Server binary file (default "bin/x64/factorio")
  -config string
        Specify location of Factorio config.ini file (default "config/config.ini")
  -dir string
        Specify location of Factorio directory. (default "./")
  -host string
        Specify IP for webserver to listen on. (default "0.0.0.0")
  -max-upload int
        Maximum filesize for uploaded files. (default 100000)
  -port string
        Specify a port for the server. (default "8080")

Example:

./factorio-server-manager --dir /home/user/.factorio --host 10.0.0.1

Manage Factorio Server

Factorio Server Manager Screenshot

Manage save files

Factorio Server Manager Screenshot

Manage mods

Factorio Server Manager Screenshot

Development

The backend is built as a REST API via the Go web application.

It also acts as the webserver to serve the front end react application

All api actions are accessible with the /api route. The frontend is accessible from /.

Requirements

  • Go 1.6
  • NodeJS 4.2.6

Building the Go backend

Go Application which manages the Factorio server.

API requests for managing the Factorio server are sent to /api.

The frontend code is served by a HTTP file server running on /.

git clone https://github.com/MajorMJR/factorio-server-manager.git
cd factorio-server-manager
go build

Building the React frontend

Frontend is built using React and the AdminLTE CSS framework. See app/dist/ for AdminLTE included files and license.

The root of the UI application is served at app/index.html. Run the npm build script and the Go application during development to get live rebuilding of the UI code.

All necessary CSS and Javascript files are included for running the UI.

Transpiled bundle.js application is output to app/bundle.js, 'npm run build' script starts webpack to build the React application for development

 install nodejs (use nvm)
 cd ui/
 npm install
 npm run build
 Start factorio-server-manager binary in another terminal

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details