User/Password authentication for the screeps private server mirror of
ags131 41db3e39b6
2 years ago
lib Removed obsolete playerSandbox method 2 years ago
static/password fixed password validation 2 years ago
.gitignore Initial Commit 3 years ago
LICENSE Initial Commit 3 years ago Added the ability to specify starting CPU for API registered users + Spawn placement restricting. 2 years ago
circle.yml CircleCI Updated to use NPM Token 3 years ago
index.js Fixed bug 3 years ago
out.gif Added steam OpenID 2 auth support 2 years ago
package.json Publish 2 years ago
yarn.lock Update passport-steam 2 years ago


This adds user/pass auth to the screeps private server

NPM info

Circle CI


  1. npm install screepsmod-auth in your server folder.
  2. Thats it!


Steam Console method

  1. Open the steam screeps client
  2. In console, run setPassword('YourDesiredPassword')
  3. Now you should be able to login via API

Web Form Method

  1. Open the steam client at least once (Required to create initial account)
  2. Goto http://yourServerHostOrIP:21025/authmod/password/
  3. Enter your desired password
  4. Click Signin with steam
  5. Your password should be set and you be able to login via API



Returns a Promise, resovles to either the user object or false

Github Auth

To enable github auth, you need to add a github client id and client secret to your .screepsrc
(Or ENV vars GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET with other launchers)

Make sure to set the callback url to point to /api/auth/github/return on your server. ex:
Get the id and secret from youe Github settings:


clientId = <clientId>
clientSecret = <clientSecret>

Initial CPU and Spawn Blocking

You can set the initial CPU that gets placed on a user (Steam users always receive 100), and also control whether the new user can place spawns. This can be used in combination with a whitelist or manual approval to control spawning.

cpu = 100
preventSpawning = false