User Tools

Site Tools


games:runescape_native

Information

  • RuneScape 1)
  • NXT 2)

Dependencies

sudo dnf install 'openssl1.1.x86_64' && sync

Install

Version Check

RuneScape

  • This extracts the necessary files out of the latest official runescape-launcher-amd64.deb package, and should work fine on most Linux distros
  • :!: This currently expects the launcher package to be version 2.2.11, and may need a URL update for updated packages
  • Last tested: 2023/06/07 on Fedora 38
  • TODO: restorecon
cd ~ && rm -Rf ~/'.runescape' ~/'Jagex/launcher' ~/'Jagex/updater' ~/'Jagex/RuneScape/GlobalSettings.jcache' ~/'Jagex/RuneScape/Settings.jcache' ~/'Jagex/RuneScape/ShaderManager.jcache' ~/'.local/share/icons/hicolor/'*'/apps/runescape.png' ~/'.local/share/applications/RuneScape.desktop' '/tmp/runescape' && mkdir -p ~/'Jagex/updater' '/tmp/runescape' && wget -O '/tmp/runescape/runescape-launcher-amd64.deb' 'https://content.runescape.com/downloads/ubuntu/pool/non-free/r/runescape-launcher/runescape-launcher_2.2.11_amd64.deb' && unar -o '/tmp/runescape' '/tmp/runescape/runescape-launcher-amd64.deb' && unar -o '/tmp/runescape' '/tmp/runescape/runescape-launcher-amd64/data.tar.xz' && cp '/tmp/runescape/data/usr/bin/runescape-launcher' '/tmp/runescape/data/usr/share/games/runescape-launcher/runescape' ~/'Jagex/updater' && cp -R '/tmp/runescape/data/usr/share/icons' ~/'.local/share' && ls ~/'Jagex/updater/runescape' ~/'Jagex/updater/runescape-launcher' > '/dev/null' && rm -Rf '/tmp/runescape' && sync

Launcher

  • :!: Minor changes to the current runescape-launcher from 2.2.10 4)
  • :!: If PipeWire doesn't work, change the config to PulseAudio 5)
  • :!: 2023/02/22: SDL_VIDEODRIVER=wayland caused the launcher to crash on Wayland, but using x11 on Wayland works fine
nano ~/'Jagex/updater/runescape-launcher'
#!/bin/sh

if [ -z $1 ]; then
    configURI=http://www.runescape.com/k=5/l=\$\(Language:0\)/jav_config.ws
else
    configURI=$1
    shift
fi

export SDL_VIDEO_X11_WMCLASS="RuneScape"
export PULSE_LATENCY_MSEC='100'

# PulseAudio
#export SDL_AUDIODRIVER='pulseaudio'
#export PULSE_PROP_OVERRIDE="application.name='RuneScape' application.icon_name='runescape' media.role='game'"

# PipeWire
export SDL_AUDIODRIVER='pipewire'

# Display Server
#export SDL_VIDEODRIVER='wayland'
export SDL_VIDEODRIVER='x11'

# Custom



unset XMODIFIERS
~/Jagex/updater/runescape --configURI $configURI $@

Modern Open/Mesa Graphics

  • AMD Radeon RX 6600 XT
  • Intel UHD Graphics 630
  • :!: Add under # Custom but above unset XMODIFIERS
  • TODO: Test 4.6FC
# Modern Open/Mesa Graphics
export MESA_SHADER_CACHE_DIR=~/'Jagex'
export MESA_GL_VERSION_OVERRIDE='4.6COMPAT'
export MESA_NO_ERROR='1'
export mesa_glthread='true'
export MESA_DISK_CACHE_SINGLE_FILE='1'
export MESA_DISK_CACHE_DATABASE='1'

Zink

# Zink
export MESA_SHADER_CACHE_DIR=~/'Jagex'
export MESA_LOADER_DRIVER_OVERRIDE='zink'
export GALLIUM_DRIVER='zink'

Old Intel Graphics

  • Intel GMA 4500MHD
  • :!: Add under # Custom but above unset XMODIFIERS
  • :!: This hasn't been tested since 2019
  • The graphics-related environment variables are for a Intel GMA 4500MHD GPU that barely reports OpenGL 2.0
  • :!: MESA_GLSL_VERSION_OVERRIDE is required, and 130 is the lowest NXT will allow
  • :!: MESA_GL_VERSION_OVERRIDE can be 2.1, but renderer in dev console doesn't expose GL extensions 6)
  • :!: This computer required graphics settings to be Low for any kind of playable FPS
# Old Intel Graphics
export MESA_SHADER_CACHE_DIR=~/'Jagex'
export MESA_GLSL_VERSION_OVERRIDE='130'
export MESA_GL_VERSION_OVERRIDE='3.0'
export mesa_glthread='true'

