ScreepsQuorum / screeps-quorum

Screeps Self Managing and Playing Codebase
https://quorum.tedivm.com/
MIT License
148 stars 54 forks source link
gitconsensus screeps

screeps-quorum

Screeps Quorum is a completely automated project centered around the game Screeps.

JavaScript Style Guide License Version Downloads CircleCI

npm

While there are other Screeps code bases which focus on automation, this is the first codebase which has automated its own management and deployment. The Quorum project does not have a single specific user behind it, but is completely independent.

All Pull Requests are done by volunteers, and the entire project is open source.

How does it work?

Resources

Join the discussion on slack at #quorum, available on the Screeps Slack Network.

View the Quorum Dashboard for all the information on the currently running instance.

Contributing

This project does everything but code itself- that part comes from community pull requests.

The developer wiki should be the first stop before diving into the code. Like the project itself this is completely community run, and documentation contributions are always appreciated.

Not sure where to get started? The github project has a list of needed features specifically to give people a jumping off point for getting into the project.

Please take a moment to read the contributors guide to get an understanding of how the project works and how contributions will be looked at by the community.

Deploying

This codebase uses Gulp to deploy to the screeps server. It uses a configuration file, .screeps.json, which can save multiple configurations.

{
  "main" : {
    "username": "Quorum",
    "password": "random123",
    "branch": "main"
  },
  "127.0.0.1" : {
    "username": "Quorum",
    "password": "random123"
  },
  "myserver.example.com" : {
    "username": "Quorum",
    "password": "random123",
    "ssl": true
  }
}

By default Gulp will deploy to the main server, but this can be changed with the server flag.

gulp --server=127.0.0.1

By default gulp will push to the default branch. This can be changed in the configuration file or by passing the branch option to gulp.