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!
dockeranddocker-compose- If on Windows,
docker-composecomes withdocker
- If on Windows,
- Copy the
config/server-config.example.jsonand paste it into the same folder using the nameserver-config.json - Go into your new
server-config.jsonfile 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 installfrom the root of this project
npm run gameLaunches the game server by itself without buildingnpm run game:devBuilds and launches the game server by itself in watch modenpm run loginLaunches the login server by itself without buildingnpm run updateLaunches the update server by itself without buildingnpm run infraLaunches both the login and update server without buildingnpm run standaloneLaunches all three servers concurrently without buildingnpm run build:watchBuilds the application and watches for changesnpm run buildBuilds the applicationnpm run lintRuns Biome in linting mode, uselint:fixto autofixnpm run formatRuns Biome in formatting mode, useformat:fixto autofixnpm run testRuns all tests with Jestnpm run typecheckTypechecks the projectnpm run finCombines lint:fix, format:fix, test and typecheck into a single command

