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!
- Download and install NodeJS version 16 or higher: https://nodejs.org/en/
- Clone the Github Repo: https://github.com/runejs/server
- Install dependencies by navigating to the project in your Terminal or command prompt and running the command npm install
- Copy the
config/server-config.example.json
and paste it into the same folder using the nameserver-config.json
- Optional: Go into the new
server-config.json
file and modify the RSA modulus and exponent with the ones matching your desired game client
- You may also modify the server's port and host address from this configuration file
- Run the game server with
npm start
The game server will spin up and be accessible via port 43594.
- Download and install Docker and Docker Compose: first https://docs.docker.com/get-docker/ then https://docs.docker.com/compose/install/
- 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.
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