All Projects → ScreepsMods → screepsmod-auth

ScreepsMods / screepsmod-auth

Licence: MIT license
User/Password authentication for the screeps private server

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to screepsmod-auth

cppreeps
WASM C++ Screeps API and utilities pack (beta, proof-of-concepts)
Stars: ✭ 38 (+15.15%)
Mutual labels:  screeps-modules

screepsmod-auth

This adds user/pass auth to the screeps private server

NPM info

Circle CI

Installation

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

Usage

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

Server CLI method

  1. Open the screeps server CLI (npx screeps cli or via Steam Server UI)
  2. Run setPassword('Username', 'YourDesiredPassword')
  3. Now you should be able to login via API

API

config.auth.authUser(username,password)

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: https://screeps.mydomain.com/api/auth/github/return
Get the id and secret from youe Github settings: https://github.com/settings/developers

.screepsrc

[github]
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.

[auth]
cpu = 100
preventSpawning = false
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].