| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| games:linux:rt4_client_runescape_530 [2024/11/02 06:18] – [Dependencies] Sean Rhone | games:linux:rt4_client_runescape_530 [2025/10/15 21:55] (current) – Sean Rhone |
|---|
| |
| * RT4 Client ((https://gitlab.com/2009scape/rt4-client)) | * RT4 Client ((https://gitlab.com/2009scape/rt4-client)) |
| * ''master'' Branch ((https://gitlab.com/2009scape/rt4-client/-/tree/master?ref_type=heads)) | |
| | * These notes provide a game client for 2009Scape |
| |
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[linux;distros;fedora_workstation_gnome|Fedora Workstation]] | * [[linux;distros;opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] |
| |
| ===== Notes ===== | ===== Notes ===== |
| |
| * :!: This is for private server use | * :!: This is for private server use |
| * See [[servers:linux:games:2009scape_localhost|2009Scape localhost Server]] to set-up a local server | * See [[servers:linux:games:2009scape_localhost|2009Scape localhost Server]] to set-up a server |
| |
| ====== Dependencies ====== | ====== Dependencies ====== |
| |
| * https://gitlab.com/2009scape/rt4-client#instructions | * https://gitlab.com/2009scape/rt4-client#instructions |
| * Builds with Java 17 but uses system-wide for running Client ((2024/11/02: F41 is OpenJDK 21 and default-installs non-GUI ''headless'')) ((2024/11/02: 2009Scape's RT4-Client [[https://gitlab.com/2009scape/rt4-client/-/blob/master/gradle/wrapper/gradle-wrapper.properties?ref_type=heads#L3|forces Gradle 7.4.2]] which only supports up to Java 17; [[games:linux:rt4_client_runescape_530?rev=1730467025|Pazaz's older RT4-Client]] builds fine on Java 23)) | |
| |
| sudo dnf install git-core java-17-openjdk-headless java-openjdk | sudo zypper install git-core java-17-openjdk-headless java-21-openjdk |
| | |
| | ===== Java Priority ===== |
| | |
| | * ''jre-21-openjdk'' |
| | |
| | sudo update-alternatives --config 'java' |
| |
| ====== Download Source ====== | ====== Download Source ====== |
| |
| **** | * https://gitlab.com/2009scape/rt4-client/-/commits/master?ref_type=heads |
| |
| cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/RT4-Client/src' && git clone --branch 'master' --depth '1' --recurse-submodules 'https://gitlab.com/2009scape/rt4-client.git' ~/'Projects/RT4-Client/src' && sync | cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/RT4-Client/src' && git clone --branch 'master' --depth '1' --recurse-submodules 'https://gitlab.com/2009scape/rt4-client.git' ~/'Projects/RT4-Client/src' && sync |
| |
| ====== Build ====== | ====== Build ====== |
| | |
| | ===== Settings ===== |
| | |
| | sed -i 's/USE_TWEENING = true/USE_TWEENING = false/g' ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' && sed -i 's/BILINEAR_MINIMAP = true/BILINEAR_MINIMAP = false/g' ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' && sed -i 's/USE_SHIFT_CLICK = true/USE_SHIFT_CLICK = false/g' ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' && sed -i 's/MOUSEWHEEL_ZOOM = true/MOUSEWHEEL_ZOOM = false/g' ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' |
| | |
| | cat ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' | grep 'public static boolean' |
| | |
| | ===== Build ===== |
| |
| **** | **** |
| |
| cd ~/'Projects/RT4-Client/src' && JAVA_HOME='/usr/lib/jvm/jre-17-openjdk' ~/'Projects/RT4-Client/src/gradlew' 'clean' && JAVA_HOME='/usr/lib/jvm/jre-17-openjdk' ~/'Projects/RT4-Client/src/gradlew' 'jar' && ~/'Projects/RT4-Client/src/gradlew' --stop | cd ~/'Projects/RT4-Client/src' && JAVA_HOME='/usr/lib64/jvm/java-17-openjdk-17' ~/'Projects/RT4-Client/src/gradlew' 'clean' --no-daemon && JAVA_HOME='/usr/lib64/jvm/java-17-openjdk-17' ~/'Projects/RT4-Client/src/gradlew' 'jar' --no-daemon |
| |
| ====== Settings ====== | ====== Settings ====== |
| ====== Scripts ====== | ====== Scripts ====== |
| |
| ===== Client Update ===== | ===== Client Start ===== |
| |
| * [[https://gitlab.com/2009scape/rt4-client/-/commits/master|Commits History]] | mkdir -p ~/'Projects/RT4-Client/scripts' ~/'Projects/RT4-Client/cache' && nano ~/'Projects/RT4-Client/scripts/client-start.sh' && chmod +x ~/'Projects/RT4-Client/scripts/client-start.sh' |
| * [[#scape_localhost|Desktop Action Client-Update]] | |
| | |
| mkdir -p ~/'Projects/RT4-Client/scripts' && nano ~/'Projects/RT4-Client/scripts/client-update.sh' && chmod +x ~/'Projects/RT4-Client/scripts/client-update.sh' | |
| |
| <code> | <code> |
| #!/bin/bash | #!/bin/bash |
| |
| git -C ~/'Projects/RT4-Client/src' reset --hard | cd ~/'Projects/RT4-Client/src/client' |
| git -C ~/'Projects/RT4-Client/src' pull origin 'master' --rebase | |
| |
| cd ~/'Projects/RT4-Client/src' | export _JAVA_OPTIONS="-Dsun.java2d.uiScale='1' -Djava.net.preferIPv6Addresses=false --add-exports='java.desktop/sun.awt=ALL-UNNAMED' -Djogamp.gluegen.UseTempJarCache='true' -Djava.io.tmpdir='$HOME/Projects/RT4-Client/cache/' -DclientHomeOverride='$HOME/Projects/RT4-Client/cache/' -Djogl.disable.opengles='true' -XX:+UseSerialGC -Xms1G -Xmx4G" |
| JAVA_HOME='/usr/lib/jvm/jre-17-openjdk' ~/'Projects/RT4-Client/src/gradlew' 'clean' | export vblank_mode='3' |
| JAVA_HOME='/usr/lib/jvm/jre-17-openjdk' ~/'Projects/RT4-Client/src/gradlew' 'jar' | |
| ~/'Projects/RT4-Client/src/gradlew' --stop | |
| |
| echo '' | '/usr/lib64/jvm/java-21-openjdk-21/bin/java' -DclientFps='120' -DclientHomeOverride=$HOME'/Projects/RT4-Client/cache/' -Djava.io.tmpdir=$HOME'/Projects/RT4-Client/cache/' -jar ~/'Projects/RT4-Client/src/client/build/libs/client-'*'.jar' --config ~/'Projects/RT4-Client/conf/localhost.json' |
| read -n '1' -s -r -p 'Done! Press any key to exit.' | |
| |
| # End</code> | # End</code> |
| |
| ~/'Projects/RT4-Client/scripts/client-update.sh' | ~/'Projects/RT4-Client/scripts/client-start.sh' |
| |
| ====== Desktop Launcher ====== | ===== High-DPI ===== |
| |
| ===== 2009Scape (localhost) ===== | mkdir -p ~/'Projects/RT4-Client/scripts' ~/'Projects/RT4-Client/cache' && nano ~/'Projects/RT4-Client/scripts/client-hidpi.sh' && chmod +x ~/'Projects/RT4-Client/scripts/client-hidpi.sh' |
| |
| * Mostly requires [[servers:linux:games:2009scape_localhost#scripts|2009Scape localhost Server scripts]] | <code> |
| | #!/bin/bash |
| |
| mkdir -p ~/'.local/share/applications/' && nano ~/'.local/share/applications/2009Scape-localhost.desktop' && update-desktop-database --quiet ~/'.local/share/applications' | cd ~/'Projects/RT4-Client/src/client' |
| |
| <code> | export _JAVA_OPTIONS="-Dsun.java2d.uiScale='2' -Djava.net.preferIPv6Addresses=false --add-exports='java.desktop/sun.awt=ALL-UNNAMED' -Djogamp.gluegen.UseTempJarCache='true' -Djava.io.tmpdir='$HOME/Projects/RT4-Client/cache/' -DclientHomeOverride='$HOME/Projects/RT4-Client/cache/' -Djogl.disable.opengles='true' -XX:+UseSerialGC -Xms1G -Xmx4G" |
| [Desktop Entry] | export vblank_mode='3' |
| Name=2009Scape | |
| Categories=Game; | |
| Exec='/bin/bash' -c "cd ~/'Projects/RT4-Client/src/client' && JAVA_TOOL_OPTIONS='-XX:+UseSerialGC -Xms1G -Xmx4G --add-exports=java.desktop/sun.awt=ALL-UNNAMED' java -jar ~/'Projects/RT4-Client/src/client/build/libs/client-'*'.jar' --config ~/'Projects/RT4-Client/conf/localhost.json'" | |
| Type=Application | |
| StartupNotify=false | |
| #Icon=TODO | |
| Actions=Client-Update;Server-Update;Server;Saves;Client-Notes;Server-Notes; | |
| |
| [Desktop Action Client-Update] | '/usr/lib64/jvm/java-21-openjdk-21/bin/java' -DclientFps='120' -DclientHomeOverride=$HOME'/Projects/RT4-Client/cache/' -Djava.io.tmpdir=$HOME'/Projects/RT4-Client/cache/' -jar ~/'Projects/RT4-Client/src/client/build/libs/client-'*'.jar' --config ~/'Projects/RT4-Client/conf/localhost.json' |
| Exec='/bin/bash' -c "ptyxis --standalone --title='RT4 Client Updater — ' -- ~/'Projects/RT4-Client/scripts/client-update.sh'" | |
| Name=Update Client | |
| |
| [Desktop Action Server-Update] | # End</code> |
| Exec='/bin/bash' -c "ptyxis --standalone --title='2009Scape localhost Updater — ' -- ~/'Projects/2009Scape-Server/scripts/localhost-server-update.sh'" | |
| Name=Update Local Server | |
| |
| [Desktop Action Server] | ~/'Projects/RT4-Client/scripts/client-hidpi.sh' |
| Exec='/bin/bash' -c "ptyxis --standalone --title='2009Scape localhost Server — ' -- ~/'Projects/2009Scape-Server/scripts/localhost-server-start.sh'" | |
| Name=Launch Local Server | |
| |
| [Desktop Action Saves] | ===== Client Update ===== |
| Exec='/bin/bash' -c "~/'Projects/2009Scape-Server/scripts/localhost-save-backup.sh'" | |
| Name=Save Data Back-up | |
| |
| [Desktop Action Client-Notes] | mkdir -p ~/'Projects/RT4-Client/scripts' && nano ~/'Projects/RT4-Client/scripts/client-update.sh' && chmod +x ~/'Projects/RT4-Client/scripts/client-update.sh' |
| StartupNotify=false | |
| Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:linux:rt4_client_runescape_530'" | |
| Name=Client Installation Notes | |
| |
| [Desktop Action Server-Notes] | <code> |
| StartupNotify=false | #!/bin/bash |
| Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/servers:linux:games:2009scape_localhost'" | |
| Name=localhost Server Installation Notes | |
| |
| # End</code> | git -C ~/'Projects/RT4-Client/src' reset --hard |
| | git -C ~/'Projects/RT4-Client/src' pull origin 'master' --rebase |
| |
| ====== Quick Commands ====== | sed -i 's/USE_TWEENING = true/USE_TWEENING = false/g' ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' |
| | sed -i 's/BILINEAR_MINIMAP = true/BILINEAR_MINIMAP = false/g' ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' |
| | sed -i 's/USE_SHIFT_CLICK = true/USE_SHIFT_CLICK = false/g' ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' |
| | sed -i 's/MOUSEWHEEL_ZOOM = true/MOUSEWHEEL_ZOOM = false/g' ~/'Projects/RT4-Client/src/client/src/main/java/rt4/GlobalConfig.java' |
| |
| ===== Execute ===== | cd ~/'Projects/RT4-Client/src' |
| |
| **** | export JAVA_HOME='/usr/lib64/jvm/java-17-openjdk-17' |
| |
| cd ~/'Projects/RT4-Client/src/client' && java -jar ~/'Projects/RT4-Client/src/client/build/libs/client-'*'.jar' --config ~/'Projects/RT4-Client/conf/localhost.json' | ~/'Projects/RT4-Client/src/gradlew' 'clean' --no-daemon |
| | ~/'Projects/RT4-Client/src/gradlew' 'jar' --no-daemon |
| |
| ==== Testing ==== | unset 'JAVA_HOME' |
| |
| GDK_BACKEND='x11' GDK_SCALE='2' | zenity --title '2009Scape Updater' --text 'RT4 Client update complete' --icon ~/'Projects/RT4-Client/src/client/src/main/resources/saradomin.png' --timeout '2' --info |
| |
| GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;API-thread-offloaded-slots+API-thread-direct-slots+API-thread-num-syncs;fps' mesa_glthread='true' | # End</code> |
| |
| cd ~/'Projects/RT4-Client/src/client' && JAVA_TOOL_OPTIONS='-XX:+UseSerialGC -Xms1G -Xmx4G --add-exports=java.desktop/sun.awt=ALL-UNNAMED' java -jar ~/'Projects/RT4-Client/src/client/build/libs/client-'*'.jar' --config ~/'Projects/RT4-Client/conf/localhost.json' | ~/'Projects/RT4-Client/scripts/client-update.sh' |
| |
| ===== Update ===== | ====== Settings ====== |
| |
| * [[https://gitlab.com/2009scape/rt4-client/-/commits/master|Commits History]] | * Main Menu -> ''[x]'' High detail |
| |
| git -C ~/'Projects/RT4-Client/src' reset --hard && git -C ~/'Projects/RT4-Client/src' pull origin 'master' --rebase && cd ~/'Projects/RT4-Client/src' && ~/'Projects/RT4-Client/src/gradlew' 'clean' && ~/'Projects/RT4-Client/src/gradlew' 'jar' && ~/'Projects/RT4-Client/src/gradlew' --stop && cd ~ && sync | * Graphics Options -> High detail (fullscreen): 1920 x 1080 |
| | * Graphics Options -> Roofs (in-game only): Always |
| | * Graphics Options -> Water detail: Low |
| |
| ~/'Projects/RT4-Client/scripts/client-update.sh' | ====== Desktop Launcher ====== |
| |
| ptyxis --standalone --title='RT4 Client Updater — ' -- ~/'Projects/RT4-Client/scripts/client-update.sh' | ===== 2009Scape (localhost) ===== |
| |
| ===== gradlew ===== | mkdir -p ~/'.local/share/applications' && nano ~/'.local/share/applications/2009Scape-localhost.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/2009Scape-localhost.desktop' && update-desktop-database --quiet ~/'.local/share/applications' |
| |
| * Lists available ''gradlew'' commands | <code> |
| | [Desktop Entry] |
| | Name=2009Scape |
| | Categories=Game; |
| | Exec='/bin/bash' -c "~/'Projects/RT4-Client/scripts/client-start.sh'" |
| | Type=Application |
| | StartupNotify=false |
| | StartupWMClass=rt4-client |
| | Icon=/home/CHANGEME/Projects/RT4-Client/src/client/src/main/resources/saradomin.png |
| | Actions=HiDPI;Server;Saves;Server-Update;Client-Update;Notes; |
| |
| cd ~/'Projects/RT4-Client/src' && JAVA_HOME='/usr/lib/jvm/jre-17-openjdk' ~/'Projects/RT4-Client/src/gradlew' 'tasks' && ~/'Projects/RT4-Client/src/gradlew' --stop | [Desktop Action HiDPI] |
| | Exec='/bin/bash' -c "~/'Projects/RT4-Client/scripts/client-hidpi.sh'" |
| | Name=Client (HiDPI) |
| |
| cd ~/'Projects/RT4-Client/src' && JAVA_HOME='/usr/lib/jvm/jre-17-openjdk' ~/'Projects/RT4-Client/src/gradlew' 'tasks' --all && ~/'Projects/RT4-Client/src/gradlew' --stop | [Desktop Action Server] |
| | Exec='/bin/bash' -c "kgx -T '2009Scape - Server' -e ~/'Projects/2009Scape-Server/scripts/localhost-server-start.sh'" |
| | Name=Server - Start |
| |
| ===== File Manager ===== | [Desktop Action Saves] |
| | Exec='/bin/bash' -c "~/'Projects/2009Scape-Server/scripts/localhost-save-backup.sh'" |
| | Name=Save Data Back-up |
| |
| ==== Root ==== | [Desktop Action Server-Update] |
| | Exec='/bin/bash' -c "kgx -T '2009Scape Updater' -e ~/'Projects/2009Scape-Server/scripts/localhost-server-update.sh'" |
| | Name=Server Update |
| |
| **** | [Desktop Action Client-Update] |
| | Exec='/bin/bash' -c "kgx -T 'RT4 Client Updater' -e ~/'Projects/RT4-Client/scripts/client-update.sh'" |
| | Name=Client Update |
| |
| gio open ~/'Projects/RT4-Client/src' | [Desktop Action Notes] |
| | Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/servers:linux:games:2009scape_localhost' 'https://wiki.realmofespionage.xyz/games:linux:rt4_client_runescape_530'" |
| | Name=Install Notes |
| | |
| | # End</code> |
| |