====== Information ======
* 2004Scape Server ((https://github.com/2004Scape/Server))
* These notes provide a local single-player server for 2004Scape ((RSPS/RuneScape Private Server based on cache ''225'' from May 18th, 2004))
* Last tested commit: [[https://github.com/2004Scape/Server/commit/910f1910c1f489503e3885cebcff62c75f45b1a1|910f191]]
===== Media =====
* [[https://www.youtube.com/watch?v=RFmbHS4w9mU|Desktop and Start Menu Shortcuts Presentation Video]]
* [[https://media.realmofespionage.xyz/index/category/2|Progress Pics]]
===== Prerequisites =====
* [[windows:10|Windows 10 (21H2)]]
* [[windows;11_ltsc|Windows 11 (24H2)]]
===== Resources =====
* [[https://lostcity.rs/t/singleplayer-main-branch-scripts-and-desktop-start-launchers-on-windows-linux-freebsd/54|Lost City Forums]]
* [[https://2004.lostcity.rs/worldmap|World Map]] (interactive)
====== Dependencies ======
* https://github.com/2004Scape/Server?tab=readme-ov-file#dependencies
===== Git =====
* https://gitforwindows.org/
* Last tested: ''Git-2.49.0-64-bit.exe''
* No components required
* Git from the command line and also from 3rd-party software
===== Java =====
* https://learn.microsoft.com/en-us/java/openjdk/download#openjdk-21
* Last tested: ''microsoft-jdk-21.0.6-windows-x64.msi''
* Entire feature install of ''Microsoft Build of OpenJDK''
===== Node.js =====
* https://nodejs.org/en/download
* Last tested: ''node-v22.14.0-x64.msi''
* [x] Node.js runtime
* [x] npm package manager
* Add to PATH -> [x] Node.js and npm
* corepack manager, Online documentation shortcuts, PATH npm modules not required
* Tools for Native Modules not required (leave auto-install necessary tools unchecked)
====== Download Source ======
* https://github.com/2004Scape/Server/commits/main/
"%ProgramFiles%\Git\bin\git.exe" clone --branch "main" --depth "1" --recurse-submodules "https://github.com/2004Scape/Server.git" "%UserProfile%\Projects\2004Scape-Server\src"
====== Initial Build ======
****
CD "%UserProfile%\Projects\2004Scape-Server\src" && "%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" install --verbose
====== Set-up ======
* Set up as a development world
"%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" run "setup"
====== Scripts ======
****
MKDIR "%UserProfile%\Projects\2004Scape-Server\scripts"
===== Server Start =====
"notepad.exe" "%UserProfile%\Projects\2004Scape-Server\scripts\localhost-server-start.bat"
@echo off
"%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" run "quickstart"
:: End
"%UserProfile%\Projects\2004Scape-Server\scripts\localhost-server-start.bat"
===== Server Update =====
"notepad.exe" "%UserProfile%\Projects\2004Scape-Server\scripts\localhost-server-update.bat"
@echo off
"%ProgramFiles%\Git\bin\git.exe" -C "%UserProfile%\Projects\2004Scape-Server\src" reset --hard
"%ProgramFiles%\Git\bin\git.exe" -C "%UserProfile%\Projects\2004Scape-Server\src" pull origin "main" --rebase
"%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" run "clean"
CD "%UserProfile%\Projects\2004Scape-Server\src"
"%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" install --verbose
"%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" run "setup"
:: End
"%UserProfile%\Projects\2004Scape-Server\scripts\localhost-server-update.bat"
===== Save Data Back-up =====
"notepad.exe" "%UserProfile%\Projects\2004Scape-Server\scripts\localhost-save-backup.bat"
@echo off
"tar.exe" -czf "%UserProfile%\Downloads\%RANDOM%-2004Scape-Server-localhost-Saves.tar.gz" -C "%UserProfile%\Projects\2004Scape-Server\src\data\players" "main"
:: End
"%UserProfile%\Projects\2004Scape-Server\scripts\localhost-save-backup.bat"
====== Firewall ======
===== Block =====
****
"netsh.exe" advfirewall firewall add rule name="2004Scape localhost Server (node.exe)" dir="in" action="block" profile="any" program="%ProgramFiles%\nodejs\node.exe" protocol="tcp" localport="80"
===== LAN =====
* Allows loading the game applet/connecting on other devices on LAN ((2024/11/09: Works on Xbox One Edge with physical keyboard for log-in; controller works in-game flawlessly; :?: may work better 2025 with touch/phone improvements))
* :!: Can't have above block rule enabled at the same time
"netsh.exe" advfirewall firewall add rule name="2004Scape localhost Server (node.exe)" dir="in" action="allow" profile="any" program="%ProgramFiles%\nodejs\node.exe" protocol="tcp" localport="80" remoteip="localsubnet"
===== Delete Rule =====
****
"netsh.exe" advfirewall firewall delete rule name="2004Scape localhost Server (node.exe)"
====== Extras ======
****
MKDIR "%UserProfile%\Projects\2004Scape-Server\ext"
===== Map =====
* https://runescape.wiki/images/June_2004_Map.jpg?35d17 ([[https://runescape.wiki/w/World_map#/media/File:June_2004_Map.jpg|Source]])
"%UserProfile%\Projects\2004Scape-Server\ext\June_2004_Map.jpg"
===== Icon =====
* https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico
"%UserProfile%\Projects\2004Scape-Server\ext\favicon.ico"
===== Save Back to Downloads =====
* For Firefox to go back to default ''Downloads'' folder after above downloads
* https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico
"%UserProfile%\Downloads\favicon.ico"
DEL /Q "%UserProfile%\Downloads\favicon.ico"
====== Launcher Shortcuts ======
===== Desktop =====
* Right-click Desktop -> New -> Shortcut
==== Server Start ====
"%UserProfile%\Projects\2004Scape-Server\scripts\localhost-server-start.bat"
2004Scape Server
==== Client ====
"http://localhost:80/rs2.cgi"
2004Scape
=== Icon ===
****
"%UserProfile%\Projects\2004Scape-Server\ext\favicon.ico"
===== Start Menu =====
* Right-click -> New -> Shortcut
MKDIR "%AppData%\Microsoft\Windows\Start Menu\Programs\2004Scape"
"explorer.exe" "%AppData%\Microsoft\Windows\Start Menu\Programs\2004Scape"
==== Server Start ====
"%UserProfile%\Projects\2004Scape-Server\scripts\localhost-server-start.bat"
Server Start
==== Client ====
"http://localhost:80/rs2.cgi"
2004Scape (localhost)
=== Icon ===
****
"%UserProfile%\Projects\2004Scape-Server\ext\favicon.ico"
==== Update ====
"%UserProfile%\Projects\2004Scape-Server\scripts\localhost-server-update.bat"
Updater
==== Save Backup ====
"%UserProfile%\Projects\2004Scape-Server\scripts\localhost-save-backup.bat"
Save Back-up
==== Save Folder ====
MKDIR "%UserProfile%\Projects\2004Scape-Server\src\data\players"
"%UserProfile%\Projects\2004Scape-Server\src\data\players"
Save Folder
==== Commits Check ====
"https://github.com/2004Scape/Server/commits/main/"
Updates Check
==== World Map ====
"%UserProfile%\Projects\2004Scape-Server\ext\June_2004_Map.jpg"
World Map
==== Install Notes ====
"https://wiki.realmofespionage.xyz/games;windows;2004scape_localhost"
Install Notes
====== Quick Commands ======
===== Execute =====
==== Server ====
****
"%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" run "quickstart" --verbose
==== Client ====
* http://localhost:80/rs2.cgi
===== Update =====
* https://github.com/2004Scape/Server/commits/main/
"%ProgramFiles%\Git\bin\git.exe" -C "%UserProfile%\Projects\2004Scape-Server\src" reset --hard && "%ProgramFiles%\Git\bin\git.exe" -C "%UserProfile%\Projects\2004Scape-Server\src" pull origin "main" --rebase && "%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" run "clean" --verbose && "%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" "ci" --verbose && "%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" run "setup" --verbose
===== Save Data Back-up =====
* :!: The ''tar'' command replaces ''Downloads\2004Scape-Server-localhost-Saves.tar.gz'' each time without back-up or date codes
"explorer.exe" "%UserProfile%\Projects\2004Scape-Server\src\data\players"
"tar.exe" -cvzf "%UserProfile%\Downloads\2004Scape-Server-localhost-Saves.tar.gz" -C "%UserProfile%\Projects\2004Scape-Server\src\data\players" "main"
===== npm =====
* Lists available ''npm'' commands
"%ProgramFiles%\nodejs\node.exe" "%ProgramFiles%\nodejs\node_modules\npm\bin\npm-cli.js" --prefix "%UserProfile%\Projects\2004Scape-Server\src" run
CD "%UserProfile%\Projects\2004Scape-Server\src" && npm run
===== File Manager =====
==== Save Data ====
* :?: Restoring a ''.sav'' may require logging in once to Tutorial Island, logging out, then re-restoring the ''.sav''
MKDIR "%UserProfile%\Projects\2004Scape-Server\src\data\players\main"
"explorer.exe" "%UserProfile%\Projects\2004Scape-Server\src\data\players"
====== SoundFont Tests ======
"explorer.exe" "%UserProfile%\Projects\2004Scape-Server\src\public\client"
SCC1_Florestan.sf2
===== SoundFonts =====
* https://www.doomworld.com/forum/topic/115527-roland-sc-55-soundfonts-compared-500-soundfont-pack-w-download/?tab=comments#comment-2153630
* https://www.doomworld.com/forum/topic/136501-best-soundfonts/
* ''SC-55 SoundFont v1.2a1.sf2'' preferred
===== Symlink Test =====
"explorer.exe" "%UserProfile%\Projects\2004Scape-Server\src\public\client"
DEL /Q "%UserProfile%\Projects\2004Scape-Server\src\public\client\SCC1_Florestan.sf2" && MKLINK "%UserProfile%\Projects\2004Scape-Server\src\public\client\SCC1_Florestan.sf2" "%UserProfile%\Projects\2004Scape-Server\src\public\client\x"
* ''SC-55 SoundFont v1.2a1.sf2''
DEL /Q "%UserProfile%\Projects\2004Scape-Server\src\public\client\SCC1_Florestan.sf2" && MKLINK "%UserProfile%\Projects\2004Scape-Server\src\public\client\SCC1_Florestan.sf2" "%UserProfile%\Projects\2004Scape-Server\src\public\client\SC-55 SoundFont v1.2a1.sf2"