====== Information ====== * 2004Scape Server ((https://github.com/2004Scape/Server)) * ''main'' Branch ((https://github.com/2004Scape/Server/tree/main)) * These notes provide a local singleplayer server for 2004Scape ((RSPS/RuneScape Private Server based on cache ''225'' from May 18th, 2004)) on Windows (see [[games;linux;2004scape_localhost|these notes]] for Linux) ===== Media ===== * [[https://www.youtube.com/watch?v=RFmbHS4w9mU|Desktop and Start Menu Shortcuts Presentation Video]] * [[https://www.facebook.com/media/set/?set=a.1020728566088031|My Progress Photo Album]] ===== Prerequisites ===== * [[windows:10|Windows 10]] ((later use of ''tar'' commands for Save Data requires Windows 10 1803+; presumably fine on W11; [[https://rune-server.org/threads/lost-city-225-emulation.701698/page-4#post-5805881|can apparently run on XP too]])) ===== Resources ===== * [[https://www.2004scape.org/img/rs2/worldmap/worldmap2.jpg|World Map]] ==== Web ==== * [[https://github.com/2004scape/Server/wiki/Feature-Complete-Progress|Feature Complete Progress]] * [[https://github.com/orgs/2004Scape/projects/3|Progress - Quests]] * [[https://github.com/orgs/2004Scape/projects?query=is%3Aopen|Projects List]] * [[https://rune-server.org/threads/lost-city-225-emulation.701698/|Rune-Server Forums]] * [[https://rune-server.org/threads/lost-city-225-emulation.701698/page-4#post-5805881|Info post]] (Jul 3, 2024) ====== Dependencies ====== * https://github.com/2004Scape/Server?tab=readme-ov-file#getting-started * https://github.com/2004Scape/Server?tab=readme-ov-file#environment-dependencies * 2024/07/24: Git, Java, NodeJS ===== Git ===== * https://www.git-scm.com/download/win * Last tested: ''Git-2.46.0-64-bit.exe'' * :!: Git from the command line and also from 3rd-party software (make sure it's selected) ===== Java ===== * https://www.oracle.com/java/technologies/downloads/ * Last tested: ''jdk-22_windows-x64_bin.msi'' ===== Node.js ===== * https://nodejs.org/en/download/prebuilt-installer * Last tested: ''node-v22.6.0-x64.msi'' * Node.js runtime, npm package manager, Add to PATH (corepack manager and Online documentation not required) * Tools for Native Modules not required (leave "Automatically install the tools" unchecked) ====== Firewall ====== ===== LAN ===== * ''80'' TCP * ''43594'' TCP * ''43595'' TCP * Allows loading the game applet and connecting to the server from other devices on LAN * :!: This is optional if only doing ''localhost'' netsh advfirewall firewall add rule name="2004Scape Server" dir="in" action="allow" protocol="tcp" localport="80,43594,43595" remoteip="localsubnet" ====== Download Source ====== git clone --branch "main" --depth "1" --recurse-submodules "https://github.com/2004Scape/Server.git" "%UserProfile%\Projects\2004scape-server\src" explorer "%UserProfile%\Projects\2004scape-server\src" ====== Launcher Scripts ====== **** MKDIR "%UserProfile%\Projects\2004scape-server\scripts\" ===== Server Start ===== notepad "%UserProfile%\Projects\2004scape-server\scripts\localhost-server-start.bat" @echo off CD "%UserProfile%\Projects\2004scape-server\src\" npm start :: End ===== Server Update ===== notepad "%UserProfile%\Projects\2004scape-server\scripts\localhost-server-update.bat" @echo off start "" "https://github.com/2004Scape/Server/commits/main/" git -C "%UserProfile%\Projects\2004scape-server\src" reset --hard git -C "%UserProfile%\Projects\2004scape-server\src" pull origin "main" --rebase echo If there are no updates, Ctrl + C to terminate, or Press any key to continue. pause CD "%UserProfile%\Projects\2004scape-server\src\" npm run "clean" && pause :: End ==== Streamlined ==== notepad "%UserProfile%\Projects\2004scape-server\scripts\localhost-server-update.bat" @echo off git -C "%UserProfile%\Projects\2004scape-server\src" reset --hard git -C "%UserProfile%\Projects\2004scape-server\src" pull origin "main" --rebase CD "%UserProfile%\Projects\2004scape-server\src\" npm run "clean" && pause :: End ===== Save Data Back-up ===== notepad "%UserProfile%\Projects\2004scape-server\scripts\localhost-save-backup.bat" @echo off tar -cvzf "%UserProfile%\Downloads\%RANDOM%-2004Scape-Server-localhost-Saves.tar.gz" -C "%UserProfile%\Projects\2004scape-server\src\data" "players" echo 2004Scape Save Data Backed-up Successfully to Downloads explorer "%UserProfile%\Downloads\" pause :: End ====== Launcher Shortcuts ====== ===== Desktop ===== * Right-click Desktop -> New -> Shortcut ==== Server Start ==== "%UserProfile%\Projects\2004scape-server\scripts\localhost-server-start.bat" 2004Scape localhost Start ==== Client ==== http://localhost:80 2004Scape localhost === Icon === **** "%UserProfile%\Projects\2004scape-server\src\public\favicon.ico" ===== Start Menu ===== **** MKDIR "%AppData%\Microsoft\Windows\Start Menu\Programs\2004Scape\" ==== Shortcuts ==== * Right-click -> New -> Shortcut explorer "%AppData%\Microsoft\Windows\Start Menu\Programs\2004Scape\" === Server Start === "%UserProfile%\Projects\2004scape-server\scripts\localhost-server-start.bat" localhost Server Start === Client === http://localhost:80 localhost Client == Icon == **** "%UserProfile%\Projects\2004scape-server\src\public\favicon.ico" === Update === "%UserProfile%\Projects\2004scape-server\scripts\localhost-server-update.bat" localhost Server Updater === Save Backup === "%UserProfile%\Projects\2004scape-server\scripts\localhost-save-backup.bat" localhost Save Data Back-up === Install Notes === https://wiki.realmofespionage.xyz/games;windows;2004scape_localhost localhost Install Notes ====== Quick Commands ====== ===== Execute ===== ==== Server ==== CD "%UserProfile%\Projects\2004scape-server\src\" && npm start "%UserProfile%\Projects\2004scape-server\scripts\localhost-server-start.bat" ==== Client ==== * http://localhost:80 ===== Update ===== * https://github.com/2004Scape/Server/commits/main/ * :!: Running ''npm run clean'' requires starting the server once afterwards with an internet connection to download packages to start the server for playing offline git -C "%UserProfile%\Projects\2004scape-server\src" reset --hard && git -C "%UserProfile%\Projects\2004scape-server\src" pull origin "main" --rebase && CD "%UserProfile%\Projects\2004scape-server\src\" && npm run "clean" "%UserProfile%\Projects\2004scape-server\scripts\localhost-server-update.bat" ===== Save Data ===== ==== Back-up ==== * :!: The ''tar'' command replaces ''Downloads\2004Scape-Server-localhost-Saves.tar.gz'' each time without back-up or date codes explorer "%UserProfile%\Projects\2004scape-server\src\data\players\" tar -cvzf "%UserProfile%\Downloads\2004Scape-Server-localhost-Saves.tar.gz" -C "%UserProfile%\Projects\2004scape-server\src\data" "players" "%UserProfile%\Projects\2004scape-server\scripts\localhost-save-backup.bat" ==== Restore ==== * Expects ''Downloads\2004Scape-Server-localhost-Saves.tar.gz'' ((contents should look like ''\Downloads\2004Scape-Server-localhost-Saves.tar.gz\2004Scape-Server-localhost-Saves.tar\players\espionage724.sav'')) * :!: Backups made from the above [[#save_data_back-up|batch file]] need renamed to remove the ''%RANDOM%-'' characters to work as-is for the following ''tar'' command * :!: The ''DEL'' command deletes existing files in the ''data\players'' folder DEL /Q "%UserProfile%\Projects\2004scape-server\src\data\players\*" tar -xvzf "%UserProfile%\Downloads\2004Scape-Server-localhost-Saves.tar.gz" -C "%UserProfile%\Projects\2004scape-server\src\data" "players" ===== npm ===== * Lists available ''npm'' commands CD "%UserProfile%\Projects\2004scape-server\src\" && npm run ===== File Manager ===== ==== Root ==== **** explorer "%UserProfile%\Projects\2004scape-server\src\" ==== Save Data ==== **** explorer "%UserProfile%\Projects\2004scape-server\src\data\players\"