User Tools

Site Tools


games:old_school_runescape

This is an old revision of the document!


Information

  • Old School RuneScape 1)

Prerequisites

Notes

Performance

  • -Dsun.java2d.opengl=true enables Hardware-acceleration via OpenGL
  • :!: This is known to be broken with Intel graphics on multiple computers 2)
  • :!: There is no known configuration where -Dsun.java2d.opengl=true offers a performance benefit
  • :!: On macOS, using the official .dmg to install OSRS results in the worst possible performance due to a mix of forced GPU acceleration and Retina with Java 8, and it is recommended to manually install OSRS and to use the latest OpenJDK package available instead to workaround this
  • -Dsun.java2d.uiScale at 2 and higher improves performance, along with lowering overall texture quality
  • jagexappletviewer.jar from OldSchool.msi was used because it allows the copyright footer bar to be removed upon logging in 3) 4)
  • :!: The copyright footer is not hidden with OpenJDK 12, 13, and presumably any JRE newer than 11 if jagexappletviewer.jar comes from OldSchool.msi 5)
  • :!: The copyright footer is only hidden with jagexappletviewer.jar from OldSchool.dmg if -Djava.system.class.loader=app.systemclassloader is set on both macOS and Linux hosts 6)

Install

  • wmctrl is used to toggle between windowed and fullscreen states
  • p7zip-plugins is needed to extract jagexappletviewer.jar from OldSchool.dmg later 7) 8)
  • :!: As of 2020/03/26, java-latest-openjdk at version 14.0.0.36-2.rolling.fc32 did not work, so going back to 11 LTS
sudo dnf install java-11-openjdk wmctrl && sync

Set Default Java

sudo update-alternatives --config 'java'

Old School RuneScape

rm -Rf ~/'runescape/oldschool' '/tmp/oldschool' && mkdir -p ~/'runescape/oldschool' '/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' ~/'runescape/oldschool/jagexappletviewer.jar' && cp '/tmp/oldschool/OldSchool-dmg/OSRS.icns' ~/'runescape/oldschool/OSRS.icns' && rm -Rf '/tmp/oldschool' && sync

Desktop Launcher

Old School RuneScape

  • :!: Change opengl and uiScale flags as-needed
mkdir -p ~/'.local/share/applications' && nano ~/'.local/share/applications/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='/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' -Djdk.tls.client.protocols='TLSv1.2' -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='1' 'jagexappletviewer' 'oldschool'
Type=Application
StartupNotify=true
Path=/home/CHANGEME/runescape/oldschool
Icon=/home/CHANGEME/runescape/oldschool/OSRS.icns
StartupWMClass=jagexappletviewer
Actions=Screen;Cache;Notes;

[Desktop Action Screen]
StartupNotify=false
Exec='/usr/bin/wmctrl' -r 'Old School RuneScape' -b toggle,fullscreen -F
Name=Toggle Fullscreen/Windowed

[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.'"
Name=Cache Cleanup

[Desktop Action Notes]
StartupNotify=false
Exec=gio open 'https://wiki.realmofespionage.xyz/games:old_school_runescape'
Name=Installation Notes
sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/Old School RuneScape.desktop'

Quick Commands

Clear Cache

rm -Rf ~/'runescape/oldschool/jagexcache' ~/'runescape/oldschool/jagexappletviewer.preferences' ~/'runescape/oldschool/jagex_cl_oldschool_LIVE.dat' ~/'runescape/oldschool/random.dat' '/tmp/oldschool' && sync

Execute

Old School RuneScape

  • See 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'
-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+AlwaysPreTouch -Xms'512M' -Xmx'512M' -XX:-UseBiasedLocking -XX:+DisableExplicitGC
-XX:+UseNUMA

File Manager

Root

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 9)

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' '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'* ~/'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' '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' ~/'Downloads/macos-jagexappletviewer.jar' && rm -Rf '/tmp/oldschool' && sync

Generic

  • Downloads jagexappletviewer.jar directly with wget 10)
  • Places it at ~/Downloads/generic-jagexappletviewer.jar
wget -O ~/'Downloads/generic-jagexappletviewer.jar' 'http://oldschool.runescape.com/downloads/jagexappletviewer.jar' && sync

Android

  • TODO
am start -n 'com.jagex.oldscape.android/.AndroidLauncher'
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
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"

macOS

  • need macOS dmg .jar
  • Need OpenJDK 13 or something in the ~/runescape folder
  • OpenJDK 9 had GPU usage and lower FPS
  • Need -Djava.system.class.loader=app.systemclassloader
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
#!/usr/bin/env zsh

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'
2)
does some weird tiling thing and is unplayable
4)
the previously used direct-link jagexappletviewer.jar can be found here
5)
last tested 2019/10/22
6)
this flag doesn't work with the jagexappletviewer.jar from OldSchool.msi
7)
only 7z can do this properly and not 7za, cabextract, nor unar
8)
this is expected to already be installed from the Fedora prerequisite
10)
no idea what this version actually is or what platform it's for
/var/www/wiki/data/attic/games/old_school_runescape.1585215451.txt.gz · Last modified: 2020/03/26 05:37 by Sean Rhone