====== 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 Linux (see [[windows:servers:games:2004scape_localhost|these notes]] for Windows)
===== Media =====
* [[https://www.youtube.com/watch?v=E21y7rLZaNc|Desktop Launcher Presentation Video]]
* [[https://www.facebook.com/media/set/?set=a.1020728566088031|My Progress Photo Album]]
===== Prerequisites =====
* [[distros:fedora_workstation_gnome|Fedora Workstation (GNOME)]]
===== 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#environment-dependencies
sudo dnf install git nodejs java-latest-openjdk-headless
====== Download Source ======
****
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
====== Desktop Launcher ======
===== 2004Scape =====
mkdir -p ~/'.local/share/applications/' && nano ~/'.local/share/applications/2004Scape-localhost.desktop' && sed -i '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/bash' -c "gio open 'http://localhost:8888'"
#Exec='/bin/bash' -c "gio open 'https://2004scape.org/detail'"
Type=Application
StartupNotify=false
Icon=/home/CHANGEME/Projects/2004Scape-Server/src/public/favicon.ico
Actions=Server;Update;Saves;Notes;
[Desktop Action Server]
Exec='/bin/bash' -c "~/'Projects/2004Scape-Server/localhost-server-start.sh'"
Name=Launch Local Server
[Desktop Action Update]
Exec='/bin/bash' -c "gnome-terminal --title='2004Scape localhost Updater' -- ~/'Projects/2004Scape-Server/localhost-server-update.sh'"
Name=Update Local Server
[Desktop Action Saves]
StartupNotify=false
Exec='/bin/bash' -c "~/'Projects/2004Scape-Server/localhost-save-backup.sh'"
Name=Save Data Back-up
[Desktop Action Notes]
StartupNotify=false
Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/servers:games:2004scape_localhost'"
Name=Installation Notes
# End
==== Scripts ====
=== Server Start ===
nano ~/'Projects/2004Scape-Server/localhost-server-start.sh' && chmod +x ~/'Projects/2004Scape-Server/localhost-server-start.sh'
#!/bin/bash
cd ~/'Projects/2004Scape-Server/src'
gnome-terminal --title='2004Scape localhost Server' -- npm start
# End
=== Server Update ===
nano ~/'Projects/2004Scape-Server/localhost-server-update.sh' && chmod +x ~/'Projects/2004Scape-Server/localhost-server-update.sh'
#!/bin/bash
gio open '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
read -n '1' -s -r -p 'If there are no updates, Ctrl + C to terminate, or Press any key to continue.'
sleep '1'
cd ~/'Projects/2004Scape-Server/src'
npm run 'clean'
read -n '1' -s -r -p 'Done! Press any key to exit.'
# End
=== Save Data Back-up ===
nano ~/'Projects/2004Scape-Server/localhost-save-backup.sh' && chmod +x ~/'Projects/2004Scape-Server/localhost-save-backup.sh'
#!/bin/bash
tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-2004Scape-Server-localhost-Saves.tar.gz' -C ~/'Projects/2004Scape-Server/src/data' 'players'
sync
notify-send '2004Scape Save Data Backed-up Successfully to Downloads'
gio open ~/'Downloads/'
# End
====== Quick Commands ======
===== Execute =====
==== Server ====
cd ~/'Projects/2004Scape-Server/src' && npm start
~/'Projects/2004Scape-Server/localhost-server-start.sh'
==== Client ====
* http://localhost:8888
===== 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'
~/'Projects/2004Scape-Server/localhost-server-update.sh'
gnome-terminal -- ~/'Projects/2004Scape-Server/localhost-server-update.sh'
===== Save Data Back-up =====
mkdir -p ~/'Projects/2004Scape-Server/src/data/players/' && gio open ~/'Projects/2004Scape-Server/src/data/players/'
~/'Projects/2004Scape-Server/localhost-save-backup.sh'
===== npm =====
* Lists available ''npm'' commands
cd ~/'Projects/2004Scape-Server/src/' && npm run
===== Other Browsers =====
* Useful for standalone-like client launching
* Convenient for external screenshot tools and OBS window captures
==== Chromium ====
sudo dnf install 'chromium'
* TODO
==== Surf ====
* Ctrl + r to refresh to workaround audio bugs (logout first to avoid 60s timeout)
* F11 to exit Fullscreen
* :!: In-client **Take screenshot** does not work (use Print Screen key or external screenshot tool)
* :?: Sometimes this stays open in the background and plays music even when ''Ctrl + C'''d from Terminal
sudo dnf install 'surf'
GDK_BACKEND='x11' surf -a 'a' -b -D -f -g -I -k -m -n -S -t -x 'http://localhost:8888'
pkill 'surf'
===== File Manager =====
==== Root ====
****
gio open ~/'Projects/2004Scape-Server/src/'