RuneJS
RuneJS is a RuneScape game server written entirely using 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 server runs on the 435 revision of the game, which was a game update made on October 31st, 2006. There are not any plans to convert it to other versions at this time.
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!
Setup
- Download and install NodeJS version 14 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
data/config/server-config.example.yaml
and paste it into the same folder using the nameserver-config.yaml
- Go into your new
server-config.yaml
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
- Run the game server with
npm start
The game server will spin up and be accessible via port 43594.
Setup using docker
- 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.yaml
and paste it into the same folder using the nameserver-config.yaml
- Go into your new
server-config.yaml
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.
Game Client
The RuneScape Java Client #435 must be used to log into a RuneJS game server.
Additional Commands
npm run start:game
Launches the game server by itself without buildingnpm run start:game:dev
Builds and launches the game server by itself in watch modenpm run start:login
Launches the login server by itself without buildingnpm run start:update
Launches the update server by itself without buildingnpm run start:infra
Launches both the login and update server without buildingnpm run start: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