NVIDIA Proprietary

  • :!: Expects use of the NVIDIA proprietary driver, and not nouveau
  • :!: Add under # Custom but above unset XMODIFIERS
# NVIDIA Proprietary
export __GL_SHADER_DISK_CACHE_PATH=~/'Jagex'
export __GL_THREADED_OPTIMIZATIONS='1'

Debugging

  • :!: Add under # Custom but above unset XMODIFIERS
export MESA_DEBUG='1'
export LIBGL_DEBUG='verbose'

More Environment Variables

Jagex Launcher

ln --backup --symbolic --force ~/'Jagex/updater/runescape-launcher' ~/'.wine/Jagex Launcher/drive_c/Program Files/Jagex Launcher/Games/RuneScape/RuneScape.exe'

Settings

Game

Music Player

Camera

  • DB Browser for SQLite → Settings.jcache
  • Browse Data → Table: vt-varc → KEY 1971 → DATA
  • Set DATA for KEY 1971 to NULL and restart client to have default camera distance 7)
  • In-game → Settings → Gameplay → General → Game Interaction → [x] Lock zoom to prevent accidental changes
sudo dnf install 'sqlitebrowser' -y
sqlitebrowser ~/'Jagex/RuneScape/Settings.jcache'

Developer Console

GNOME Keybind

  • Press Alt + ~ to access the console in-game
  • This needs ran with GNOME since it binds Alt + ~ by-default
gsettings set 'org.gnome.desktop.wm.keybindings' 'switch-group' "['disabled']"

Keybind Reset

gsettings reset 'org.gnome.desktop.wm.keybindings' 'switch-group'

Commands

  • Type help to see commands
  • :!: displayfps being displayed lowers performance noticeably, and it may be better to use GALLIUM_HUD if possible for performance statistics
help
displayfps
renderer

Volume

Information

  • Runescape's volume was lower than average with PulseAudio
  • The following commands boosts RS's volume past 100%
  • :!: This expects PulseAudio to be used 8)
  • 2023/08/24: This was required on openSUSE TW

Get Index

  • :!: If playing audio from another source, remove grep, and Properties will present Runescape for the correct sink
pactl list sink-inputs | grep '#'

Set Volume

pactl set-sink-input-volume 'x' '155%'

Ping

nano '/tmp/rs3-ping.sh' && chmod +x '/tmp/rs3-ping.sh' && '/tmp/rs3-ping.sh'
for world in {1..141};
do
    res=$(ping world${world}.runescape.com -c 1 2>&0 | grep "time=" | cut -d' ' -f 8,9 | cut -d'=' -f 2) && echo World ${world}: ${res};
done

Desktop Launcher

RuneScape

nano ~/'.local/share/applications/RuneScape.desktop'
[Desktop Entry]
Name=RuneScape
Comment=A unique MMO set in the vast, fantasy world of Gielinor, brimming with diverse races, guilds and ancient gods battling for dominion. RuneScape now features more ways to play, brand new skills and over 200 gripping story-driven quests.
Categories=Game;AdventureGame;RolePlaying
Exec='/home/CHANGEME/Jagex/updater/runescape-launcher'
Type=Application
StartupNotify=false
Path=/home/CHANGEME/Jagex/updater
Icon=runescape
StartupWMClass=RuneScape
Actions=Kill;Cache;

[Desktop Action Kill]
Exec='/bin/killall' -9 'rs2client' 'runescape' 'runescape-launcher'
Name=Force-close

[Desktop Action Cache]
Exec='/bin/bash' -c "rm -Rf ~/'.runescape' ~/'Jagex/mesa_shader_cache' ~/'Jagex'/GLCache' ~/'Jagex/launcher/instance.lock' ~/'Jagex/RuneScape/ShaderManager.jcache' '/tmp/runescape' && sync && notify-send 'The RuneScape cache has been cleaned.'"
Name=Cache Clean-up
sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/RuneScape.desktop'

Quick Commands

Execute

RuneScape

cd ~/'Jagex/updater' && ~/'Jagex/updater/runescape-launcher'

File Manager

Root

gio open ~/'Jagex'
3)
this should 404; if it doesn't then there's an updated package and the notes are referencing an older version number
4)
the launcher is changed to run runescape from it's working directory instead of in /usr/share/..
5)
PW works on F36 but not openSUSE TW
6)
it's unknown if this causes any issues or improves anything
7)
the default value as of 2022/09/27 is 4730
8)
PipeWire on Fedora 36 seems to have expected volume by-default
/var/www/wiki/data/pages/games/runescape_native.txt · Last modified: 2024/03/24 20:52 by Sean Rhone