No description
Find a file
Pazaz f34f348c7d feat: Node-only option
Alternate option if your system has issues running bun
2025-10-02 00:42:00 -04:00
.github/workflows ci: Verify engine code on pushes too 2025-05-25 13:56:09 -04:00
.husky feat: Node-only option 2025-10-02 00:42:00 -04:00
.vscode chore: Reorganized some utility and tool files 2025-09-03 12:10:29 -04:00
data feat: Updated synth format to support filters 2025-08-19 10:45:05 -04:00
prisma feat: support running multiple profiles (#18) 2025-07-12 00:17:11 -04:00
public/client chore: Updated webclient bundle 2025-07-18 14:27:32 -04:00
src feat: Node-only option 2025-10-02 00:42:00 -04:00
tools feat: Node-only option 2025-10-02 00:42:00 -04:00
view chore: Updated webclient bundle 2025-07-18 14:27:32 -04:00
.env.example chore: Update .env.example (#10) 2025-06-25 02:36:30 -04:00
.gitattributes chore(engine): set eol=lf for .pack files in .gitattributes (#889) 2024-09-18 20:21:12 -04:00
.gitignore feat: OnDemand server 2025-06-23 03:48:29 -04:00
.prettierignore feat: bzip2-wasm, incremental client packing 2024-02-17 14:41:05 -05:00
.prettierrc chore: Configured autoformatter for engine code 2024-02-01 12:15:33 -05:00
eslint.config.js chore: Removed unnecessary packages 2025-05-21 17:23:45 -04:00
LICENSE chore: Updated license copyright year 2025-03-06 20:24:55 -05:00
neptune.toml chore: Moved content references out of engine folder 2025-05-16 03:32:48 -04:00
package.json feat: Node-only option 2025-10-02 00:42:00 -04:00
README.md feat: Node-only option 2025-10-02 00:42:00 -04:00
tsconfig.json feat: Node-only option 2025-10-02 00:42:00 -04:00

Lost City - May 2, 2006

Note

Learn about our history and ethos on our forum: https://lostcity.rs/t/faq-what-is-lost-city/16

Reverse-engineered engine code designed to accurately simulate the cycle behaviors of early RS2. Contains the necessary data tools and compatible network protocol.

Game data is in the Content repository.

The project organizes historical versions into branches. You will need matching engine and content branches together to run the project.

Getting Started

Important

If you run into issues, please see our common issues.

The Server repository will simplify setup for most users. Download that repository and follow the instructions there.

Manual Setup

In absence of the Server scripts, download the specific engine and content repositories/branches you desire and extract them to the same parent folder.

git clone https://github.com/LostCityRS/Engine-TS -b 377-wip --single-branch engine
git clone https://github.com/LostCityRS/Content -b 377-wip --single-branch content
cd engine
bun start

* use --single-branch when you don't need to track the commit history of all versions

Client

Client-Java is available for all versions. This is a research project to decompile and understand the original code. It has minor fixes for OS and Java compatibility.

Client-TS may be available depending on the version. This is a human-driven port of the original code to modern browsers. This gets prebuilt and included in this repository if available.

You can use the original obfuscated compiled applet from this time period with these arguments: java -cp runescape.jar client 10 0 highmem members 32
Be aware it may have compatibility issues (that are addressed in the Client-Java repository).

Dependencies

  • NodeJS 22 - YMMV using other LTS versions.
  • Java 17 - later LTS versions are also fine.

Tip

If you're using VS Code (recommended), we have an extension to install on the marketplace.

Workflow

Content developers should run npm start. The server will watch for changes to scripts and configs, then automatically repack everything.

Engine developers should run npm run dev. This does what npm start does above, but also completely restarts the server when engine code has changed.

Common Issues

  • '"java"' is not recognized as an internal or external command

You do not have Java installed. See dependencies above.

  • XXXXX has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

You are using Java 8 or Java 11. If you have multiple Java versions, you will need to set JAVA_PATH=path-to-java.exe in your .env file manually.

License

This project is licensed under the MIT License. See the LICENSE file for details.