| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| games:bsd:2004scape_localhost [2025/11/03 11:11] – Sean Rhone | games:bsd:2004scape_localhost [2026/03/05 08:04] (current) – [Information] Sean Rhone |
|---|
| ====== Information ====== | ====== Information ====== |
| |
| * Lost City ''244'' Server + Client | * Lost City Server + Client |
| * [[https://lostcity.rs/t/singleplayer-main-branch-scripts-and-desktop-start-launchers-on-windows-linux-freebsd/54|Lost City Forums]] | * [[https://lostcity.rs/t/singleplayer-main-branch-scripts-and-desktop-start-launchers-on-windows-linux-freebsd/54|Lost City Forums]] |
| |
| * 2025/08/20: ''bun'' isn't compatible with FreeBSD ([[https://github.com/oven-sh/bun/issues/1524|#1524]]) ((commits locked at last ''npm'' support around May/June 2025; no update script)) ((this is before Special Attacks and probably a noteworthy version milestone before ''245'')) | * 2025/08/20: ''bun'' isn't compatible with FreeBSD ([[https://github.com/oven-sh/bun/issues/1524|#1524]]) ((commits locked at last ''npm'' support around May/June 2025 (before [[https://2004.lostcity.rs/news/216|244]]/no Special Attacks/Elemental Workshop); no update script)) |
| |
| ===== Media ===== | ===== Media ===== |
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[bsd:freebsd_15.0_xfce|FreeBSD 15.0 (Xfce)]] | * [[bsd:freebsd_16.0_xfce|FreeBSD 16.0 (Xfce)]] |
| |
| ====== Dependencies ====== | ====== Dependencies ====== |
| |
| * https://github.com/LostCityRS/Engine-TS/blob/244/README.md#dependencies | * https://github.com/LostCityRS/Engine-TS/tree/0fb09fb0506fd884d82b8fec556a822e69d25e14?tab=readme-ov-file#dependencies |
| |
| su - | su - |
| |
| pkg install git openjdk25 npm-node25 | pkg install git openjdk25-headless npm-node25 python314 |
| |
| ====== Download Source ====== | ====== Download Source ====== |
| ===== Engine-TS ===== | ===== Engine-TS ===== |
| |
| * https://github.com/LostCityRS/Engine-TS/commits/244/ | |
| * https://github.com/LostCityRS/Engine-TS/commit/0fb09fb0506fd884d82b8fec556a822e69d25e14 | * https://github.com/LostCityRS/Engine-TS/commit/0fb09fb0506fd884d82b8fec556a822e69d25e14 |
| |
| cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/LostCity-244-EngineTS/src' && git clone --rev '0fb09fb0506fd884d82b8fec556a822e69d25e14' --depth '1' --recurse-submodules 'https://github.com/LostCityRS/Engine-TS.git' ~/'Projects/LostCity-244-EngineTS/src' | cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/LostCity-225-EngineTS/src' && git clone --rev '0fb09fb0506fd884d82b8fec556a822e69d25e14' --depth '1' --recurse-submodules 'https://github.com/LostCityRS/Engine-TS.git' ~/'Projects/LostCity-225-EngineTS/src' |
| |
| ===== Content ===== | ===== Content ===== |
| |
| * https://github.com/LostCityRS/Content/commits/244/ | |
| * https://github.com/LostCityRS/Content/commit/69a88f534e9f43dcfe651d62467f9760ad021428 | * https://github.com/LostCityRS/Content/commit/69a88f534e9f43dcfe651d62467f9760ad021428 |
| |
| cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/LostCity-244-EngineTS/content' && git clone --rev '69a88f534e9f43dcfe651d62467f9760ad021428' --depth '1' --recurse-submodules 'https://github.com/LostCityRS/Content.git' ~/'Projects/LostCity-244-EngineTS/content' | cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/LostCity-225-EngineTS/content' && git clone --rev '69a88f534e9f43dcfe651d62467f9760ad021428' --depth '1' --recurse-submodules 'https://github.com/LostCityRS/Content.git' ~/'Projects/LostCity-225-EngineTS/content' |
| |
| ====== Initial Build ====== | ====== Initial Build ====== |
| **** | **** |
| |
| cd ~/'Projects/LostCity-244-EngineTS/src' && npm install --verbose | node '/usr/local/lib/node_modules/npm/bin/npm-cli.js' --prefix ~/'Projects/LostCity-225-EngineTS/src' install --python='/usr/local/bin/python3.14' --verbose |
| |
| ====== Set-up ====== | ====== Set-up ====== |
| * Set up as a development world | * Set up as a development world |
| |
| npm --prefix ~/'Projects/LostCity-244-EngineTS/src' run 'setup' | node '/usr/local/lib/node_modules/npm/bin/npm-cli.js' --prefix ~/'Projects/LostCity-225-EngineTS/src' run 'setup' |
| |
| ====== Settings ====== | ====== Settings ====== |
| * Last commit: [[https://github.com/LostCityRS/Engine-TS/commit/143ff378c5843b200927b976ae31b9d774de26ed|Mar 6, 2025]] ''143ff37'' | * Last commit: [[https://github.com/LostCityRS/Engine-TS/commit/143ff378c5843b200927b976ae31b9d774de26ed|Mar 6, 2025]] ''143ff37'' |
| |
| mkdir -p ~/'Projects/LostCity-244-EngineTS/conf' && ee ~/'Projects/LostCity-244-EngineTS/conf/localhost.env' | mkdir -p ~/'Projects/LostCity-225-EngineTS/conf' && ee ~/'Projects/LostCity-225-EngineTS/conf/localhost.env' |
| |
| <code> | <code> |
| ===== Server Start ===== | ===== Server Start ===== |
| |
| mkdir -p ~/'Projects/LostCity-244-EngineTS/scripts' && ee ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-start.sh' | mkdir -p ~/'Projects/LostCity-225-EngineTS/scripts' && ee ~/'Projects/LostCity-225-EngineTS/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/LostCity-225-EngineTS/scripts/localhost-server-start.sh' |
| |
| <code> | <code> |
| #!/bin/sh | #!/bin/sh |
| |
| export JAVA_HOME='/usr/local/openjdk25' | export JAVA_HOME='/usr/local/openjdk25-headless' |
| export _JAVA_OPTIONS='--sun-misc-unsafe-memory-access=allow' | export _JAVA_OPTIONS='--sun-misc-unsafe-memory-access=allow' |
| |
| node --env-file=$HOME/'Projects/LostCity-244-EngineTS/conf/localhost.env' '/usr/local/lib/node_modules/npm/bin/npm-cli.js' --prefix ~/'Projects/LostCity-244-EngineTS/src' run 'quickstart' | node --env-file=$HOME/'Projects/LostCity-225-EngineTS/conf/localhost.env' '/usr/local/lib/node_modules/npm/bin/npm-cli.js' --prefix ~/'Projects/LostCity-225-EngineTS/src' run 'quickstart' |
| | |
| | unset 'JAVA_HOME' |
| | unset '_JAVA_OPTIONS' |
| |
| # End</code> | # End</code> |
| |
| ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-start.sh' | ~/'Projects/LostCity-225-EngineTS/scripts/localhost-server-start.sh' |
| |
| ===== Save Data Back-up ===== | ===== Save Data Back-up ===== |
| |
| mkdir -p ~/'Projects/LostCity-244-EngineTS/scripts' && ee ~/'Projects/LostCity-244-EngineTS/scripts/localhost-save-backup.sh' && chmod +x ~/'Projects/LostCity-244-EngineTS/scripts/localhost-save-backup.sh' | mkdir -p ~/'Projects/LostCity-225-EngineTS/scripts' && ee ~/'Projects/LostCity-225-EngineTS/scripts/localhost-save-backup.sh' && chmod +x ~/'Projects/LostCity-225-EngineTS/scripts/localhost-save-backup.sh' |
| |
| <code> | <code> |
| #!/bin/sh | #!/bin/sh |
| |
| tar -czf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-2004Scape-localhost-Saves.tar.gz' -C ~/'Projects/LostCity-244-EngineTS/src/data/players' 'localhost' | tar -czf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-2004Scape-localhost-Saves.tar.gz' -C ~/'Projects/LostCity-225-EngineTS/src/data/players' 'localhost' |
| |
| notify-send -i ~/'Projects/LostCity-244-EngineTS/ext/favicon.ico' -t '3000' '2004Scape Save Data Backed-up Successfully to Downloads' | notify-send -i ~/'Projects/LostCity-225-EngineTS/ext/favicon.ico' -t '3000' '2004Scape Save Data Backed-up Successfully to Downloads' |
| |
| # End</code> | # End</code> |
| |
| ~/'Projects/LostCity-244-EngineTS/scripts/localhost-save-backup.sh' | ~/'Projects/LostCity-225-EngineTS/scripts/localhost-save-backup.sh' |
| |
| ====== Extras ====== | ====== Extras ====== |
| ===== Icon ===== | ===== Icon ===== |
| |
| * https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico | * https://raw.githubusercontent.com/2004Scape/Server/7b0f1ec303dc1f76c7b29a2fff83b5797dafa01b/public/favicon.ico ([[https://drive.google.com/file/d/1T_v-_KVylhmrb7JKWElaYqhPiKbia8Jr/view?usp=sharing|mirror]]) |
| | * TODO: Copy to ''src\public\favicon.ico'' for browser windows to show favicon |
| |
| 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' | rm -f '/tmp/2004Scape-favicon.ico' && mkdir -p ~/'Projects/LostCity-225-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-225-EngineTS/ext/favicon.ico' && ls ~/'Projects/LostCity-225-EngineTS/ext/favicon.ico' |
| |
| ===== Map ===== | ===== Map ===== |
| |
| * https://runescape.wiki/w/World_map#/media/File:June_2004_Map.jpg | * https://runescape.wiki/w/World_map#/media/File:June_2004_Map.jpg ([[https://drive.google.com/file/d/1V_nMvkDwE__dtokzG0xaytUwrqOtGKMO/view?usp=sharing|mirror]]) |
| |
| 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' | rm -f '/tmp/June_2004_Map.jpg' && mkdir -p ~/'Projects/LostCity-225-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-225-EngineTS/ext/June_2004_Map.jpg' && ls ~/'Projects/LostCity-225-EngineTS/ext/June_2004_Map.jpg' |
| |
| ===== SC55_zzdenis SoundFont ===== | ===== SC55_zzdenis SoundFont ===== |
| * https://www.doomworld.com/forum/topic/129928-new-sc55-soundfont-266mb-all-new-441k-samples/ | * 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 | * https://drive.google.com/file/d/1wdYpwoCka8r7ZuIzPn1CHy13_4aP9oSq/view?usp=sharing |
| | * https://lostcity.rs/t/different-soundfonts-midi/4861 ([[https://www.youtube.com/watch?v=mVPLVDXJjUY|video]]) |
| * ''SC55_zzdenis_v0.5.sf2'' | * ''SC55_zzdenis_v0.5.sf2'' |
| |
| 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' | mkdir -p ~/'Projects/LostCity-225-EngineTS/ext' && sha384sum ~/'Downloads/SC55_zzdenis_v0.5.sf2' | grep 'f386f638777072fc220e39afbd7efcd227ca2bfcf13403bf47fbb2e2b8f4d151239710cc36c8530a75c3b4c3f55066b7' > '/dev/null' && mv -f ~/'Downloads/SC55_zzdenis_v0.5.sf2' ~/'Projects/LostCity-225-EngineTS/ext' |
| |
| ln -s -f ~/'Projects/LostCity-244-EngineTS/ext/SC55_zzdenis_v0.5.sf2' ~/'Projects/LostCity-244-EngineTS/src/public/client/SCC1_Florestan.sf2' | ln -s -f ~/'Projects/LostCity-225-EngineTS/ext/SC55_zzdenis_v0.5.sf2' ~/'Projects/LostCity-225-EngineTS/src/public/client/SCC1_Florestan.sf2' |
| |
| ===== Login Autofill ===== | ===== Login Autofill ===== |
| |
| * [[https://github.com/2004Scape/Server/issues/1498|#1498]] | * [[https://github.com/2004Scape/Server/issues/1498|#1498]] |
| | * Modifies ''client.js'' to have pre-filled username/password |
| |
| sed -i -e 's/usernameInput="";passwordInput=""/usernameInput="Espionage724";passwordInput="1"/g' ~/'Projects/LostCity-244-EngineTS/src/public/client/client.js' | sed -i -e 's/usernameInput="";passwordInput=""/usernameInput="Espionage724";passwordInput="1"/g' ~/'Projects/LostCity-225-EngineTS/src/public/client/client.js' |
| |
| ====== Desktop Launcher ====== | ====== Desktop Launcher ====== |
| ===== 2004Scape ===== | ===== 2004Scape ===== |
| |
| mkdir -p ~/'.local/share/applications' && ee ~/'.local/share/applications/lostcity-244-localhost.desktop' && sed -i -e 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/lostcity-244-localhost.desktop' && update-desktop-database --quiet ~/'.local/share/applications' | mkdir -p ~/'.local/share/applications' && ee ~/'.local/share/applications/lostcity-225-localhost.desktop' && sed -i -e 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/lostcity-225-localhost.desktop' && update-desktop-database --quiet ~/'.local/share/applications' |
| |
| <code> | <code> |
| Type=Application | Type=Application |
| StartupNotify=false | StartupNotify=false |
| Icon=/home/CHANGEME/Projects/LostCity-244-EngineTS/ext/favicon.ico | Icon=/home/CHANGEME/Projects/LostCity-225-EngineTS/ext/favicon.ico |
| Actions=Map;Server;Saves;Notes; | Actions=Map;Server;Saves;Notes; |
| |
| [Desktop Action Map] | [Desktop Action Map] |
| Exec='/bin/sh' -c "gio open ~/'Projects/LostCity-244-EngineTS/ext/June_2004_Map.jpg'" | Exec='/bin/sh' -c "gio open ~/'Projects/LostCity-225-EngineTS/ext/June_2004_Map.jpg'" |
| Name=World Map | Name=World Map |
| |
| [Desktop Action Server] | [Desktop Action Server] |
| Exec='/bin/sh' -c "xfce4-terminal --minimize -T '2004Scape [Server]' -I ~/'Projects/LostCity-244-EngineTS/ext/favicon.ico' -e ~/'Projects/LostCity-244-EngineTS/scripts/localhost-server-start.sh'" | Exec='/bin/sh' -c "xfce4-terminal --minimize -T '2004Scape [Server]' -I ~/'Projects/LostCity-225-EngineTS/ext/favicon.ico' -e ~/'Projects/LostCity-225-EngineTS/scripts/localhost-server-start.sh'" |
| Name=Server - Start | Name=Server - Start |
| |
| [Desktop Action Saves] | [Desktop Action Saves] |
| Exec='/bin/sh' -c "~/'Projects/LostCity-244-EngineTS/scripts/localhost-save-backup.sh'" | Exec='/bin/sh' -c "~/'Projects/LostCity-225-EngineTS/scripts/localhost-save-backup.sh'" |
| Name=Save Data Back-up | Name=Save Data Back-up |
| |
| **** | **** |
| |
| mkdir -p ~/'Projects/LostCity-244-EngineTS/src/data/players/localhost' && gio open ~/'Projects/LostCity-244-EngineTS/src/data/players/localhost' | mkdir -p ~/'Projects/LostCity-225-EngineTS/src/data/players/localhost' && gio open ~/'Projects/LostCity-225-EngineTS/src/data/players/localhost' |
| |
| ====== TODO ====== | ====== TODO ====== |
| |
| ===== Standalone Browser ===== | ===== Standalone Browser ===== |
| | |
| | * :?: 2026/03/04: ''webkit2-gtk_40'', ''webkit2-gtk_41'', ''webkit2-gtk_60'', and ''surf'' all froze during loading resources/before log-in |
| |
| <code> | <code> |
| webkit2-gtk_60 | webkit2-gtk_60 |
| |
| '/usr/local/libexec/webkitgtk-6.0/MiniBrowser' --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi' | WEBKIT_DISABLE_COMPOSITING_MODE='1' '/usr/local/libexec/webkitgtk-6.0/MiniBrowser' --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi' |
| | |
| '/usr/local/libexec/webkit2gtk-4.1/MiniBrowser' --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi' | |
| |
| '/usr/local/libexec/webkit2gtk-4.0/MiniBrowser' --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi' | WEBKIT_DISABLE_COMPOSITING_MODE='1' '/usr/local/libexec/webkit2gtk-4.1/MiniBrowser' --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi' |
| |
| --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi' | --dark-mode --autoplay-policy 'allow' --private --features='-PreferPageRenderingUpdatesNear60FPS' 'http://localhost:8888/rs2.cgi' |
| |
| |
| GDK_BACKEND='x11' surf -a 'a' -b -D -f -g -I -k -m -n -S -t -x 'http://localhost:8888' | surf -a 'a' -b -D -f -g -I -k -m -n -S -t -x 'http://localhost:8888/rs2.cgi' |
| |
| </code> | </code> |
| |