Skip to content
Jared Ballou edited this page Jul 19, 2016 · 1 revision

This project aims to be an extensible and easy to use tool for installing, updating, and monitoring game servers. It is primarily focused on Source engine games, installed via Steam, on Linux. This is my first Python project, as such it will be a learning experience as well as a (hopefully) useful tool.

The goals of the project, in no particular order:

  • Community Driven - Core will start off as a very simple and straightforward tool. Additional games, features, and functionality will be added by what the users ask for.
  • Easy to use - should be menu-driven with sane defaults to allow running one command to do everything. Initial command that users execute should take care of prerequisites and all downloads needed to run the tool itself.
  • Extensible - Games will be added via YAML config files, and the tool will support adding external repos for gamedata files. The tool itself is module-based and will be built with an eye towards allowing addon functionality via Python code.
  • Well Documented - Commands and functionality should be explained via in-command help and online documentation, which will be generated from the same source. Code comments should also be complete and match best practices.
  • Robust - Error handling and logging should be a high priority. Tool should have the ability to create debugging information and automatically submit to PasteBin or GitHub.
  • Instrumented - Users will be asked to opt-in to anonymous usage data collection. This data will be scrubbed of all identifiable information and used to show what games, features, and errors users are encountering. This data should drive the roadmap and development cycle, as context for user feedback.
Clone this wiki locally