Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including screeps-modules with all npm packages installed. Try it out:

var screepsModules = require("screeps-modules")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

screeps-modules v1.2.0

Commit and retrieve modules from Screeps servers

screeps-modules

Build status NPM Node version bitHound Dependencies bitHound Dev Dependencies Coverage

A thin client for committing/retrieving modules from a Screeps server, including private servers. If you are using Webpack, see langri-sha/screeps-webpack-plugin.

The client uses the Screeps Web API. To authenticate, make sure you have an account password configured, if you've registered via Steam or GitHub. If you provide a token, it will be used instead to authorize requests.

On private servers, make sure that you have the authorization mod installed and an account created.

For something more comprehensive, check out screepers/node-sreeps-api.

Install

npm install screeps-modules

Usage

import ScreepsModules from 'screeps-modules'

const client = new ScreepsModules(options)

Options

const client = new ScreepsModules({
  email: 'EMAIL',
  password: 'PASSWORD',
  token: 'TOKEN'
  serverUrl: 'https://screeps.com',
  serverPassword: 'SERVER_PASS',
  gzip: false
}

ScreepsModules#commit([branch,] modules): Object

Commit modules to the provided branch, or to the one that's active in the world.

// Update branch 'sim'
await client.commit('sim', {
  main: 'module.exports = () => {console.log(Game.time)}'
})
// => {ok: 1}
// Update branch 'sim'

// Update the active world branch
await client.commit({
  main: 'module.exports = () => {console.log(Game.time)}'
})
// => {ok: 1}

ScreepsModules#fetch([branch])

Retrieve scripts from the provided branch, or from the one that's active in the world.

// Retrieve branch 'sim'
await client.retrieve('sim')
// => {main: 'module.exports = () => {console.log(Game.time)}'}

// Fetch active world branch
await client.retrieve()
// => Object

ScreepsModules#refreshToken()

Updates the client token. Returns the token.

await client.refreshToken()
// => 'TOKEN'

Troubleshooting

To avoid leaking sensitive information, the client only returns opaque responses and is safe to use in CI. If you need to inspect the responses, start your process with DEBUG=screeps-modules node $ARGS.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free