Both sides previous revisionPrevious revisionNext revision | Previous revision |
games:linux:2004scape_localhost [2025/01/21 04:55] – Sean Rhone | games:linux:2004scape_localhost [2025/09/17 13:23] (current) – [Server Start] Sean Rhone |
---|
====== Information ====== | ====== Information ====== |
| |
* 2004Scape Server ((https://github.com/2004Scape/Server)) | * Lost City ''244'' Server + Client |
| * [[https://lostcity.rs/t/singleplayer-main-branch-scripts-and-desktop-start-launchers-on-windows-linux-freebsd/54|Lost City Forums]] |
* These notes provide a local single-player server for 2004Scape ((RSPS/RuneScape Private Server based on cache ''225'' from May 18th, 2004)) | |
| |
* 2025/01/19: TODO: Update icon (see [[games;windows;2004scape_localhost#icon|Windows]]) | |
| |
===== Media ===== | ===== Media ===== |
| |
* [[https://www.youtube.com/watch?v=E21y7rLZaNc|Launcher Presentation Video]] | |
* [[https://media.realmofespionage.xyz/index/category/2|Progress Pics]] | * [[https://media.realmofespionage.xyz/index/category/2|Progress Pics]] |
| |
===== Prerequisites ===== | ===== Prerequisites ===== |
| |
* [[linux;distros;fedora_workstation_gnome|Fedora Workstation]] | * [[linux;distros;opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] |
| |
===== Resources ===== | ====== Dependencies ====== |
| |
* [[https://2004scape.org/img/rs2/worldmap/worldmap2.jpg|World Map]] | * https://github.com/LostCityRS/Engine-TS/tree/244?tab=readme-ov-file#dependencies |
* [[https://2004scape.org/rs2/skills|Skills]] | |
* [[https://2004scape.org/rs2/quests|Quests]] | |
| |
==== Web ==== | sudo zypper install git-core java-21-openjdk-headless webkit2gtk4-minibrowser |
| |
* [[https://lostcity.rs/t/singleplayer-main-branch-scripts-and-desktop-start-launchers-on-windows-linux-freebsd/54|Lost City Forums]] | ===== Java Priority ===== |
| |
* [[https://2004scape.org/news|News]] | * ''jre-21-openjdk'' |
* [[https://rune-server.org/threads/lost-city-225-emulation.701698/|Rune-Server Forums]] | |
| |
====== Dependencies ====== | sudo update-alternatives --config 'java' |
| |
* https://github.com/2004Scape/Server?tab=readme-ov-file#dependencies | ===== bun ===== |
| |
sudo dnf install git nodejs-npm java-openjdk-headless | * [[https://github.com/oven-sh/bun/releases|oven-sh/bun]] |
| |
| rm -Rf '/tmp/bun-linux-x64'* && mkdir -p ~/'Projects/LostCity-244-EngineTS/ext' && wget -O '/tmp/bun-linux-x64.zip' 'https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip' && unzip '/tmp/bun-linux-x64.zip' -d '/tmp' && mv -f '/tmp/bun-linux-x64/bun' ~/'Projects/LostCity-244-EngineTS/ext' && ~/'Projects/LostCity-244-EngineTS/ext/bun' --version && rm -Rf '/tmp/bun-linux-x64'* |
| |
====== Download Source ====== | ====== Download Source ====== |
| |
* https://github.com/2004Scape/Server/commits/main/ | ===== Engine-TS ===== |
| |
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 | * https://github.com/LostCityRS/Engine-TS/commits/244/ |
| |
===== World Map ===== | cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/LostCity-244-EngineTS/src' && git clone --branch '244' --depth '1' --recurse-submodules 'https://github.com/LostCityRS/Engine-TS.git' ~/'Projects/LostCity-244-EngineTS/src' |
| |
* https://2004.lostcity.rs/img/rs2/worldmap/worldmap2.jpg | ===== Content ===== |
| |
rm -f '/tmp/2004Scape-worldmap2.jpg' && mkdir -p ~/'Projects/2004Scape-Server/ext' && wget -O '/tmp/2004Scape-worldmap2.jpg' 'https://2004.lostcity.rs/img/rs2/worldmap/worldmap2.jpg' && mv -f '/tmp/2004Scape-worldmap2.jpg' ~/'Projects/2004Scape-Server/ext/worldmap2.jpg' | * https://github.com/LostCityRS/Content/commits/244/ |
| |
| cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/LostCity-244-EngineTS/content' && git clone --branch '244' --depth '1' --recurse-submodules 'https://github.com/LostCityRS/Content.git' ~/'Projects/LostCity-244-EngineTS/content' |
| |
====== Initial Build ====== | ====== Initial Build ====== |
**** | **** |
| |
cd ~/'Projects/2004Scape-Server/src' && npm install --verbose | ~/'Projects/LostCity-244-EngineTS/ext/bun' --cwd=$HOME/'Projects/LostCity-244-EngineTS/src' install |
| |
| ====== Set-up ====== |
| |
| * Set up as a development world |
| |
| ~/'Projects/LostCity-244-EngineTS/ext/bun' --cwd=$HOME/'Projects/LostCity-244-EngineTS/src' run 'setup' |
| |
====== Settings ====== | ====== Settings ====== |
| |
* https://github.com/2004Scape/Server/blob/main/.env.example | * Last commit: [[https://github.com/LostCityRS/Engine-TS/commit/de5fa4db73add4e7277f0a9045d6eeb3a0800f59|Jun 25, 2025]] ''de5fa4d'' |
* ''NODE_PORT=44594'' seems like an easy fix to simultaneously-host [[servers:linux:games:2009scape_localhost|2009Scape]] | * [[https://github.com/LostCityRS/Engine-TS/commits/244/.env.example|New commits check]] |
| * [[https://github.com/LostCityRS/Engine-TS/blob/244/.env.example|Upstream Settings]] ([[https://raw.githubusercontent.com/LostCityRS/Engine-TS/refs/heads/244/.env.example|raw]]) |
| |
nano ~/'Projects/2004Scape-Server/src/.env' | mkdir -p ~/'Projects/LostCity-244-EngineTS/conf' && nano ~/'Projects/LostCity-244-EngineTS/conf/localhost.env' |
| |
<code> | <code> |
WEB_PORT=8888 | NODE_XPRATE=1 |
NODE_PORT=43594 | NODE_PROFILE=localhost |
NODE_PRODUCTION=false | NODE_STAFF=Test |
NODE_ALLOW_CHEATS=false | NODE_DEBUGPROC_CHAR=: |
NODE_DEBUG=false | NODE_CLIENT_ROUTEFINDER=false |
NODE_STAFF=Test</code> | |
| |
<code>NODE_PORT=44594</code> | # End</code> |
| |
====== Scripts ====== | ====== Scripts ====== |
===== Server Start ===== | ===== Server Start ===== |
| |
* [[#desktop_launcher|Desktop Action Server]] | mkdir -p ~/'Projects/LostCity-244-EngineTS/scripts' && nano ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-start.sh' |
| |
mkdir -p ~/'Projects/2004Scape-Server/scripts' && nano ~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh' | |
| |
<code> | <code> |
#!/bin/bash | #!/bin/bash |
| |
cd ~/'Projects/2004Scape-Server/src' | ~/'Projects/LostCity-244-EngineTS/ext/bun' --env-file=$HOME/'Projects/LostCity-244-EngineTS/conf/localhost.env' --cwd=$HOME/'Projects/LostCity-244-EngineTS/src' run 'quickstart' |
npm start | |
| |
# End</code> | # End</code> |
| |
| ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-start.sh' |
| |
===== Server Update ===== | ===== Server Update ===== |
| |
* [[#desktop_launcher|Desktop Action Update]] | mkdir -p ~/'Projects/LostCity-244-EngineTS/scripts' && nano ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-update.sh' && chmod +x ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-update.sh' |
| |
mkdir -p ~/'Projects/2004Scape-Server/scripts' && nano ~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh' && chmod +x ~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh' | |
| |
<code> | <code> |
#!/bin/bash | #!/bin/bash |
| |
git -C ~/'Projects/2004Scape-Server/src' reset --hard | git -C ~/'Projects/LostCity-244-EngineTS/src' reset --hard |
git -C ~/'Projects/2004Scape-Server/src' pull origin 'main' --rebase | git -C ~/'Projects/LostCity-244-EngineTS/src' pull origin '244' --rebase |
| |
cd ~/'Projects/2004Scape-Server/src' | git -C ~/'Projects/LostCity-244-EngineTS/content' reset --hard |
npm run 'clean' | git -C ~/'Projects/LostCity-244-EngineTS/content' pull origin '244' --rebase |
| |
notify-send -i ~/'Projects/2004Scape-Server/src/public/favicon.ico' '2004Scape localhost server update complete' | ~/'Projects/LostCity-244-EngineTS/ext/bun' --cwd=$HOME/'Projects/LostCity-244-EngineTS/src' run 'clean' |
| ~/'Projects/LostCity-244-EngineTS/ext/bun' --cwd=$HOME/'Projects/LostCity-244-EngineTS/src' 'install' |
| ~/'Projects/LostCity-244-EngineTS/ext/bun' --cwd=$HOME/'Projects/LostCity-244-EngineTS/src' run 'setup' |
| |
| zenity --title '2004Scape Updater' --text 'localhost server update complete' --icon ~/'Projects/LostCity-244-EngineTS/ext/favicon.ico' --timeout '1' --info |
| |
# End</code> | # End</code> |
| |
| ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-update.sh' |
| |
===== Save Data Back-up ===== | ===== Save Data Back-up ===== |
| |
* [[#desktop_launcher|Desktop Action Saves]] | mkdir -p ~/'Projects/LostCity-244-EngineTS/scripts' && nano ~/'Projects/LostCity-244-EngineTS/scripts/localhost-save-backup.sh' && chmod +x ~/'Projects/LostCity-244-EngineTS/scripts/localhost-save-backup.sh' |
| |
mkdir -p ~/'Projects/2004Scape-Server/scripts' && nano ~/'Projects/2004Scape-Server/scripts/localhost-save-backup.sh' && chmod +x ~/'Projects/2004Scape-Server/scripts/localhost-save-backup.sh' | |
| |
<code> | <code> |
#!/bin/bash | #!/bin/bash |
| |
tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-2004Scape-Server-localhost-Saves.tar.gz' -C ~/'Projects/2004Scape-Server/src/data' 'players' | tar -czf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-2004Scape-localhost-Saves.tar.gz' -C ~/'Projects/LostCity-244-EngineTS/src/data/players' 'localhost' |
sync | |
notify-send -i ~/'Projects/2004Scape-Server/src/public/favicon.ico' '2004Scape Save Data Backed-up Successfully to Downloads' | zenity --title '2004Scape Save Backup' --text 'Save Data Backed-up to Downloads' --icon ~/'Projects/LostCity-244-EngineTS/ext/favicon.ico' --timeout '1' --info |
| |
# End</code> | # End</code> |
| |
====== Desktop Launcher ====== | ~/'Projects/LostCity-244-EngineTS/scripts/localhost-save-backup.sh' |
| |
===== 2004Scape ===== | ====== Extras ====== |
| |
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' | ===== Icon ===== |
| |
<code> | * https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico |
[Desktop Entry] | |
Name=2004Scape | |
Categories=Game; | |
Exec='/bin/bash' -c "gio open 'http://localhost:8888'" | |
Type=Application | |
StartupNotify=false | |
Icon=/home/CHANGEME/Projects/2004Scape-Server/src/public/favicon.ico | |
Actions=Map;Server;Saves;Update;Notes; | |
| |
[Desktop Action Map] | rm -f '/tmp/2004Scape-favicon.ico' && mkdir -p ~/'Projects/LostCity-244-EngineTS/ext' && wget -O '/tmp/2004Scape-favicon.ico' 'https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico' && sha384sum '/tmp/2004Scape-favicon.ico' | grep 'c70ef71357951b3c1895cf205746eb93959cf8031d1f83b6f43d8a9efbb272d79ed6b4a64fb1c39f6898ed56601bfc63' > '/dev/null' && mv -f '/tmp/2004Scape-favicon.ico' ~/'Projects/LostCity-244-EngineTS/ext/favicon.ico' && ls ~/'Projects/LostCity-244-EngineTS/ext/favicon.ico' |
StartupNotify=false | |
Exec='/bin/bash' -c "gio open ~/'Projects/2004Scape-Server/ext/worldmap2.jpg'" | |
Name=World map | |
| |
[Desktop Action Server] | ===== Map ===== |
Exec='/bin/bash' -c "ptyxis --standalone --title='2004Scape Server — ' -- ~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh'" | |
Name=Launch Local Server | |
| |
[Desktop Action Saves] | * https://runescape.wiki/w/World_map#/media/File:June_2004_Map.jpg |
StartupNotify=false | |
Exec='/bin/bash' -c "~/'Projects/2004Scape-Server/scripts/localhost-save-backup.sh'" | |
Name=Save Data Back-up | |
| |
[Desktop Action Update] | rm -f '/tmp/June_2004_Map.jpg' && mkdir -p ~/'Projects/LostCity-244-EngineTS/ext' && wget -O '/tmp/June_2004_Map.jpg' 'https://runescape.wiki/images/June_2004_Map.jpg?35d17' --user-agent='script' && sha384sum '/tmp/June_2004_Map.jpg' | grep 'abfdfe4597975addbb9d79d2cce2e56f0054f2742f351bd9dc700f55e91157e6c2142749f113927b027ed42efb8ad833' > '/dev/null' && mv -f '/tmp/June_2004_Map.jpg' ~/'Projects/LostCity-244-EngineTS/ext/June_2004_Map.jpg' && ls ~/'Projects/LostCity-244-EngineTS/ext/June_2004_Map.jpg' |
Exec='/bin/bash' -c "ptyxis --standalone --title='2004Scape Updater — ' -- ~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh'" | |
Name=Update Local Server | |
| |
[Desktop Action Notes] | ===== SC55_zzdenis SoundFont ===== |
StartupNotify=false | |
Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:linux:2004scape_localhost'" | |
Name=Install Notes | |
| |
# End</code> | * https://www.doomworld.com/forum/topic/129928-new-sc55-soundfont-266mb-all-new-441k-samples/ |
| * https://drive.google.com/file/d/1wdYpwoCka8r7ZuIzPn1CHy13_4aP9oSq/view?usp=sharing |
| * ''SC55_zzdenis_v0.5.sf2'' |
| * Symlink above ''zenity'' line |
| |
====== Quick Commands ====== | mkdir -p ~/'Projects/LostCity-244-EngineTS/ext' && sha384sum ~/'Downloads/SC55_zzdenis_v0.5.sf2' | grep 'f386f638777072fc220e39afbd7efcd227ca2bfcf13403bf47fbb2e2b8f4d151239710cc36c8530a75c3b4c3f55066b7' > '/dev/null' && mv -f ~/'Downloads/SC55_zzdenis_v0.5.sf2' ~/'Projects/LostCity-244-EngineTS/ext' |
| |
===== Execute ===== | nano ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-update.sh' |
| |
==== Server ==== | ln -s -f ~/'Projects/LostCity-244-EngineTS/ext/SC55_zzdenis_v0.5.sf2' ~/'Projects/LostCity-244-EngineTS/src/public/client/SCC1_Florestan.sf2' |
| |
cd ~/'Projects/2004Scape-Server/src' && npm start --verbose | ==== Verify ==== |
| |
~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh' | **** |
| |
ptyxis --standalone --title='2004Scape Server — ' -- ~/'Projects/2004Scape-Server/scripts/localhost-server-start.sh' | ls -la ~/'Projects/LostCity-244-EngineTS/src/public/client/SCC1_Florestan.sf2' |
| |
==== Client ==== | ===== Login Autofill ===== |
| |
* http://localhost:8888 | * [[https://github.com/2004Scape/Server/issues/1498|#1498]] |
| * ''sed'' above ''zenity'' line |
| |
===== Update ===== | nano ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-update.sh' |
| |
* https://github.com/2004Scape/Server/commits/main/ | sed -i -e 's/username="";password=""/username="Espionage724";password="1"/g' ~/'Projects/LostCity-244-EngineTS/src/public/client/client.js' |
* :!: 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 ~/'Projects/2004Scape-Server/src' reset --hard && git -C ~/'Projects/2004Scape-Server/src' pull origin 'main' --rebase && cd ~/'Projects/2004Scape-Server/src' && npm run 'clean' | ====== Desktop Launcher ====== |
| |
~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh' | ===== 2004Scape ===== |
| |
ptyxis --standalone --title='2004Scape Updater — ' -- ~/'Projects/2004Scape-Server/scripts/localhost-server-update.sh' | 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' |
| |
===== Save Data Back-up ===== | <code> |
| [Desktop Entry] |
| Name=2004Scape |
| Categories=Game; |
| Exec='/bin/bash' -c "'/usr/libexec/libwebkitgtk-6_0-0/MiniBrowser' --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi'" |
| Type=Application |
| StartupNotify=false |
| StartupWMClass=org.webkitgtk.MiniBrowser |
| SingleMainWindow=false |
| Icon=/home/CHANGEME/Projects/LostCity-244-EngineTS/ext/favicon.ico |
| Actions=Map;Server;Update;Saves;Notes; |
| |
tar -cvzf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-2004Scape-Server-localhost-Saves.tar.gz' -C ~/'Projects/2004Scape-Server/src/data' 'players' | [Desktop Action Map] |
| StartupNotify=false |
| Exec='/bin/bash' -c "gio open ~/'Projects/LostCity-244-EngineTS/ext/June_2004_Map.jpg'" |
| Name=World Map |
| |
~/'Projects/2004Scape-Server/scripts/localhost-save-backup.sh' | [Desktop Action Server] |
| Exec='/bin/bash' -c "kgx -T '2004Scape Server' -e ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-start.sh'" |
| Name=Server - Start |
| |
===== World Map ===== | [Desktop Action Update] |
| Exec='/bin/bash' -c "kgx -T '2004Scape Updater' -e ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-update.sh'" |
| Name=Server - Update |
| |
* https://2004scape.org/img/rs2/worldmap/worldmap2.jpg | [Desktop Action Saves] |
| StartupNotify=false |
| Exec='/bin/bash' -c "~/'Projects/LostCity-244-EngineTS/scripts/localhost-save-backup.sh'" |
| Name=Save Data Back-up |
| |
gio open ~/'Projects/2004Scape-Server/ext/worldmap2.jpg' | [Desktop Action Notes] |
| StartupNotify=false |
| Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games;linux;2004scape_localhost_244'" |
| Name=Install Notes |
| |
==== npm ==== | # End</code> |
| |
cd ~/'Projects/2004Scape-Server/src' && npm run --verbose | ====== Quick Commands ====== |
| |
cd ~/'Projects/2004Scape-Server/src' && npm run 'clean' --verbose | ===== MiniBrowser ===== |
| |
===== File Manager ===== | |
| |
==== Root ==== | |
| |
**** | **** |
| |
gio open ~/'Projects/2004Scape-Server/src' | '/usr/libexec/libwebkitgtk-6_0-0/MiniBrowser' --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi' |
| |
==== Saves ==== | ===== Save Restore ===== |
| |
**** | **** |
| |
mkdir -p ~/'Projects/2004Scape-Server/src/data/players' && gio open ~/'Projects/2004Scape-Server/src/data/players' | mkdir -p ~/'Projects/LostCity-244-EngineTS/src/data/players/localhost' && gio open ~/'Projects/LostCity-244-EngineTS/src/data/players/localhost' |
| |
====== Troubleshooting ====== | |
| |
===== Specific Commit Rebase ===== | |
| |
* https://github.com/2004Scape/Server/commits/main/ | |
| |
git -C ~/'Projects/2004Scape-Server/src' reset --hard '42af1c2d152c9cfa174a49f56b51906d8a2c8374' | |
| |
git -C ~/'Projects/2004Scape-Server/src' pull origin --rebase '42af1c2d152c9cfa174a49f56b51906d8a2c8374' | |
| |
cd ~/'Projects/2004Scape-Server/src' && npm run 'clean' | |
| |