Skip to content

OnionDAO-git/rs6-nullcity-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,910 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RuneJS Discord Server

RuneJS

Null City humans (operators, demo hosts, new contributors): start with HUMANS.md. New developers: start with docs/new-developer-onboarding.md. AI agents: start with AGENTS.md. This README preserves the upstream RuneJS server notes.

Architecture boundary: this repo is runtime/controller/API only. All human-facing UI belongs in ../rs6-nullcity-residents-dashboard.

RuneJS Game Server

RuneJS is a RuneScape game server written in TypeScript and JavaScript. The aim of this project is to create a game server that is both fun and easy to use, while also providing simple content development systems.

The game server currently runs a build of RuneScape from October 30th-31st, 2006 (game build #435). No other builds are supported at this time, but may become available in the future.

RuneJS is completely open-source and open to all pull requests and/or issues. Many plugins have been added by contributor pull requests and we're always happy to have more!

RuneJS Lumbridge

Setup

Prerequisites

Running the Game Server

  1. Copy the config/server-config.example.json and paste it into the same folder using the name server-config.json
  2. Go into your new server-config.json file and modify your RSA modulus and exponent with the ones matching your game client
    • You may also modify the server's port and host address from this configuration file
  3. Build the docker image with docker-compose build
  4. Run the game server with docker-compose up

The game server will spin up and be accessible via port 43594. The resident dashboard also needs the AgentGateway on port 43595; keep agentGateway.enabled set to true in config/server-config.json when using the dashboard. When running through Docker Compose, set agentGateway.host to 0.0.0.0 inside the container and use an agentGateway.authToken that matches the dashboard AGENT_GATEWAY_TOKEN; docker-compose.yml still publishes the port only to host loopback with 127.0.0.1:43595:43595. Change the local dev token before binding the dashboard or gateway publicly.

Game Client

The RuneScape Java Client #435 must be used to log into a RuneJS game server.

Additional Commands

Before running these commands, you must:

  1. have NodeJS version 24 or higher installed on your machine
  2. run npm install from the root of this project
  • npm run game Launches the game server by itself without building
  • npm run game:dev Builds and launches the game server by itself in watch mode
  • npm run login Launches the login server by itself without building
  • npm run update Launches the update server by itself without building
  • npm run infra Launches both the login and update server without building
  • npm run standalone Launches all three servers concurrently without building
  • npm run build:watch Builds the application and watches for changes
  • npm run build Builds the application
  • npm run lint Runs Biome in linting mode, use lint:fix to autofix
  • npm run format Runs Biome in formatting mode, use format:fix to autofix
  • npm run test Runs all tests with Jest
  • npm run typecheck Typechecks the project
  • npm run fin Combines lint:fix, format:fix, test and typecheck into a single command

About

RuneJS is a RuneScape game server written in TypeScript and JavaScript. The goal of the project is to create a comprehensive game engine, while also providing simple and easy to use content development systems and APIs.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 98.4%
  • Other 1.6%