====== Information ======
* RT4 Client ((https://gitlab.com/2009scape/rt4-client))
* ''master'' Branch ((https://gitlab.com/2009scape/rt4-client/-/tree/master?ref_type=heads))
===== Prerequisites =====
* [[windows:10|Windows 10]]
===== Notes =====
* :!: This is for private server use
* See [[servers:windows:games:2009scape_localhost|2009Scape localhost Server]] to set-up a local server
====== Dependencies ======
* https://gitlab.com/2009scape/rt4-client#instructions
* Git, Java
===== Git =====
* https://www.git-scm.com/download/win
* Last tested: ''Git-2.47.0.2-64-bit.exe''
* No components required
* :!: Git from the command line and also from 3rd-party software (make sure it's selected)
* Checkout as-is, commit as-is
===== Java =====
* https://learn.microsoft.com/en-us/java/openjdk/download#openjdk-17
* Last tested: ''microsoft-jdk-17.0.13-windows-x64.msi''
* Entire feature install of ''Microsoft Build of OpenJDK''
==== HD Fullscreen ====
* :!: [[https://gitlab.com/2009scape/rt4-client#instructions|JOGL issue on 16+ note]] ((2024/11/07: Still true with JDK 17 on W10 and Intel UHD 630 as of [[https://gitlab.com/2009scape/rt4-client/-/commit/5cf2f18786dab256da75a4c6f70bdc0330f24e2a|5cf2f187]]; JDK 11 fullscreens fine))
* https://learn.microsoft.com/en-us/java/openjdk/download#openjdk-11
* Last tested: ''microsoft-jdk-11.0.25-windows-x64.msi''
* :!: All secondary features manually-marked unavailable ((only need the binary files present; ''PATH''s expect JDK 17+))
====== Download Source ======
* https://gitlab.com/2009scape/rt4-client/-/commits/master
git clone --branch "master" --depth "1" --recurse-submodules "https://gitlab.com/2009scape/rt4-client.git" "%UserProfile%\Projects\RT4-Client\src"
explorer "%UserProfile%\Projects\RT4-Client\src"
====== Build ======
CD "%UserProfile%\Projects\RT4-Client\src" && "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" "clean"
CD "%UserProfile%\Projects\RT4-Client\src" && "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" "jar"
CD "%UserProfile%\Projects\RT4-Client\src" && "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" --stop
====== Settings ======
===== localhost =====
* See [[#plugins|Plugins notes]]
MKDIR "%UserProfile%\Projects\RT4-Client\conf"
notepad "%UserProfile%\Projects\RT4-Client\conf\localhost.json"
{
"ip_management": "localhost",
"ip_address": "localhost",
"world": 1,
"server_port": 43594,
"wl_port": 43595,
"js5_port": 43595,
"mouseWheelZoom": false,
"pluginsFolder": "null"
}
====== Scripts ======
****
MKDIR "%UserProfile%\Projects\RT4-Client\scripts"
===== Client Start =====
notepad "%UserProfile%\Projects\RT4-Client\scripts\client-start.bat"
@echo off
CD "%UserProfile%\Projects\RT4-Client\src\client"
START "" "%ProgramFiles%\Microsoft\jdk-11.0.25.9-hotspot\bin\javaw.exe" -XX:+UseSerialGC -Xms1G -Xmx4G --add-exports=java.desktop/sun.awt=ALL-UNNAMED -jar "%UserProfile%\Projects\RT4-Client\src\client\build\libs\client-1.0.0.jar" --config "%UserProfile%\Projects\RT4-Client\conf\localhost.json"
:: End
==== High DPI ====
notepad "%UserProfile%\Projects\RT4-Client\scripts\client-hidpi-start.bat"
@echo off
CD "%UserProfile%\Projects\RT4-Client\src\client"
START "" "%ProgramFiles%\Microsoft\jdk-11.0.25.9-hotspot\bin\javaw.exe" -XX:+UseSerialGC -Xms1G -Xmx4G --add-exports=java.desktop/sun.awt=ALL-UNNAMED -Dsun.java2d.uiScale=2 -jar "%UserProfile%\Projects\RT4-Client\src\client\build\libs\client-1.0.0.jar" --config "%UserProfile%\Projects\RT4-Client\conf\localhost.json"
:: End
===== Client Update =====
notepad "%UserProfile%\Projects\RT4-Client\scripts\client-update.bat"
@echo off
git -C "%UserProfile%\Projects\RT4-Client\src" reset --hard
git -C "%UserProfile%\Projects\RT4-Client\src" pull origin "master" --rebase
CD "%UserProfile%\Projects\RT4-Client\src"
CALL "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" "clean"
CALL "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" "jar"
CALL "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" --stop
:: End
====== Launcher Shortcuts ======
===== Icon =====
* Convert source ''saradomin.png'' to ''saradomin.ico'', save to ''ext'' folder ((Windows 10 can't use ''.png'' as icons; [[https://www.gimp.org/|GIMP]] converts easily))
* Start Menu and Desktop shortcuts expect ''saradomin.ico''
MKDIR "%UserProfile%\Projects\RT4-Client\ext"
explorer "%UserProfile%\Projects\RT4-Client\ext"
explorer "%UserProfile%\Projects\RT4-Client\src\client\src\main\resources"
"%UserProfile%\Projects\RT4-Client\ext\saradomin.ico"
===== Desktop =====
* Right-click Desktop -> New -> Shortcut
==== Client ====
"%UserProfile%\Projects\RT4-Client\scripts\client-start.bat"
2009Scape
"%UserProfile%\Projects\RT4-Client\ext\saradomin.ico"
==== High DPI ====
"%UserProfile%\Projects\RT4-Client\scripts\client-hidpi-start.bat"
2009Scape (HiDPI)
"%UserProfile%\Projects\RT4-Client\ext\saradomin.ico"
===== Start Menu =====
****
MKDIR "%AppData%\Microsoft\Windows\Start Menu\Programs\2009Scape"
==== Shortcuts ====
* Right-click -> New -> Shortcut
explorer "%AppData%\Microsoft\Windows\Start Menu\Programs\2009Scape"
=== Client ===
"%UserProfile%\Projects\RT4-Client\scripts\client-start.bat"
2009Scape (Client)
"%UserProfile%\Projects\RT4-Client\ext\saradomin.ico"
=== High DPI ===
"%UserProfile%\Projects\RT4-Client\scripts\client-hidpi-start.bat"
2009Scape (HiDPI)
"%UserProfile%\Projects\RT4-Client\ext\saradomin.ico"
=== Update ===
"%UserProfile%\Projects\RT4-Client\scripts\client-update.bat"
Client Updater
=== Updates Check ===
https://gitlab.com/2009scape/rt4-client/-/commits/master
Client - Updates Check
=== Install Notes ===
https://wiki.realmofespionage.xyz/games:windows:rt4_client_runescape_530
Client - Install Notes
===== Steam =====
* [[#hd_fullscreen|Java 11]]
* Add Non-Steam Game -> Browse...
"C:\Program Files\Microsoft\jdk-11.0.25.9-hotspot\bin\javaw.exe"
* Name
2009Scape (localhost)
* Icon
C:\Users\Espionage724\Projects\RT4-Client\src\client\src\main\resources\saradomin.png
* Start In
C:\Users\Espionage724\Projects\RT4-Client\src\client
* Launch Options
-XX:+UseSerialGC -Xms1G -Xmx4G --add-exports=java.desktop/sun.awt=ALL-UNNAMED -jar "C:\Users\Espionage724\Projects\RT4-Client\src\client\build\libs\client-1.0.0.jar" --config "C:\Users\Espionage724\Projects\RT4-Client\conf\localhost.json"
==== High DPI ====
* Add Non-Steam Game -> Browse...
"C:\Program Files\Microsoft\jdk-11.0.25.9-hotspot\bin\javaw.exe"
* Name
2009Scape (localhost) - HiDPI
* Icon
C:\Users\Espionage724\Projects\RT4-Client\src\client\src\main\resources\saradomin.png
* Start In
C:\Users\Espionage724\Projects\RT4-Client\src\client
* Launch Options
-XX:+UseSerialGC -Xms1G -Xmx4G --add-exports=java.desktop/sun.awt=ALL-UNNAMED -Dsun.java2d.uiScale=2 -jar "C:\Users\Espionage724\Projects\RT4-Client\src\client\build\libs\client-1.0.0.jar" --config "C:\Users\Espionage724\Projects\RT4-Client\conf\localhost.json"
====== Quick Commands ======
===== Execute =====
==== System Java ====
****
CD "%UserProfile%\Projects\RT4-Client\src\client" && java -jar "%UserProfile%\Projects\RT4-Client\src\client\build\libs\client-1.0.0.jar" --config "%UserProfile%\Projects\RT4-Client\conf\localhost.json"
==== Testing ====
* Java 11
* 2nd command is High DPI
CD "%UserProfile%\Projects\RT4-Client\src\client" && "%ProgramFiles%\Microsoft\jdk-11.0.25.9-hotspot\bin\java.exe" -XX:+UseSerialGC -Xms1G -Xmx4G --add-exports=java.desktop/sun.awt=ALL-UNNAMED -jar "%UserProfile%\Projects\RT4-Client\src\client\build\libs\client-1.0.0.jar" --config "%UserProfile%\Projects\RT4-Client\conf\localhost.json"
CD "%UserProfile%\Projects\RT4-Client\src\client" && "%ProgramFiles%\Microsoft\jdk-11.0.25.9-hotspot\bin\java.exe" -XX:+UseSerialGC -Xms1G -Xmx4G --add-exports=java.desktop/sun.awt=ALL-UNNAMED -Dsun.java2d.uiScale=2 -jar "%UserProfile%\Projects\RT4-Client\src\client\build\libs\client-1.0.0.jar" --config "%UserProfile%\Projects\RT4-Client\conf\localhost.json"
===== Update =====
* https://gitlab.com/2009scape/rt4-client/-/commits/master
* :!: TODO
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
~/'Projects/RT4-Client/scripts/client-update.sh'
===== gradlew =====
* Lists available ''gradlew'' commands
CD "%UserProfile%\Projects\RT4-Client\src" && "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" "tasks" && "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" --stop
CD "%UserProfile%\Projects\RT4-Client\src" && "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" "tasks" --all && "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" --stop
CD "%UserProfile%\Projects\RT4-Client\src" && "%UserProfile%\Projects\RT4-Client\src\gradlew.bat" --stop
===== File Manager =====
==== Root ====
****
explorer "%UserProfile%\Projects\RT4-Client\src"
==== Plugins ====
* [[https://gitlab.com/2009scape/rt4-client/-/tree/master/plugin-playground/src/main?ref_type=heads|Upstream Plugins]]
* [[#build|Compiled]] with Client
* Enable by setting ''pluginsFolder'' to ''plugins'' in [[#localhost|json conf]]
* [[https://gitlab.com/2009scape/rt4-client/-/blob/master/plugin-playground/src/main/kotlin/BasicInputQOL/plugin.kt?ref_type=heads|BasicInputQOL]] provides mouse-wheel control ((both zoom (hold Ctrl or Shift) **and** camera rotation movement (wheel-hold); neither are available by-default without the plugin enabled))
explorer "%UserProfile%\Projects\RT4-Client\src\client\plugins"