====== Information ======
* Void Client ((https://github.com/GregHib/void-client))
===== Prerequisites =====
* [[linux:distros:opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]]
===== Notes =====
* :!: This is for private server use
* See [[servers:linux:games:void_localhost|Void localhost Server]] to set-up a server
====== Dependencies ======
****
sudo zypper install git-core java-21-openjdk-headless java-25-openjdk
====== Download Source ======
* https://github.com/GregHib/void-client/commits/main/
cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/Void-Client/src' && git clone --branch 'main' --depth '1' --recurse-submodules 'https://github.com/GregHib/void-client.git' ~/'Projects/Void-Client/src'
====== Build ======
****
cd ~/'Projects/Void-Client/src' && chmod +x ~/'Projects/Void-Client/src/gradlew' && JAVA_HOME='/usr/lib64/jvm/java-21-openjdk-21' ~/'Projects/Void-Client/src/gradlew' 'clean' --no-daemon && JAVA_HOME='/usr/lib64/jvm/java-21-openjdk-21' ~/'Projects/Void-Client/src/gradlew' 'shadowJar' --no-daemon
====== Scripts ======
===== Client Start =====
mkdir -p ~/'Projects/Void-Client/scripts' && nano ~/'Projects/Void-Client/scripts/client-start.sh' && chmod +x ~/'Projects/Void-Client/scripts/client-start.sh'
#!/bin/bash
cd '/tmp'
export _JAVA_OPTIONS="-Dsun.java2d.uiScale='1' --enable-native-access='ALL-UNNAMED' -XX:'+UseSerialGC' -Xms'1G' -Xmx'4G'"
'/usr/lib64/jvm/java-25-openjdk-25/bin/java' -jar ~/'Projects/Void-Client/src/client/build/libs/void-client-'*'.jar' --address '127.0.0.1'
unset '_JAVA_OPTIONS'
# End
~/'Projects/Void-Client/scripts/client-start.sh'
==== Hide Cache Files ====
* Makes ''jagex_runescape_preferences.dat'' files in ''~'' hidden ([[https://superuser.com/questions/359784/hide-files-in-linux-without-using-the-dot/546566#546566|source]])
echo -e 'jagex_runescape_preferences.dat\njagex_runescape_preferences2.dat' | tee --append ~/'.hidden'
===== Client Update =====
mkdir -p ~/'Projects/Void-Client/scripts' && nano ~/'Projects/Void-Client/scripts/client-update.sh' && chmod +x ~/'Projects/Void-Client/scripts/client-update.sh'
#!/bin/bash
cd '/tmp'
git -C ~/'Projects/Void-Client/src' reset --hard 'origin/main'
git -C ~/'Projects/Void-Client/src' pull origin 'main' --rebase
cd ~/'Projects/Void-Client/src'
chmod +x ~/'Projects/Void-Client/src/gradlew'
export JAVA_HOME='/usr/lib64/jvm/java-21-openjdk-21'
~/'Projects/Void-Client/src/gradlew' 'clean' --no-daemon
~/'Projects/Void-Client/src/gradlew' 'shadowJar' --no-daemon
unset 'JAVA_HOME'
cd '/tmp'
zenity --title 'Void Updater' --text 'Void Client update complete' --icon ~/'Projects/Void-Client/src/client/resources/icon-256.png' --timeout '2' --info
# End
~/'Projects/Void-Client/scripts/client-update.sh'
====== Commands ======
* ''~'' in-game console
displayfps
====== Desktop Launcher ======
===== Void =====
mkdir -p ~/'.local/share/applications' && nano ~/'.local/share/applications/Void-localhost.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/Void-localhost.desktop' && update-desktop-database --quiet ~/'.local/share/applications'
[Desktop Entry]
Name=Void
Categories=Game;
Exec='/bin/bash' -c "~/'Projects/Void-Client/scripts/client-start.sh'"
Type=Application
StartupNotify=false
StartupWMClass=Loader
Icon=/home/CHANGEME/Projects/Void-Client/src/client/resources/icon-256.png
Actions=Server;Saves;Server-Update;Client-Update;Notes;
[Desktop Action Server]
Exec='/bin/bash' -c "kgx --working-directory='/tmp' -T 'Void [Server]' -e ~/'Projects/Void-Server/scripts/localhost-server-start.sh'"
Name=Local Server
[Desktop Action Saves]
Exec='/bin/bash' -c "~/'Projects/Void-Server/scripts/localhost-save-backup.sh'"
Name=Save Data Back-up
[Desktop Action Server-Update]
Exec='/bin/bash' -c "kgx --working-directory='/tmp' -T 'Void [Updater]' -e ~/'Projects/Void-Server/scripts/localhost-server-update.sh'"
Name=Server Update
[Desktop Action Client-Update]
Exec='/bin/bash' -c "kgx --working-directory='/tmp' -T 'Void Client [Updater]' -e ~/'Projects/Void-Client/scripts/client-update.sh'"
Name=Client Update
[Desktop Action Notes]
Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:linux:void_runescape_634' && sleep '0.1' && gio open 'https://wiki.realmofespionage.xyz/servers:linux:games:void_localhost'"
Name=Install Notes
# End