====== 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"