games:linux:old_school_runescape
Table of Contents
Information
- Old School RuneScape 1)
- Java; see New C++ Client notes for the modern GPU-accelerated client
Prerequisites
Notes
- 2023/06/19: There are no known configurations where
-Dsun.java2d.opengl=true
offers a performance benefit - 2024/05/10:
-Dsun.java2d.opengl=true
seems to result in slightly lower reported FPS in certain areas compared to no hardware-acceleration, but camera movement and NPC animations are notably smoother at all times - 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
Copyright Footer
- The copyright footer was not hidden with OpenJDK 12, 13, and presumably any JRE newer than 11 if
jagexappletviewer.jar
comes fromOldSchool.msi
4)
Install
wmctrl
is used to toggle between windowed and fullscreen states- 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 apt install openjdk-11-jre wmctrl && sync
Show Java Paths
- Useful for specifying Java 11 in the launch script below instead of changing it system-wide
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.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
Desktop Launcher
Old School RuneScape
Exec=
's Java path may need changed depending on the distro- Change
uiScale
if-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/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 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 'jagexappletviewer.jagexappletviewer' -x -b 'toggle,fullscreen' 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'
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 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
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
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 7)
Windows
- Extracts
jagexappletviewer.jar
fromOldSchool.msi
and requires7z
- 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
fromOldSchool.dmg
and requires7z
- 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
- 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 theUser
folder andrunescape\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
- 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
#!/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='1' 'jagexappletviewer' 'oldschool'
Legacy Java Client
- Last tested: 2024/06/19
notepad "%UserProfile%\jagexcache\jagexlauncher\oldschool\oldschool.prm"
-Djava.class.path=jagexappletviewer.jar -Dsun.java2d.opengl=true -Dsun.java2d.accthreshold=0 -Dcom.jagex.config=http://oldschool116.runescape.com/k=3/l=$(Language:0)/jav_config.ws -Xmx512m -Xms256M -Dhttps.protocols=TLSv1.3 -XX:+UseSerialGC jagexappletviewer
Jagex Launcher Flags
- Last tested: 2024/06/19
--disable-gpu --disable-software-rasterizer --single-process --launch=osrs --silent
4)
last tested 2019/10/22
5)
only
7z
can do this properly and not 7za
, cabextract
, nor unar
6)
this is expected to already be installed from the Fedora prerequisite
7)
see the copyright footer notes above
/var/www/wiki/data/pages/games/linux/old_school_runescape.txt · Last modified: by 127.0.0.1