screeps-modules v1.2.0
screeps-modules
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
.