/screeps-launcher

Primary LanguageGoMIT LicenseMIT

A better launcher for Screeps private servers

CircleCI

Why?

  • The steam private server has a few limitations, one being that getting non-workshop mods to work is a huge headache.
  • The npm version is much better, but requires care in installing everything correctly.

Therefore, the goal of this is to simplify the entire process making it much easier to use. No need to manually npm install anything, its handled automatically

Usage

  1. Download a release from the Releases Page
  2. Drop into an empty folder or your PATH
  3. Get your Steam API key
  4. Create config.yml (All fields are optional! You can pass STEAM_KEY as an environment variable)
steamKey: keyFromStep3
mods: # Recommended mods
- screepsmod-auth
- screepsmod-admin-utils
- screepsmod-mongo  # You must install and start `mongodb` and `redis` before this mod will work
bots:
  simplebot: screepsbot-zeswarm
serverConfig: # This section requires screepsmod-admin-utils to work
  welcomeText:  |
    <h1 style="text-align: center;">My Cool Server</h1>
  constants:
    TEST_CONSTANT: 123
  tickRate: 1000
  1. Open a shell to folder
  2. Run screeps-launcher
  3. If you installed screepsmod-mongo, run screeps-launcher cli in another shell, and run system.resetAllData() to init the DB. It completes instantly, restart the server after.
  4. Done!

You can use screeps-launcher cli in the same folder for CLI access

Other options

There are several extra arguments that can be used to manage the install:

  • screeps-launcher apply Applies the current config.yml without starting the server.
  • screeps-launcher upgrade Upgrades all packages (screeps, mods, bots, etc)
  • screeps-launcher cli Launch a screeps cli

Docker

Docker builds are published to Dockerhub as screepers/screeps-launcher Quickstart:

  1. Create config file in an empty folder (/srv/screeps is used for this example)
  2. Run docker run --restart=unless-stopped --name MyScreepsServer -v /srv/screeps:/screeps -p 21025:21025 screepers/screeps-launcher
  3. Done!

There is also an example docker-compose.yml that starts a server + mongo Don't forget to add screepsmod-mongo to your config.yml and run system.resetAllData() on first use.