====== 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/acc1559dd529e41c2f439c65b20d70e5d05882c4|~acc1559]]
===== Media =====
* [[https://www.youtube.com/watch?v=1ew1fePXCzU|Launcher Presentation Video]]
* [[https://media.realmofespionage.xyz/index/category/2|Progress Pics]]
===== Prerequisites =====
* [[bsd;freebsd_14.2_xfce|FreeBSD 14.2 (Xfce)]]
===== 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
su -
pkg install git openjdk23 npm-node23
====== Download Source ======
* https://github.com/2004Scape/Server/commits/main/
cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/2004Scape-Server/src' && git clone --branch 'main' --depth '1' --recurse-submodules 'https://github.com/2004Scape/Server.git' ~/'Projects/2004Scape-Server/src' && sync
====== Initial Build ======
****
cd ~/'Projects/2004Scape-Server/src' && npm install --verbose
====== Set-up ======
* Set up as a development world
cd ~/'Projects/2004Scape-Server/src' && npm run 'setup'
====== Scripts ======
===== Server Start =====
mkdir -p ~/'Projects/2004Scape-Server/scripts' && ee ~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh'
#!/bin/sh
cd ~/'Projects/2004Scape-Server/src'
export JAVA_HOME='/usr/local/openjdk23'
npm run 'quickstart'
# End
~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh'
===== Server Update =====
mkdir -p ~/'Projects/2004Scape-Server/scripts' && ee ~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh' && chmod +x ~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh'
#!/bin/sh
git -C ~/'Projects/2004Scape-Server/src' reset --hard
git -C ~/'Projects/2004Scape-Server/src' pull origin 'main' --rebase
cd ~/'Projects/2004Scape-Server/src'
npm run 'clean'
npm install
npm run 'setup'
notify-send -i ~/'Projects/2004Scape-Server/ext/favicon.ico' '2004Scape localhost server update complete'
# End
~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh'
===== Save Data Back-up =====
mkdir -p ~/'Projects/2004Scape-Server/scripts' && ee ~/'Projects/2004Scape-Server/scripts/localhost-save-backup.sh' && chmod +x ~/'Projects/2004Scape-Server/scripts/localhost-save-backup.sh'
#!/bin/sh
tar -czf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-2004Scape-Server-localhost-Saves.tar.gz' -C ~/'Projects/2004Scape-Server/src/data/players' 'main'
sync
notify-send -i ~/'Projects/2004Scape-Server/ext/favicon.ico' '2004Scape Save Data Backed-up Successfully to Downloads'
# End
~/'Projects/2004Scape-Server/scripts/localhost-save-backup.sh'
====== Extras ======
===== Icon =====
* https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico
rm -f '/tmp/2004Scape-favicon.ico' && mkdir -p ~/'Projects/2004Scape-Server/ext' && wget -O '/tmp/2004Scape-favicon.ico' 'https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico' && md5sum '/tmp/2004Scape-favicon.ico' | grep '670279cda359776b37225b715e58d455' && mv -f '/tmp/2004Scape-favicon.ico' ~/'Projects/2004Scape-Server/ext/favicon.ico' && ls ~/'Projects/2004Scape-Server/ext/favicon.ico'
===== Map =====
* https://runescape.wiki/w/World_map#/media/File:June_2004_Map.jpg
rm -f '/tmp/June_2004_Map.jpg' && mkdir -p ~/'Projects/2004Scape-Server/ext' && wget -O '/tmp/June_2004_Map.jpg' 'https://runescape.wiki/images/June_2004_Map.jpg?35d17' && md5sum '/tmp/June_2004_Map.jpg' | grep 'db65d3db84504ad8b1df6cafdb72e267' && mv -f '/tmp/June_2004_Map.jpg' ~/'Projects/2004Scape-Server/ext/June_2004_Map.jpg' && ls ~/'Projects/2004Scape-Server/ext/June_2004_Map.jpg'
====== Desktop Launcher ======
===== 2004Scape =====
mkdir -p ~/'.local/share/applications' && ee ~/'.local/share/applications/2004Scape-localhost.desktop' && sed -i -e 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/2004Scape-localhost.desktop' && update-desktop-database --quiet ~/'.local/share/applications'
[Desktop Entry]
Name=2004Scape
Categories=Game;
Exec='/bin/sh' -c "gio open 'http://localhost:8888/rs2.cgi'"
Type=Application
StartupNotify=false
Icon=/home/CHANGEME/Projects/2004Scape-Server/ext/favicon.ico
Actions=Map;Server;Update;Saves-Backup;Saves-Folder;Updates-Check;Notes;
[Desktop Action Map]
StartupNotify=false
Exec='/bin/sh' -c "gio open ~/'Projects/2004Scape-Server/ext/June_2004_Map.jpg'"
Name=World Map
[Desktop Action Server]
Exec='/bin/sh' -c "xfce4-terminal -T '2004Scape — Server' -I ~/'Projects/2004Scape-Server/ext/favicon.ico' -e ~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh'"
Name=Start Server
[Desktop Action Update]
Exec='/bin/sh' -c "xfce4-terminal -T '2004Scape — Updater' -I ~/'Projects/2004Scape-Server/ext/favicon.ico' -e ~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh'"
Name=Server Update
[Desktop Action Saves-Backup]
StartupNotify=false
Exec='/bin/sh' -c "~/'Projects/2004Scape-Server/scripts/localhost-save-backup.sh'"
Name=Save Data Back-up
[Desktop Action Saves-Folder]
StartupNotify=false
Exec='/bin/sh' -c "gio open ~/'Projects/2004Scape-Server/src/data/players'"
Name=Open Saves Folder
[Desktop Action Updates-Check]
StartupNotify=false
Exec='/bin/sh' -c "gio open 'https://github.com/2004Scape/Server/commits/main/'"
Name=Commits Check
[Desktop Action Notes]
StartupNotify=false
Exec='/bin/sh' -c "gio open 'https://wiki.realmofespionage.xyz/games:bsd:2004scape_localhost'"
Name=Installation Notes
# End
====== Quick Commands ======
===== Execute =====
* http://localhost:8888/rs2.cgi
cd ~/'Projects/2004Scape-Server/src' && JAVA_HOME='/usr/local/openjdk23' npm run 'quickstart' --verbose
===== Update =====
* https://github.com/2004Scape/Server/commits/main/
git -C ~/'Projects/2004Scape-Server/src' reset --hard && git -C ~/'Projects/2004Scape-Server/src' pull origin 'main' --rebase && cd ~/'Projects/2004Scape-Server/src' && npm run 'clean' && npm 'ci' && npm run 'setup'
===== Save Data Back-up =====
****
tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-2004Scape-Server-localhost-Saves.tar.gz' -C ~/'Projects/2004Scape-Server/src/data/players' 'main'
===== File Manager =====
==== Saves ====
* :?: Restoring a ''.sav'' may require logging in once to Tutorial Island, logging out, then re-restoring the ''.sav''
mkdir -p ~/'Projects/2004Scape-Server/src/data/players' && gio open ~/'Projects/2004Scape-Server/src/data/players'