====== Information ======
* Lost City ''225'' Server + Client
* [[https://lostcity.rs/t/singleplayer-main-branch-scripts-and-desktop-start-launchers-on-windows-linux-freebsd/54|Lost City Forums]]
===== Media =====
* [[https://media.realmofespionage.xyz/index/category/2|Progress Pics]]
* [[https://www.youtube.com/watch?v=o-HlDZREEAw|Full install video]]
===== Prerequisites =====
* [[windows:10|Windows 10 (21H2)]]
* [[programs;windows;git|Git]]
* [[windows;notes;edge_tweaks|Microsoft Edge]]
====== Dependencies ======
* https://github.com/LostCityRS/Engine-TS/blob/225/README.md#dependencies
===== Java =====
* https://learn.microsoft.com/en-us/java/openjdk/overview
==== 25 ====
* https://aka.ms/download-jdk/microsoft-jdk-25-windows-x64.msi
* Last tested: ''microsoft-jdk-25.0.1-windows-x64.msi''
* Entire feature install of ''Microsoft Build of OpenJDK''
===== Bun =====
* https://bun.com/
* https://github.com/oven-sh/bun
* Latest [[https://github.com/oven-sh/bun/releases/latest/download/bun-windows-x64.zip|bun-windows-x64.zip]] (([[https://github.com/oven-sh/bun/releases/latest/download/bun-windows-x64-baseline.zip|baseline]] for older CPU, [[https://bun.com/docs/installation#baseline-builds|more info]]))
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\ext" & DEL /Q "%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" & "curl.exe" --output "%UserProfile%\Downloads\bun-windows-x64.zip" --location "https://github.com/oven-sh/bun/releases/latest/download/bun-windows-x64.zip" && "tar.exe" -xvf "%UserProfile%\Downloads\bun-windows-x64.zip" --strip-components="1" -C "%UserProfile%\Projects\LostCity-225-EngineTS\ext" "bun-windows-x64/bun.exe" && "%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" -v
===== Node.js =====
* https://nodejs.org/en/about
* Latest [[https://nodejs.org/download/release/latest/win-x64/node.exe|win-x64/node.exe]]
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\ext" & DEL /Q "%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe" & "curl.exe" --output "%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe" --location "https://nodejs.org/download/release/latest/win-x64/node.exe" && "%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe" -v
====== Download Source ======
===== Engine-TS =====
* https://github.com/LostCityRS/Engine-TS/commits/225/
"%ProgramFiles%\Git\bin\git.exe" clone --branch "225" --depth "1" --recurse-submodules "https://github.com/LostCityRS/Engine-TS.git" "%UserProfile%\Projects\LostCity-225-EngineTS\src"
===== Content =====
* https://github.com/LostCityRS/Content/commits/225/
"%ProgramFiles%\Git\bin\git.exe" clone --branch "225" --depth "1" --recurse-submodules "https://github.com/LostCityRS/Content.git" "%UserProfile%\Projects\LostCity-225-EngineTS\content"
====== Initial Build ======
****
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" --cwd="%UserProfile%\Projects\LostCity-225-EngineTS\src" install
====== Set-up ======
* Set up as a development world
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" --cwd="%UserProfile%\Projects\LostCity-225-EngineTS\src" run "setup"
====== Settings ======
* Last commit: [[https://github.com/LostCityRS/Engine-TS/commit/de5fa4db73add4e7277f0a9045d6eeb3a0800f59|Jun 25, 2025]] ''de5fa4d''
* [[https://github.com/LostCityRS/Engine-TS/commits/225/.env.example|New commits check]]
* [[https://github.com/LostCityRS/Engine-TS/blob/225/.env.example|Upstream Settings]] ([[https://raw.githubusercontent.com/LostCityRS/Engine-TS/refs/heads/225/.env.example|raw]])
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\conf" & "notepad.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\conf\localhost.env"
NODE_XPRATE=1
NODE_PROFILE=localhost
NODE_STAFF=Test
NODE_DEBUGPROC_CHAR=:
NODE_CLIENT_ROUTEFINDER=false
# End
====== Scripts ======
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\scripts"
"explorer.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\scripts"
===== Server Start =====
* http://localhost:80/rs2.cgi
"notepad.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-start.bat"
@echo off
TITLE 2004Scape Server
CD "%Temp%"
SET "NODE=%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe"
SET "_JAVA_OPTIONS=--sun-misc-unsafe-memory-access=allow"
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" --env-file="%UserProfile%\Projects\LostCity-225-EngineTS\conf\localhost.env" --cwd="%UserProfile%\Projects\LostCity-225-EngineTS\src" run "quickstart" || EXIT "1"
SET "NODE="
SET "_JAVA_OPTIONS="
:: End
"%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-start.bat"
===== Server Update =====
"notepad.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-update.bat"
@echo off
TITLE 2004Scape Updater
CD "%Temp%"
"%ProgramFiles%\Git\bin\git.exe" -C "%UserProfile%\Projects\LostCity-225-EngineTS\src" reset --hard "origin/225"
"%ProgramFiles%\Git\bin\git.exe" -C "%UserProfile%\Projects\LostCity-225-EngineTS\src" pull origin "225" --rebase
"%ProgramFiles%\Git\bin\git.exe" -C "%UserProfile%\Projects\LostCity-225-EngineTS\content" reset --hard "origin/225"
"%ProgramFiles%\Git\bin\git.exe" -C "%UserProfile%\Projects\LostCity-225-EngineTS\content" pull origin "225" --rebase
DEL /Q "%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe"
"curl.exe" --output "%UserProfile%\Downloads\bun-windows-x64.zip" --location "https://github.com/oven-sh/bun/releases/latest/download/bun-windows-x64.zip"
"tar.exe" -xf "%UserProfile%\Downloads\bun-windows-x64.zip" --strip-components="1" -C "%UserProfile%\Projects\LostCity-225-EngineTS\ext" "bun-windows-x64/bun.exe"
DEL /Q "%UserProfile%\Downloads\bun-windows-x64.zip"
"curl.exe" --output "%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe" --location "https://nodejs.org/download/release/latest/win-x64/node.exe"
SET "NODE=%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe"
SET "PATH=%PATH%;%UserProfile%\Projects\LostCity-225-EngineTS\ext"
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" --cwd="%UserProfile%\Projects\LostCity-225-EngineTS\src" run "clean"
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" --cwd="%UserProfile%\Projects\LostCity-225-EngineTS\src" install
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" --cwd="%UserProfile%\Projects\LostCity-225-EngineTS\src" run "setup"
MSG %USERNAME% /TIME:"2" "2004Scape localhost server update complete"
:: End
"%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-update.bat"
===== Save Data Back-up =====
"notepad.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-save-backup.bat"
@echo off
CD "%Temp%"
"tar.exe" -czf "%UserProfile%\Downloads\%RANDOM%-2004Scape-localhost-Saves.tar.gz" -C "%UserProfile%\Projects\LostCity-225-EngineTS\src\data\players" "localhost"
MSG %USERNAME% /TIME:"2" "2004Scape Save Data Backed-up Successfully to Downloads"
:: End
"%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-save-backup.bat"
====== Extras ======
===== Icon =====
* https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico ([[https://drive.google.com/file/d/1T_v-_KVylhmrb7JKWElaYqhPiKbia8Jr/view?usp=sharing|mirror]])
* Copies to ''src\public\favicon.ico'' for browser windows to show favicon
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\ext" & DEL /Q "%Temp%\2004Scape-favicon.ico" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\favicon.ico" "%UserProfile%\Projects\LostCity-225-EngineTS\src\public\favicon.ico" & "curl.exe" --output "%Temp%\2004Scape-favicon.ico" --location "https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico" && "certutil.exe" -hashfile "%Temp%\2004Scape-favicon.ico" SHA384 | FIND "c70ef71357951b3c1895cf205746eb93959cf8031d1f83b6f43d8a9efbb272d79ed6b4a64fb1c39f6898ed56601bfc63" && MOVE /Y "%Temp%\2004Scape-favicon.ico" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\favicon.ico" && COPY /Y "%UserProfile%\Projects\LostCity-225-EngineTS\ext\favicon.ico" "%UserProfile%\Projects\LostCity-225-EngineTS\src\public\favicon.ico"
===== Map =====
* https://runescape.wiki/w/World_map#/media/File:June_2004_Map.jpg ([[https://drive.google.com/file/d/1V_nMvkDwE__dtokzG0xaytUwrqOtGKMO/view?usp=sharing|mirror]])
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\ext" & DEL /Q "%Temp%\June_2004_Map.jpg" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\June_2004_Map.jpg" & "curl.exe" --output "%Temp%\June_2004_Map.jpg" --location "https://runescape.wiki/images/June_2004_Map.jpg?35d17" && "certutil.exe" -hashfile "%Temp%\June_2004_Map.jpg" SHA384 | FIND "abfdfe4597975addbb9d79d2cce2e56f0054f2742f351bd9dc700f55e91157e6c2142749f113927b027ed42efb8ad833" && MOVE /Y "%Temp%\June_2004_Map.jpg" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\June_2004_Map.jpg"
==== Chaos Altar ====
* https://oldschool.runescape.wiki/w/File:Chaos_Altar_map.png
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\ext" & DEL /Q "%Temp%\Chaos_Altar_map.png" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\Chaos_Altar_map.png" & "curl.exe" --output "%Temp%\Chaos_Altar_map.png" --location "https://oldschool.runescape.wiki/images/Chaos_Altar_map.png?71a3b" && "certutil.exe" -hashfile "%Temp%\Chaos_Altar_map.png" SHA384 | FIND "64dc7c294ec5978bcfb3865d6a65dccb1e35e8964b65c1bc6ea98c228a1663924a297093952c1bd57c63c0cb4a4b7b45" && MOVE /Y "%Temp%\Chaos_Altar_map.png" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\Chaos_Altar_map.png"
===== SC55_zzdenis SoundFont =====
* https://lostcity.rs/t/different-soundfonts-midi/4861 ([[https://www.youtube.com/watch?v=mVPLVDXJjUY|video]])
* https://www.doomworld.com/forum/topic/129928-new-sc55-soundfont-266mb-all-new-441k-samples/
* https://drive.google.com/file/d/1wdYpwoCka8r7ZuIzPn1CHy13_4aP9oSq/view?usp=sharing
* ''298,185,428 SC55_zzdenis_v0.5.sf2''
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\ext" & "certutil.exe" -hashfile "%UserProfile%\Downloads\SC55_zzdenis_v0.5.sf2" SHA384 | FIND "f386f638777072fc220e39afbd7efcd227ca2bfcf13403bf47fbb2e2b8f4d151239710cc36c8530a75c3b4c3f55066b7" && MOVE /Y "%UserProfile%\Downloads\SC55_zzdenis_v0.5.sf2" "%UserProfile%\Projects\LostCity-225-EngineTS\ext"
DEL /Q "%UserProfile%\Projects\LostCity-225-EngineTS\src\public\client\SCC1_Florestan.sf2" && MKLINK "%UserProfile%\Projects\LostCity-225-EngineTS\src\public\client\SCC1_Florestan.sf2" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\SC55_zzdenis_v0.5.sf2"
DIR "%UserProfile%\Projects\LostCity-225-EngineTS\src\public\client\SCC1_Florestan.sf2"
==== Update Script ====
* Above ''MSG'' line
"notepad.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-update.bat"
:: SC55_zzdenis_v0.5.sf2
DEL /Q "%UserProfile%\Projects\LostCity-225-EngineTS\src\public\client\SCC1_Florestan.sf2"
MKLINK "%UserProfile%\Projects\LostCity-225-EngineTS\src\public\client\SCC1_Florestan.sf2" "%UserProfile%\Projects\LostCity-225-EngineTS\ext\SC55_zzdenis_v0.5.sf2"
:: SF End
===== Login Autofill =====
* [[https://github.com/2004Scape/Server/issues/1498|#1498]]
* Modifies ''client.js'' to have pre-filled username/password
"notepad.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-autologin-sed.sh"
#!/bin/sh
cd '/tmp'
'/usr/bin/sed' -i -e 's/usernameInput="";passwordInput=""/usernameInput="Espionage724";passwordInput="1"/g' ~/'Projects/LostCity-225-EngineTS/src/public/client/client.js'
# End
"%ProgramFiles%\Git\bin\sh.exe" -- "%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-autologin-sed.sh"
==== Update Script ====
* Above ''MSG'' line
"notepad.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-update.bat"
:: Login Autofill
"%ProgramFiles%\Git\bin\sh.exe" -- "%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-autologin-sed.sh"
:: Autofill End
====== Launcher Shortcuts ======
===== Desktop =====
==== Server Start ====
"%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-start.bat"
2004Scape Server
==== Client ====
"%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge_proxy.exe" --proxy-server="localhost:80" --kiosk --edge-kiosk-type="public-browsing" --new-window --window-size="815,600" --app="http://localhost:80/rs2.cgi"
2004Scape
=== Icon ===
****
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\favicon.ico"
===== Start Menu =====
****
MKDIR "%AppData%\Microsoft\Windows\Start Menu\Programs\2004Scape" & "explorer.exe" "%AppData%\Microsoft\Windows\Start Menu\Programs\2004Scape"
==== Server Start ====
"%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-start.bat"
Server Start
==== Client ====
"%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge_proxy.exe" --proxy-server="localhost:80" --kiosk --edge-kiosk-type="public-browsing" --new-window --window-size="815,600" --app="http://localhost:80/rs2.cgi"
2004Scape (localhost)
=== Icon ===
****
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\favicon.ico"
==== Update ====
"%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-server-update.bat"
Updater
==== Save Backup ====
"%UserProfile%\Projects\LostCity-225-EngineTS\scripts\localhost-save-backup.bat"
Save Back-up
==== Save Folder ====
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\src\data\players\localhost"
"%UserProfile%\Projects\LostCity-225-EngineTS\src\data\players\localhost"
Save Folder
==== World Map ====
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\June_2004_Map.jpg"
World Map
==== Chaos Altar Map ====
"%UserProfile%\Projects\LostCity-225-EngineTS\ext\Chaos_Altar_map.png"
Chaos Altar Map
==== Install Notes ====
"https://wiki.realmofespionage.xyz/games;windows;2004scape_localhost"
Install Notes
====== Quick Commands ======
===== Save Restore =====
* ''data\players\localhost\espionage724.sav''
MKDIR "%UserProfile%\Projects\LostCity-225-EngineTS\src\data\players\localhost" & "explorer.exe" "%UserProfile%\Projects\LostCity-225-EngineTS\src\data\players\localhost"
===== Firewall TODO =====
==== Node ====
****
"netsh.exe" advfirewall firewall add rule name="2004Scape localhost Server (node.exe)" dir="in" action="block" profile="any" program="%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe" & "netsh.exe" advfirewall firewall add rule name="2004Scape localhost Server (node.exe)" dir="out" action="block" profile="any" program="%UserProfile%\Projects\LostCity-225-EngineTS\ext\node.exe"
=== Delete Rules ===
****
"netsh.exe" advfirewall firewall delete rule name="2004Scape localhost Server (node.exe)"
==== Bun ====
****
"netsh.exe" advfirewall firewall add rule name="2004Scape localhost Server (bun.exe)" dir="in" action="block" profile="any" program="%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe"
=== Delete Rule ===
****
"netsh.exe" advfirewall firewall delete rule name="2004Scape localhost Server (bun.exe)"
=== Allow LAN ===
* Needs above Bun block rule deleted first
"netsh.exe" advfirewall firewall add rule name="2004Scape localhost Server (bun.exe)" dir="in" action="allow" profile="any" program="%UserProfile%\Projects\LostCity-225-EngineTS\ext\bun.exe" protocol="tcp" localport="80" remoteip="localsubnet"