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 @zitterorg/modi-non-tenetur
import ScreepsModules from '@zitterorg/modi-non-tenetur'
const client = new ScreepsModules(options)
const client = new ScreepsModules({
email: 'EMAIL',
password: 'PASSWORD',
token: 'TOKEN'
serverUrl: 'https://screeps.com',
serverPassword: 'SERVER_PASS',
gzip: false
}
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=@zitterorg/modi-non-tenetur node $ARGS
.