No description
Find a file
2026-08-15 22:24:53 -04:00
.github/workflows chore: Replaced bcrypt with bcrypt-ts 2026-05-25 11:01:30 -04:00
.husky chore: Use bun instead of npx for husky 2025-08-28 10:19:35 -04:00
.vscode feat: Packer improvements from 377-wip 2025-09-08 13:54:37 -04:00
data chore: Synced engine with 289 improvements 2026-08-15 22:24:53 -04:00
prisma refactor!: Cleaned up DB schema 2025-12-29 12:26:23 -05:00
public chore: Updated editor bundle to not use ondemand.zip 2026-05-25 17:46:37 -04:00
src chore: Synced engine with 289 improvements 2026-08-15 22:24:53 -04:00
tools chore: Synced engine with 289 improvements 2026-08-15 22:24:53 -04:00
view fix: (274) Improved Vertical Auto-sizing and Vertical Centering (#99) 2026-05-31 21:24:36 -04:00
.editorconfig chore: Added editorconfig, run prettier on staged files 2026-04-03 02:58:23 -04:00
.gitattributes chore(engine): set eol=lf for .pack files in .gitattributes (#889) 2024-09-18 20:21:12 -04:00
.gitignore chore: Back to node as the primary runtime 2026-05-22 23:06:41 -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: Synced engine with 289 improvements 2026-08-15 22:24:53 -04:00
LICENSE feat: Worldmap updates 2026-01-21 15:35:01 -05:00
package-lock.json chore: Synced engine with 289 improvements 2026-08-15 22:24:53 -04:00
package.json chore: Synced engine with 289 improvements 2026-08-15 22:24:53 -04:00
README.md chore: Back to node as the primary runtime 2026-05-22 23:06:41 -04:00
tsconfig.json chore: Back to node as the primary runtime 2026-05-22 23:06:41 -04:00

Lost City - November 23, 2004

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 274 --single-branch engine
git clone https://github.com/LostCityRS/Content -b 274 --single-branch content
cd engine
npm start

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

Open http://localhost:8898/setup to configure world settings. This page reads and writes data/config/world.json through the management server.

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

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.

License

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