User Tools

Site Tools


games:runescape_native

Information

  • RuneScape 1)
  • NXT 2)

Install

Dependencies

Fedora Workstation

sudo dnf install libpng12 libGLEW

openSUSE Tumbleweed

sudo zypper install libpng12-0 libGLEW2_1

RuneScape

  • This extracts the necessary files out of the latest official runescape-launcher-amd64.deb package
  • :!: This currently expects the launcher package to be version 2.2.4, and may need a URL update for updated packages
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.4_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

libGLEW Library Fix

  • The NXT client wants libGLEW.so.1.10, but some distros only provide a newer version

Fedora Workstation

ln -s '/lib64/libGLEW.so.2.1' ~/'Jagex/updater/libGLEW.so.1.10'

openSUSE Tumbleweed

ln -s '/usr/lib64/libGLEW.so.2.1.0' ~/'Jagex/updater/libGLEW.so.1.10'

Launcher

  • :!: Minor changes to the current runescape-launcher from 2.2.4 3)
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 PULSE_PROP_OVERRIDE="application.name='RuneScape' application.icon_name='runescape' media.role='game'"
export SDL_VIDEO_X11_WMCLASS="RuneScape"



unset XMODIFIERS
./runescape --configURI $configURI $@

Generic

  • :!: Add between SDL_VIDEO_X11_WMCLASS and unset XMODIFIERS
  • LD_LIBRARY_PATH allows the NXT client to find libGLEW.so.1.10 in ~/Jagex/updater
  • PULSE_LATENCY_MSEC fixes a possible audio issue with PulseAudio, and may need adjusted
# Generic
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# libGLEW Location Fix
export LD_LIBRARY_PATH=~/'Jagex/updater'

Nightwane

  • AMD Radeon RX 580
  • :!: Add between SDL_VIDEO_X11_WMCLASS and unset XMODIFIERS
  • LD_LIBRARY_PATH allows the NXT client to find libGLEW.so.1.10 in ~/Jagex/updater
  • :!: Using nir (last checked 2019/08/03) was assumed to prevent black-screen issues, but it happened once even with that option; maybe it reduces the frequency of them?
# Generic
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# libGLEW Location Fix
export LD_LIBRARY_PATH=~/'Jagex/updater'

# Nightwane
export R600_DEBUG='nir'
export NIR_VALIDATE='0'
export MESA_GL_VERSION_OVERRIDE='4.5FC'

# Nightwane Benchmarking
#export GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;GPU-load,requested-VRAM+VRAM-usage;fps'

Mevion

  • Intel HD Graphics 6000
  • :!: Add between SDL_VIDEO_X11_WMCLASS and unset XMODIFIERS
  • LD_LIBRARY_PATH allows the NXT client to find libGLEW.so.1.10 in ~/Jagex/updater
  • MESA_GL_VERSION_OVERRIDE is not required, but without it, the max OpenGL version reported is 3.0, even though the hardware easily supports 4.5 4)
# Generic
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# libGLEW Location Fix
export LD_LIBRARY_PATH=~/'Jagex/updater'

# Mevion
export MESA_GL_VERSION_OVERRIDE='4.5FC'

Spinesnap

  • Intel GMA 4500MHD
  • :!: Add between SDL_VIDEO_X11_WMCLASS and unset XMODIFIERS
  • LD_LIBRARY_PATH allows the NXT client to find libGLEW.so.1.10 in ~/Jagex/updater
  • 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 5)
  • :!: This computer requires graphics settings to be Low for any kind of playable FPS
# Generic
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# libGLEW Location Fix
export LD_LIBRARY_PATH=~/'Jagex/updater'

# Spinesnap
export MESA_GLSL_VERSION_OVERRIDE='130'
export MESA_GL_VERSION_OVERRIDE='3.0'

Debugging

  • :!: Append after PULSE_LATENCY_MSEC
export MESA_GL_VERSION_OVERRIDE='4.5FC'
export MESA_DEBUG='1'
export LIBGL_DEBUG='verbose'
export vblank_mode='0'
export GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;cpu4+cpu5+cpu6+cpu7;GPU-load,requested-VRAM+VRAM-usage;fps'

Settings

Game

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 6)
  • In-game → Settings → Gameplay → General → Game Interaction → [x] Lock zoom to prevent accidental changes

Rendering Quality

  • DB Browser for SQLite → Settings.jcache
  • Browse Data → Table: Config → KEY GameRenderScale → DATA
  • Set DATA for KEY GameRenderScale to 33 or above 7)

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

  • For some reason, Runescape's volume is lower than average
  • The following commands boosts RS's volume past 100%
  • :!: This expects PulseAudio to be used

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' '135%'

Ping

  • US East: 7, 58, 61
  • Romania: 69, TODO
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
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/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)
MESA_GL_VERSION_OVERRIDE is removed, and the launcher is changed to run runescape from it's working directory instead of in /usr/share/..
4)
this allows selecting MSAA, but GPU performance for MSAA is unideal; outside of this there's no known benefit
5)
it's unknown if this causes any issues or improves anything
6)
the default value as of 2019/05/04 is 4730
7)
100 is native, 200 is double
games/runescape_native.txt · Last modified: 2019/08/03 19:44 by Sean Rhone