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


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.


npm install screeps-modules


import ScreepsModules from 'screeps-modules'

const client = new ScreepsModules(options)


const client = new ScreepsModules({
  email: 'EMAIL',
  password: 'PASSWORD',
  token: 'TOKEN'
  serverUrl: '',
  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}


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


Updates the client token. Returns the token.

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


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