npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

screepers-steamless-client

v1.14.0

Published

A browser client for Screeps

Downloads

247

Readme

Screepers Steamless Client

Overview

The Screepers Steamless Client is a web proxy for the Screeps World game client. It allows you to run Screeps in your web browser and works with macOS, Linux and Windows setups.

Requirements

  • Node.js v20+
  • Screeps World (installed using Steam)

Installation

Run with NPX

Run the latest version with npx without installing:

npx screepers-steamless-client

Install Globally with NPM

Install the latest version globally with npm and run the client:

npm install -g screepers-steamless-client
screepers-steamless-client

Run with Docker Compose

Use Docker Compose to run the client.

  • Download the compose.yaml file and place it in an empty folder.
  • Alternatively, you can add the client entry from compose.yaml to an existing Docker Compose configuration (e.g., combine it with a Screeps server launcher). If you do this, make sure to use the --internal_backend argument in the command to reference the Screeps server container address, like this:
    command: >
      npx screepers-steamless-client
      --package /screeps.nw
      --host 0.0.0.0
      --internal_backend http://screeps:21025

Set up the SCREEPS_NW_PATH environment variable.

  • Create a .env file with the following content in the same folder as the compose.yaml. Replace the path with the actual path to your Screeps package.nw file:
SCREEPS_NW_PATH="~/Library/Application Support/Steam/steamapps/common/Screeps/package.nw"

Run the Docker container:

docker compose up

Usage

View the server list page at http://localhost:8080/. This address can be changed with the --host and --port arguments.

Different servers can be accessed from the server list page, or using the url format http://localhost:8080/(BACKEND_ADDRESS)/

  • For the official server: http://localhost:8080/(https://screeps.com)/

  • For a local server on port 21025: http://localhost:8080/(http://localhost:21025)/

The server list page adds subdomains to localhost urls to keep auth tokens in separate local storage for multi server support.

Steam OpenId support is required on your local server. Enable it with screepsmod-auth. For xxscreeps servers, it's enabled by default.

Arguments

All of the command line arguments are optional.

  • -h , --help — Display the help message.
  • -v , --version — Display the version number.
  • --package — Path to the Screeps package.nw file. Use this if the path isn't automatically detected.
  • --host — Changes the host address. (default: localhost)
  • --port — Changes the port. (default: 8080)
  • --internal_backend — Set the internal backend url when running the Screeps server in a local container. This will convert requests to a localhost backend to use the container name where the Screeps server is running.
  • --server_list — Path to a custom server list json config file.
  • --beautify — Formats .js files loaded in the client for debugging.
  • --guest — Enable guest mode for xxscreeps.
  • --debug — Display verbose errors for development.

Examples

--package

If the Screeps package.nw is not automatically detected, you can provide the path to the Screeps package.nw file.

npx screepers-steamless-client --package ~/screeps/package.nw

--internal_backend

When running a Screeps server in a Docker container, you can configure the server to redirect requests made to localhost to an internal backend url.

npx screepers-steamless-client --internal_backend http://screeps:21025

--server_list

Customize your server list by copying the server_list.json file and making your changes.

Run the client with your custom server list:

npx screepers-steamless-client --server_list ./custom_server_list.json

Development Scripts

  • npm start — Build and start the client app.
  • npm run build — Build the client app to dist.
  • npm run dev — Build and watch for changes (hot reload).
  • npm run format — Format the src using Prettier.
  • npm run lint — Lint the src using ESLint.

Tips

This client has an optional "guest mode" for xxscreeps that can be enabled with --guest and provides a read-only view of the server when not signed in. To sign in with your Steam account, select "Sign Out" first, then click the Steam icon to sign in and play as normal.

Safari Example