====== Information ======
* Jagex Launcher ((https://www.jagex.com/en-GB/launcher))
* Old School RuneScape ((http://oldschool.runescape.com))
* Legacy Java Client
* :!: 2024/07/01: The Legacy Java client's ''.jar'' and RuneLite's ''.jar'' were both tested to log-in and work fine when symlinked from the C++ client's ''osclient.exe'' and launched from Jagex Launcher; no need to change the client type in Jagex Launcher
* :!: 2024/07/01 Anything below this line including notes for Legacy Java and RuneLite anywhere aren't up-to-date yet
* :!: 2023/07/23: The legacy Java client is deprecated! ([[https://secure.runescape.com/m=news/new-official-client--next-steps?oldschool=1|news post]])
* :!: 2023/07/23: These notes **won't work** with the current linked ''Jagex Launcher'' folder since there's not a previous OSRS Java install present and these notes are mainly here for historical reference; see the [[games;linux;wine;old_school_runescape_jagex_launcher_c|C++ version]] instead!
* :!: TODO: The Java legacy option shows in Jagex Launcher if the old OldSchool.msi (non Jagex-Launcher/Java) is installed; presumably the Java version can still work in 2024, but ''wine'' is still needed for Jagex Launcher
* This allows running the Jagex Launcher through ''wine'', while keeping OSRS ran natively through ''java''
* Jagex Launcher in this context is used for the account authentication, and passes the log-in session data to the OSRS client
* Jagex Launcher can be closed after pressing ''Play'' and the OSRS client window appears ((the log-in session carries over through world switches and even log-outs; Jagex Launcher only needs re-opened if you close the OSRS client window))
* :!: 2023/07/23: This **cannot** be installed along-side the [[games;linux;wine;old_school_runescape_jagex_launcher_c|C++ version]] with current notes since they share the same Wine Prefix location; TODO: Change Wine prefix names for OSRS Java
===== Prerequisites =====
* [[distros:fedora_workstation_gnome|Fedora Workstation]]
* [[notes:wine|Wine]]
===== Notes =====
* ''i915'' on GNOME 44 shows notable tearing on OSRS when rotating the camera from Xorg, but not Wayland
====== Install ======
===== Dependencies =====
* ''wmctrl'' is used to toggle between windowed and fullscreen states
sudo dnf install java-11-openjdk wmctrl && sync
===== Jagex Launcher =====
* :!: You need to supply your own ''Jagex Launcher'' files as the installer doesn't work ((install Jagex Launcher on a Windows machine first, and then the ''Jagex Launcher'' folder in ''Program Files'' can be copied over as-is to the Wine prefix))
* [[https://drive.google.com/file/d/1e8QmSuo5OzcUGFiIUcr9tKX3gq83BlVb/view?usp=sharing|Google Drive]] link to a clean ''Jagex Launcher'' folder with SHA256 below
mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Old School RuneScape' WINEARCH='win32' wineboot && sync
sha256sum ~/'Downloads/20230709 Jagex Launcher.zip' | grep '0f68835338fedf1e51ee252ab2b7e08b99c21d24d89c9bf85d7d113524151fe9' > '/dev/null' && unzip -b -o -qq ~/'Downloads/20230709 Jagex Launcher.zip' -d ~/'.wine/Old School RuneScape/drive_c/Program Files' && sync
gio open ~/'.wine/Old School RuneScape/drive_c/Program Files'
==== Official Installer ====
* If the installer ever works, this is the preferred installation method
* 2023/07/19: The installer didn't appear to launch or show any GUI
mkdir -p ~/'.wine' && wget 'https://cdn.jagex.com/Jagex%20Launcher%20Installer.exe' -O ~/'Downloads/Jagex Launcher Installer.exe' && WINEPREFIX=~/'.wine/Old School RuneScape' WINEARCH='win32' wine explorer /desktop='Jagex-Launcher','1280x720' ~/'Downloads/Jagex Launcher Installer.exe'
===== Old School RuneScape =====
==== Jagex Launcher ====
* Update launcher if prompted, log-in, select OSRS -> Official Client -> Install
cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && WINEPREFIX=~/'.wine/Old School RuneScape' wine explorer /desktop='Jagex-Launcher','1280x720' ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer
==== Native Old School RuneScape ====
****
rm -Rf ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/jagexappletviewer.jar' && mkdir -p ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux' '/tmp/oldschool' && wget -O '/tmp/oldschool/OldSchool.msi' 'https://www.runescape.com/downloads/oldschool.msi' && 7z e -o'/tmp/oldschool/OldSchool-msi' -y '/tmp/oldschool/OldSchool.msi' && 7z e -o'/tmp/oldschool/rslauncher-cab' -y '/tmp/oldschool/OldSchool-msi/rslauncher.cab' && cp '/tmp/oldschool/rslauncher-cab/JagexAppletViewerJarFile'* ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/jagexappletviewer.jar' && cp '/tmp/oldschool/rslauncher-cab/JagexAppletViewerPngFile' ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/jagexappletviewer.png' && rm -Rf '/tmp/oldschool' && sync
==== Launch Script Magic ====
* [[https://web.archive.org/web/20220512132537/https://old.reddit.com/r/runescape/comments/uo0p9j/native_linux_client_working_with_the_jagex/i8bcuzv/|Source]] for the symlink advice
* Re-run this command and change ''sun.java2d.uiScale'' to adjust UI scaling level
nano ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/osrs.sh' && chmod +x ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/osrs.sh' && ln --symbolic --force ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/osrs.sh' ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/bin/JagexLauncher.exe'
#!/bin/bash
cd "${0%/*}"
export JDK_JAVA_OPTIONS='-Dsun.java2d.uiScale=1'
'/usr/lib/jvm/jre-11/bin/java' -Xms256M -Xmx2G -XX:+UseSerialGC -Duser.home='.' -Djava.class.path='jagexappletviewer.jar' -Dcom.jagex.config='http://oldschool'116'.runescape.com/k=3/l=$(Language:0)/jav_config.ws' -Dhttps.protocols='TLSv1.3' -Dsun.java2d.opengl='false' 'jagexappletviewer' 'oldschool'
# End
====== Desktop Launcher ======
* 2023/07/19: Cache clean-up command TODO
mkdir -p ~/'.local/share/applications/wine/Programs/Jagex' && nano ~/'.local/share/applications/wine/Programs/Jagex/Old School RuneScape.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/Jagex/Old School RuneScape.desktop'
[Desktop Entry]
Name=Old School RuneScape
Comment=Relive the challenging levelling system and risk-it-all PvP of the biggest retro styled MMO. Play with millions of other players in this piece of online gaming heritage where the community controls the development so the game is truly what you want it to be!
Categories=Game;Java;AdventureGame;RolePlaying
Exec=env WINEPREFIX='/home/CHANGEME/.wine/Old School RuneScape' wine explorer /desktop='Jagex-Launcher','1280x720' '/home/CHANGEME/.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer
Type=Application
StartupNotify=true
Path=/home/CHANGEME/.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher
Icon=/home/CHANGEME/.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/OSRS.icns
StartupWMClass=jagexappletviewer
Actions=Cache;Kill;Screen;Notes;
[Desktop Action Cache]
StartupNotify=false
#Exec='/bin/bash' -c "rm -Rf '/home/CHANGEME/runescape/oldschool/jagexcache' '/home/CHANGEME/runescape/oldschool/jagexappletviewer.preferences' '/home/CHANGEME/runescape/oldschool/jagex_cl_oldschool_LIVE.dat' '/home/CHANGEME/runescape/oldschool/random.dat' '/home/CHANGEME/runescape/oldschool/'*'.log' '/home/CHANGEME/runescape/oldschool/.java' '/tmp/oldschool' && sync && notify-send 'The Old School RuneScape cache has been cleaned.'"
Exec='/bin/bash' -c "sync && notify-send 'The cache cleanup option is not implemented yet.'"
Name=Cache Cleanup
[Desktop Action Kill]
Exec=env WINEPREFIX='/home/CHANGEME/.wine/Old School RuneScape' wineserver --kill
Name=Force-close
[Desktop Action Screen]
StartupNotify=false
Exec='/usr/bin/wmctrl' -r 'jagexappletviewer.jagexappletviewer' -x -b 'toggle,fullscreen'
Name=Toggle Fullscreen/Windowed
[Desktop Action Notes]
StartupNotify=false
Exec=gio open 'https://wiki.realmofespionage.xyz/games:wine:old_school_runescape_jagex_launcher_java'
Name=Installation Notes
==== Icon ====
* The icon provided from the macOS ''.dmg'' is higher-res than the one in the Windows ''.msi''
* ''.icns'' isn't a valid image file format [[https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html|according to Freedesktop.org Specifications]] so this isn't in the standard icon folder
rm -Rf '/tmp/oldschool' && mkdir -p '/tmp/oldschool' && wget -O '/tmp/oldschool/OldSchool.dmg' 'https://www.runescape.com/downloads/OldSchool.dmg' && 7z e -o'/tmp/oldschool/OldSchool-dmg' -y '/tmp/oldschool/OldSchool.dmg' && cp '/tmp/oldschool/OldSchool-dmg/OSRS.icns' ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/OSRS.icns' && rm -Rf '/tmp/oldschool' && sync
====== Quick Commands ======
===== Winecfg =====
****
WINEPREFIX=~/'.wine/Old School RuneScape' winecfg
===== Winetricks =====
****
WINEPREFIX=~/'.wine/Old School RuneScape' winetricks
===== Registry Editor =====
****
WINEPREFIX=~/'.wine/Old School RuneScape' regedit
===== Kill =====
****
WINEPREFIX=~/'.wine/Old School RuneScape' wineserver --kill
===== Execute =====
==== Jagex Launcher ====
cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' &&
WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe'
=== Troubleshootng ===
WINEDEBUG=''
explorer /desktop='Jagex-Launcher','1280x720'
--disable-gpu --disable-software-rasterizer
===== File Manager =====
==== Jagex Launcher ====
****
gio open ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/'
==== Old School RuneScape ====
****
gio open ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/linux/'