Replace LokiJS with MongoDB and Redis mirror of https://github.com/ScreepsMods/screepsmod-mongo
scitor 648c6bbb3b green CI 1 year ago
.circleci Fixed publish 2 years ago
lib green CI 1 year ago
.dockerignore First working version 2 years ago
.gitignore Fixed linting errors 2 years ago
Dockerfile First working version 2 years ago
LICENSE Initial Commit 2 years ago
README.md Update README.md 2 years ago
db.original.json Update db.original.json 1 year ago
docker-compose.armhf.yml adds docker-compose for armhf 1 year ago
docker-compose.yml Fixed import 2 years ago
index.js Backend cleanup 2 years ago
package.json Publish 1 year ago
yarn.lock Publish 2 years ago

README.md

screepsmod-mongo

MongoDB And Redis for the Screeps Private Server

JavaScript Style Guide CircleCI

Requirements

  • nodejs 6+
  • screeps 2.10+
  • mongodb
  • redis

Installation

  1. Ensure both mongodb and redis are already installed and running
  2. npm install screepsmod-mongo inside your server's mods folder
  3. Start server!
  4. DB Population
    1. mongo.importDB() in the screeps cli imports your existing DB
    2. system.resetAllData() in the screeps cli for a completely fresh DB
  5. Once done restart the server
  6. Done!

Usage

With this mod installed you can continue to manage the server as usual, all CLI commands still function and bahave functionally identical. The original storage module will still run, but is completely ignored.

Keep in mind that RAM requirements are slightly higher, by default mongo uses 50% - 1G of your system RAM. Redis on the other hand, uses very little.

Mongo and Redis CLIs can be used to see and modify the data as usual, backups and restores should be done via normal mongo and redis tools.

https://docs.mongodb.com/manual/tutorial/backup-and-restore-tools/
https://redis.io/topics/persistence

Configuration

All options and defaults are listed below

Mongo

  • host: localhost
  • port: 27017
  • database: screeps

Redis

  • host: localhost
  • port: 6379

Examples

Config can be applied in several ways:

.screepsrc (Recommended)

Add to the bottom of your .screepsrc file

[mongo]
host = 192.168.0.222

[redis]
host = 192.168.0.222

ENV Method

Please note that this method only works when launching modules directly, when launched via the default launcher they will be ignored.

MONGO_HOST='192.168.0.222'