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!
docker
anddocker-compose
- If on Windows,
docker-compose
comes withdocker
- If on Windows,
- Copy the
config/server-config.example.json
and paste it into the same folder using the nameserver-config.json
- 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
- Build the docker image with
docker-compose build
- Run the game server with
docker-compose up
The game server will spin up and be accessible via port 43594.
The RuneScape Java Client #435 must be used to log into a RuneJS game server.
Before running these commands, you must:
- have NodeJS version 18 or higher installed on your machine
- run
npm install
from the root of this project
npm run game
Launches the game server by itself without buildingnpm run game:dev
Builds and launches the game server by itself in watch modenpm run login
Launches the login server by itself without buildingnpm run update
Launches the update server by itself without buildingnpm run infra
Launches both the login and update server without buildingnpm run standalone
Launches all three servers concurrently without buildingnpm run build:watch
Builds the application and watches for changesnpm run build
Builds the applicationnpm run lint
Runs the linter against the codebase to look for code style issues