User Tools

Site Tools


games:old_school_runescape

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
games:old_school_runescape [2019/11/01 13:14] Sean Rhonegames:old_school_runescape [2024/02/01 18:14] (current) Sean Rhone
Line 2: Line 2:
  
   * Old School RuneScape ((http://oldschool.runescape.com))   * Old School RuneScape ((http://oldschool.runescape.com))
 +  * :!: Java; see [[games:wine:old_school_runescape_jagex_launcher_c|New C++ Client]] notes for the modern GPU-accelerated client
  
-===== Notes =====+===== Prerequisites =====
  
-  * ''-Dsun.java2d.opengl=true'' enables Hardware-acceleration via OpenGL, but as of 2018/10/10, this is broken with Intel Graphics on multiple computers ((does some weird tiling thing and is unplayable)) and as of 2019/10/24, has significantly worse performance on a i5-4278U CPU +  * [[distros:fedora_workstation_gnome|Fedora Workstation]]
-  * ''jagexappletviewer.jar'' from ''OldSchool.msi'' is used because it allows the copyright footer bar to be removed upon logging in (([[https://github.com/rsu-client/rsu-client/commit/b2553e5aeca9a0e6b271b5b17eee9a57c8d6ef11|rsu-client commit]] and [[https://github.com/rsu-client/rsu-client/issues/127|initial bug report]])) ((the previously used direct-link ''jagexappletviewer.jar'' can be found [[http://oldschool.runescape.com/downloads/jagexappletviewer.jar|here]])) +
-  * :!: The copyright footer is **not** hidden with OpenJDK 12, 13, and presumably any JRE newer than 11, regardless of where the ''jagexappletviewer.jar'' comes from ((last tested 2019/10/22))+
  
-====== Install ======+===== Notes =====
  
-===== Dependencies =====+  * :!: 2023/06/19: There are no known configurations where ''-Dsun.java2d.opengl=true'' offers a performance benefit 
 +  * :!: 2020/03/24: On macOS, using the official ''.dmg'' to install OSRS resulted in the worst possible performance due to a mix of forced GPU acceleration and Retina with Java 8; it was recommended to manually install OSRS and to use the latest OpenJDK package available instead to workaround this 
 +  * ''-Dsun.java2d.uiScale'' at 2 and higher increases all UI scale in-game, and improves performance with lowering texture resolution
  
-  * ''wmctrl'' is used to toggle between windowed and fullscreen states+==== Copyright Footer ====
  
-==== Fedora Workstation ====+  * ''jagexappletviewer.jar'' from ''OldSchool.msi'' was used because it allows the copyright footer bar to be removed upon logging in (([[https://github.com/rsu-client/rsu-client/commit/b2553e5aeca9a0e6b271b5b17eee9a57c8d6ef11|rsu-client commit]] and [[https://github.com/rsu-client/rsu-client/issues/127|initial bug report]])) ((the previously used direct-link ''jagexappletviewer.jar'' can be found [[http://oldschool.runescape.com/downloads/jagexappletviewer.jar|here]])) 
 +  * :!: The copyright footer was **not** hidden with OpenJDK 12, 13, and presumably any JRE newer than 11 if ''jagexappletviewer.jar'' comes from ''OldSchool.msi'' ((last tested 2019/10/22))
  
-  * ''p7zip-plugins'' is needed to extract ''jagexappletviewer.jar'' from ''OldSchool.msi'' later ((only ''7z'' can do this properly and **not** ''7za'', ''cabextract'', nor ''unar'')) ((this is expected to already be installed from the Fedora prerequisite))+====== Install ======
  
-  * Last tested2019/10/24 with Fedora Workstation 31+  * ''wmctrl'' is used to toggle between windowed and fullscreen states 
 +  * ''p7zip-plugins'' is needed to extract ''jagexappletviewer.jar'' from ''OldSchool.msi'' later ((only ''7z'' can do this properly and **not** ''7za'', ''cabextract'', nor ''unar'')) ((this is expected to already be installed from the Fedora prerequisite)) 
 +  * :!As of 2023/03/17, Java 19 didn't work on Fedora 37, but 11 is still fine
  
   sudo dnf install java-11-openjdk wmctrl && sync   sudo dnf install java-11-openjdk wmctrl && sync
- 
-==== Ubuntu ==== 
- 
-  * Last tested: 2019/10/22 with Ubuntu 19.10 
  
   sudo apt install openjdk-11-jre wmctrl && sync   sudo apt install openjdk-11-jre wmctrl && sync
  
-==== openSUSE Tumbleweed ====+==== Show Java Paths ====
  
-  * Last tested: N/A +  * Useful for specifying Java 11 in the launch script below instead of changing it system-wide
- +
-  sudo zypper install java-11-openjdk wmctrl && sync +
- +
-==== Set Default Java ==== +
- +
-****+
  
   sudo update-alternatives --config 'java'   sudo update-alternatives --config 'java'
  
 ===== Old School RuneScape ===== ===== Old School RuneScape =====
- 
-==== macOS DMG ==== 
  
 **** ****
  
-  rm -Rf ~/'runescape/oldschool' '/tmp/oldschool' && mkdir -p ~/'runescape/oldschool' '/tmp/oldschool' && wget -O '/tmp/oldschool/OldSchool.dmg' 'http://www.runescape.com/downloads/OldSchool.dmg' && 7z e -o'/tmp/oldschool/OldSchool-dmg' -y '/tmp/oldschool/OldSchool.dmg' && cp '/tmp/oldschool/OldSchool-dmg/jagexappletviewer.jar' ~/'runescape/oldschool/jagexappletviewer.jar' && cp '/tmp/oldschool/OldSchool-dmg/OSRS.icns' ~/'runescape/oldschool/OSRS.icns' && rm -Rf '/tmp/oldschool' && sync +  rm -Rf ~/'runescape/oldschool' '/tmp/oldschool' && mkdir -p ~/'runescape/oldschool' '/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'* ~/'runescape/oldschool/jagexappletviewer.jar' && cp '/tmp/oldschool/rslauncher-cab/JagexAppletViewerPngFile' ~/'runescape/oldschool/jagexappletviewer.png' && rm -Rf '/tmp/oldschool' && sync
- +
-==== Windows MSI ==== +
- +
-  * Old method +
- +
-  rm -Rf ~/'runescape/oldschool' '/tmp/oldschool' && mkdir -p ~/'runescape/oldschool' '/tmp/oldschool' && wget -O '/tmp/oldschool/OldSchool.msi' 'http://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'* ~/'runescape/oldschool/jagexappletviewer.jar' && wget -~/'runescape/oldschool/jagexappletviewer.png' 'https://lh3.googleusercontent.com/WLvp10q8TwtyVgMsYL7gW0c7NVG5vnFcRNS7oQtTnSyWbM9kgo_MS8QZa3bsylNgZDba' && rm -Rf '/tmp/oldschool' && sync+
  
 ====== Desktop Launcher ====== ====== Desktop Launcher ======
Line 59: Line 45:
 ===== Old School RuneScape ===== ===== Old School RuneScape =====
  
-  * :!: Change ''opengl'' and ''uiScale'' flags as-needed +  * :!: ''Exec='''s Java path may need changed depending on the distro 
-  * :!: ''opengl'' **needs** to be enabled if using a screen depth of 30/10-bit color+  * Change ''uiScale'' if-needed
  
   mkdir -p ~/'.local/share/applications' && nano ~/'.local/share/applications/Old School RuneScape.desktop'   mkdir -p ~/'.local/share/applications' && nano ~/'.local/share/applications/Old School RuneScape.desktop'
Line 69: Line 55:
 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! 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 Categories=Game;Java;AdventureGame;RolePlaying
-Exec='/usr/bin/java' -Duser.home='/home/CHANGEME/runescape/oldschool' -Djava.class.path='/home/CHANGEME/runescape/oldschool/jagexappletviewer.jar' -Dcom.jagex.config='http://oldschool.runescape.com/jav_config.ws' -Dhttps.protocols='TLSv1.2' -Xms'768M' -Xmx'768M' -Djava.system.class.loader='app.systemclassloader' -Dswing.crossplatformlaf='com.sun.java.swing.plaf.gtk.GTKLookAndFeel' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='2' 'jagexappletviewer' 'oldschool'+Exec='/usr/lib/jvm/java-11-openjdk-amd64/bin/java' -Xms256M -Xmx2G -XX:+UseConcMarkSweepGC -Duser.home='/home/CHANGEME/runescape/oldschool' -Djava.class.path='/home/CHANGEME/runescape/oldschool/jagexappletviewer.jar' -Dcom.jagex.config='http://oldschool.runescape.com/k=3/l=$(Language:0)/jav_config.ws' -Djdk.tls.client.protocols='TLSv1.3' -Dhttps.protocols='TLSv1.3' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='1' 'jagexappletviewer' 'oldschool'
 Type=Application Type=Application
 StartupNotify=true StartupNotify=true
 Path=/home/CHANGEME/runescape/oldschool Path=/home/CHANGEME/runescape/oldschool
-Icon=/home/CHANGEME/runescape/oldschool/jagexappletviewer.png+Icon=/home/CHANGEME/runescape/oldschool/OSRS.icns
 StartupWMClass=jagexappletviewer StartupWMClass=jagexappletviewer
-Actions=GL;Screen;Cache; +Actions=Screen;Cache;Notes;
- +
-[Desktop Action GL] +
-Exec='/usr/bin/java' -Duser.home='/home/CHANGEME/runescape/oldschool' -Djava.class.path='/home/CHANGEME/runescape/oldschool/jagexappletviewer.jar' -Dcom.jagex.config='http://oldschool.runescape.com/jav_config.ws' -Dhttps.protocols='TLSv1.2' -Xms'768M' -Xmx'768M' -Djava.system.class.loader='app.systemclassloader' -Dswing.crossplatformlaf='com.sun.java.swing.plaf.gtk.GTKLookAndFeel' -Dsun.java2d.opengl='true' -Dsun.java2d.uiScale='2' 'jagexappletviewer' 'oldschool' +
-Name=Start with OpenGL acceleration+
  
 [Desktop Action Screen] [Desktop Action Screen]
 StartupNotify=false StartupNotify=false
-Exec='/usr/bin/wmctrl' -r 'Old School RuneScape' -b toggle,fullscreen -F+Exec='/usr/bin/wmctrl' -r 'jagexappletviewer.jagexappletviewer-x -b 'toggle,fullscreen'
 Name=Toggle Fullscreen/Windowed Name=Toggle Fullscreen/Windowed
  
Line 89: Line 71:
 StartupNotify=false 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 "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.'"
-Name=Cache Cleanup</code>+Name=Cache Cleanup 
 + 
 +[Desktop Action Notes] 
 +StartupNotify=false 
 +Exec=gio open 'https://wiki.realmofespionage.xyz/games:old_school_runescape' 
 +Name=Installation Notes</code>
  
   sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/Old School RuneScape.desktop'   sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/Old School RuneScape.desktop'
 +
 +==== 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' ~/'runescape/oldschool/OSRS.icns' && rm -Rf '/tmp/oldschool' && sync
  
 ====== Quick Commands ====== ====== Quick Commands ======
Line 100: Line 94:
  
   rm -Rf ~/'runescape/oldschool/jagexcache' ~/'runescape/oldschool/jagexappletviewer.preferences' ~/'runescape/oldschool/jagex_cl_oldschool_LIVE.dat' ~/'runescape/oldschool/random.dat' '/tmp/oldschool' && sync   rm -Rf ~/'runescape/oldschool/jagexcache' ~/'runescape/oldschool/jagexappletviewer.preferences' ~/'runescape/oldschool/jagex_cl_oldschool_LIVE.dat' ~/'runescape/oldschool/random.dat' '/tmp/oldschool' && sync
- 
-===== Desktop Launcher Icon ===== 
- 
-==== Icons ==== 
- 
-  * Taken from Google Play Store page 
- 
-  * https://lh3.googleusercontent.com/WLvp10q8TwtyVgMsYL7gW0c7NVG5vnFcRNS7oQtTnSyWbM9kgo_MS8QZa3bsylNgZDba 
-  * https://i.imgur.com/0yCN5kE.png 
- 
-==== Command ==== 
- 
-**** 
- 
-  wget -O ~/'runescape/oldschool/jagexappletviewer.png' 'https://lh3.googleusercontent.com/WLvp10q8TwtyVgMsYL7gW0c7NVG5vnFcRNS7oQtTnSyWbM9kgo_MS8QZa3bsylNgZDba' 
  
 ===== Execute ===== ===== Execute =====
  
 ==== Old School RuneScape ==== ==== Old School RuneScape ====
- 
-  * See [[notes:java_flags|Java Flags]] for flags that can be added to this 
  
   cd ~/'runescape/oldschool' && java -Duser.home='.' -Djava.class.path='jagexappletviewer.jar' -Dcom.jagex.config='http://oldschool.runescape.com/jav_config.ws' -Dhttps.protocols='TLSv1.2' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='1' 'jagexappletviewer' 'oldschool'   cd ~/'runescape/oldschool' && java -Duser.home='.' -Djava.class.path='jagexappletviewer.jar' -Dcom.jagex.config='http://oldschool.runescape.com/jav_config.ws' -Dhttps.protocols='TLSv1.2' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='1' 'jagexappletviewer' 'oldschool'
Line 135: Line 112:
  
   gio open ~/'runescape/oldschool'   gio open ~/'runescape/oldschool'
 +
 +===== Testing =====
 +
 +==== jagexappletviewer.jar ====
 +
 +  * :!: ''jagexappletviewer.jar'' has varying filesizes depending on where it's sourced from, along with different functionality depending on the host operating system ((see the [[#copyright_footer|copyright footer notes]] above))
 +
 +=== Windows ===
 +
 +  * Extracts ''jagexappletviewer.jar'' from ''OldSchool.msi'' and requires ''7z''
 +  * Places it at ''~/Downloads/windows-jagexappletviewer.jar''
 +
 +  rm -Rf '/tmp/oldschool' && mkdir -p '/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'* ~/'Downloads/windows-jagexappletviewer.jar' && rm -Rf '/tmp/oldschool' && sync
 +
 +=== macOS ===
 +
 +  * Extracts ''jagexappletviewer.jar'' from ''OldSchool.dmg'' and requires ''7z''
 +  * Places it at ''~/Downloads/macos-jagexappletviewer.jar''
 +
 +  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/jagexappletviewer.jar' ~/'Downloads/macos-jagexappletviewer.jar' && rm -Rf '/tmp/oldschool' && sync
  
 ===== Android ===== ===== Android =====
Line 143: Line 140:
  
   am force-stop 'com.jagex.oldscape.android'   am force-stop 'com.jagex.oldscape.android'
 +
 +===== Windows =====
 +
 +==== Create Directory ====
 +
 +  * Alternatively, use Explorer to make the ''runescape'' folder in the ''User'' folder and ''runescape\oldschool''
 +
 +  if not exist %UserProfile%"\runescape\oldschool" mkdir %UserProfile%"\runescape\oldschool"
 +
 +  start %UserProfile%"\runescape"
 +
 +==== Java ====
 +
 +  * Download the Windows ''.zip'' of the latest Java package from https://jdk.java.net/
 +  * Extract the root folder from the archive and drop it in the ''runescape'' folder
 +  * Folder structure should be ''%UserProfile%\runescape\jdk-14''
 +  * ''javaw.exe'' should exist at ''%UserProfile%\runescape\jdk-14\bin\javaw.exe''
 +
 +==== jagexappletviewer.jar ====
 +
 +  * Extract it from the macOS ''Oldschool.dmg'' installer
 +  * Should reside at ''%UserProfile%\runescape\oldschool\jagexappletviewer.jar''
 +
 +==== Batch File ====
 +
 +  * Should reside at ''%UserProfile%\runescape\osrs.cmd''
 +  * The usual command-line arguments above can be tossed in or altered as-needed
 +
 +<code>
 +cd "jdk-"*"\bin"
 +
 +start javaw.exe -Djava.system.class.loader="app.systemclassloader" -Duser.home="..\..\oldschool" -Djava.class.path="..\..\oldschool\jagexappletviewer.jar" -Dcom.jagex.config="http://oldschool.runescape.com/jav_config.ws" -Dhttps.protocols="TLSv1.2" -Xms"768M" -Xmx"768M" -Dsun.java2d.uiScale="1" "jagexappletviewer" "oldschool"</code>
  
 ===== macOS ===== ===== macOS =====
Line 150: Line 179:
   * OpenJDK 9 had GPU usage and lower FPS   * OpenJDK 9 had GPU usage and lower FPS
   * Need ''-Djava.system.class.loader=app.systemclassloader''   * Need ''-Djava.system.class.loader=app.systemclassloader''
 +  * :!: This //very// likely needs refactored
  
   rm -Rf ~/'runescape/oldschool' && mkdir -p ~/'runescape/oldschool' && curl 'http://oldschool.runescape.com/downloads/jagexappletviewer.jar' -o ~/'runescape/oldschool/jagexappletviewer.jar' && curl 'https://lh3.googleusercontent.com/WLvp10q8TwtyVgMsYL7gW0c7NVG5vnFcRNS7oQtTnSyWbM9kgo_MS8QZa3bsylNgZDba' -o ~/'runescape/oldschool/jagexappletviewer.png' && sync   rm -Rf ~/'runescape/oldschool' && mkdir -p ~/'runescape/oldschool' && curl 'http://oldschool.runescape.com/downloads/jagexappletviewer.jar' -o ~/'runescape/oldschool/jagexappletviewer.jar' && curl 'https://lh3.googleusercontent.com/WLvp10q8TwtyVgMsYL7gW0c7NVG5vnFcRNS7oQtTnSyWbM9kgo_MS8QZa3bsylNgZDba' -o ~/'runescape/oldschool/jagexappletviewer.png' && sync
Line 157: Line 187:
  
 cd ~/'runescape/oldschool' cd ~/'runescape/oldschool'
-~/'runescape/jdk-13.0.1.jdk/Contents/Home/bin/java' -Djava.system.class.loader='app.systemclassloader' -Duser.home='.' -Djava.class.path='jagexappletviewer.jar' -Dcom.jagex.config='http://oldschool.runescape.com/jav_config.ws' -Dhttps.protocols='TLSv1.2' -Xms'768M' -Xmx'768M' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='2' 'jagexappletviewer' 'oldschool'</code>+~/'runescape/jdk-13.0.1.jdk/Contents/Home/bin/java' -Djava.system.class.loader='app.systemclassloader' -Duser.home='.' -Djava.class.path='jagexappletviewer.jar' -Dcom.jagex.config='http://oldschool.runescape.com/jav_config.ws' -Dhttps.protocols='TLSv1.2' -Xms'768M' -Xmx'768M' -Dsun.java2d.opengl='false' -Dsun.java2d.uiScale='1' 'jagexappletviewer' 'oldschool'</code>
  
/var/www/wiki/data/attic/games/old_school_runescape.1572628470.txt.gz · Last modified: 2019/11/01 13:14 by Sean Rhone