====== Information ======
* Void Server ((https://github.com/GregHib/void))
===== Resources =====
* [[https://rune-server.org/threads/void-634.697260/|Rune-Server]]
* [[https://github.com/GregHib/void/wiki|Wiki]]
===== Media =====
* [[https://media.realmofespionage.xyz/index/category/42|Progress Pics]]
===== Prerequisites =====
* [[linux:distros:opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]]
===== Notes =====
* For a game client, see [[games:linux:void_runescape_634|Void Client]]
====== Dependencies ======
* https://github.com/GregHib/void/wiki/installation-guide
sudo zypper install git-core java-26-openjdk-devel
====== Download Source ======
* https://github.com/GregHib/void/commits/main/
cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/Void-Server/src' && git clone --branch 'main' --depth '1' --recurse-submodules 'https://github.com/GregHib/void.git' ~/'Projects/Void-Server/src'
====== Initial Build ======
****
cd ~/'Projects/Void-Server/src' && JAVA_HOME='/usr/lib64/jvm/java-26-openjdk-26' _JAVA_OPTIONS="--enable-native-access='ALL-UNNAMED'" ~/'Projects/Void-Server/src/gradlew' 'clean' --no-daemon && JAVA_HOME='/usr/lib64/jvm/java-26-openjdk-26' _JAVA_OPTIONS="--enable-native-access='ALL-UNNAMED'" ~/'Projects/Void-Server/src/gradlew' 'assemble' --no-daemon && cd -
====== Cache ======
* https://github.com/GregHib/void/wiki/installation-guide#step-3-download-the-latest-cache-7zip
* Last tested: ''2025-06-12-void-634-cache.7z''
7z x -o$HOME/'Projects/Void-Server/src/data/cache' -y ~/'Downloads/'*'-void-634-cache.7z'
====== Settings ======
* Last commit: [[https://github.com/GregHib/void/commit/a543a8b41fc8f16394fd98c57fa5ef4c2375e98c|May 10, 2026]] ''a543a8b''
* [[https://github.com/GregHib/void/commits/main/game/src/main/resources/game.properties|New commits check]]
* [[https://github.com/GregHib/void/blob/main/game/src/main/resources/game.properties|Upstream Settings]] ([[https://raw.githubusercontent.com/GregHib/void/refs/heads/main/game/src/main/resources/game.properties|raw]])
cp -fv ~/'Projects/Void-Server/src/game/src/main/resources/game.properties' ~/'Projects/Void-Server/src/game.properties'
mkdir -p ~/'Projects/Void-Server/scripts' && nano ~/'Projects/Void-Server/scripts/client-settings-sed.sh' && chmod +x ~/'Projects/Void-Server/scripts/client-settings-sed.sh'
#!/bin/bash
cd '/tmp'
sed -i 's/server.name=Void/server.name=Void ::1/g' ~/'Projects/Void-Server/src/game.properties'
sed -i 's/server.live=false/server.live=true/g' ~/'Projects/Void-Server/src/game.properties'
sed -i 's/development.admin.name=Greg/development.admin.name=Test/g' ~/'Projects/Void-Server/src/game.properties'
sed -i 's/grandExchange.enabled=true/grandExchange.enabled=false/g' ~/'Projects/Void-Server/src/game.properties'
sed -i 's/bots.count=30/bots.count=0/g' ~/'Projects/Void-Server/src/game.properties'
sed -i 's/storage.players.logs.seconds=10/storage.players.logs.seconds=300/g' ~/'Projects/Void-Server/src/game.properties'
# End
~/'Projects/Void-Server/scripts/client-settings-sed.sh'
===== Check =====
cat ~/'Projects/Void-Server/src/game.properties' | egrep 'server.name|server.live|development.admin.name|world.experienceRate=1.0|grandExchange.enabled|bots.count|storage.players.logs.seconds'
nano ~/'Projects/Void-Server/src/game.properties'
====== Scripts ======
===== Server Start =====
mkdir -p ~/'Projects/Void-Server/scripts' && nano ~/'Projects/Void-Server/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/Void-Server/scripts/localhost-server-start.sh'
#!/bin/bash
cd ~/'Projects/Void-Server/src'
'/usr/lib64/jvm/java-26-openjdk-26/bin/java' -jar ~/'Projects/Void-Server/src/game/build/libs/void-server-dev.jar'
cd '/tmp'
# End
~/'Projects/Void-Server/scripts/localhost-server-start.sh'
===== Server Update =====
mkdir -p ~/'Projects/Void-Server/scripts' && nano ~/'Projects/Void-Server/scripts/localhost-server-update.sh' && chmod +x ~/'Projects/Void-Server/scripts/localhost-server-update.sh'
#!/bin/bash
cd '/tmp'
git -C ~/'Projects/Void-Server/src' reset --hard 'origin/main'
git -C ~/'Projects/Void-Server/src' pull origin 'main' --rebase
cd ~/'Projects/Void-Server/src'
export JAVA_HOME='/usr/lib64/jvm/java-26-openjdk-26'
export _JAVA_OPTIONS="--enable-native-access='ALL-UNNAMED'"
~/'Projects/Void-Server/src/gradlew' 'clean' --no-daemon
~/'Projects/Void-Server/src/gradlew' 'assemble' --no-daemon
unset 'JAVA_HOME' '_JAVA_OPTIONS'
cd '/tmp'
cp -f ~/'Projects/Void-Server/src/game/src/main/resources/game.properties' ~/'Projects/Void-Server/src/game.properties'
~/'Projects/Void-Server/scripts/client-settings-sed.sh'
zenity --title 'Void Updater' --text 'localhost server update complete' --icon ~/'Projects/Void-Client/src/client/resources/icon-256.png' --timeout '2' --info
# End
~/'Projects/Void-Server/scripts/localhost-server-update.sh'
===== Save Data Back-up =====
mkdir -p ~/'Projects/Void-Server/scripts' && nano ~/'Projects/Void-Server/scripts/localhost-save-backup.sh' && chmod +x ~/'Projects/Void-Server/scripts/localhost-save-backup.sh'
#!/bin/bash
cd '/tmp'
tar -czf ~/'Downloads/'$(date +%Y-%m-%d-%s)'-Void-localhost-Saves.tar.gz' --exclude='grand_exchange' --exclude='logs' -C ~/'Projects/Void-Server/src/data' 'saves'
zenity --title 'Void Save Backup' --text 'Save Data Backed-up to Downloads' --icon ~/'Projects/Void-Client/src/client/resources/icon-256.png' --timeout '2' --info
# End
~/'Projects/Void-Server/scripts/localhost-save-backup.sh'
====== Quick Commands ======
===== Save Restore =====
* ''data/saves/espionage724.toml''
mkdir -p ~/'Projects/Void-Server/src/data/saves' && gio open ~/'Projects/Void-Server/src/data/saves'