====== Information ======
* World of Warcraft: Wrath of the Lich King ((https://web.archive.org/web/20200911184050/https://www.blizzard.com/en-us/games/wrath/))
* Patch 3.3.5a
* [[https://appdb.winehq.org/objectManager.php?sClass=version&iId=32890|WineHQ AppDB]]
===== Prerequisites =====
* [[distros:fedora_workstation_gnome|Fedora Workstation]]
* [[notes:wine|Wine]]
===== Notes =====
* 2023/07/31: This works best on GNOME on Wayland on Intel UHD 630
* :!: This is for private server use; see [[games:wine:world_of_warcraft_wotlk_classic|WotLK Classic]] for official WotLK
====== Install ======
===== World of Warcraft =====
* [[https://wowdl.net/client/3.3.5a-win-us|World-of-Warcraft-3.3.5a.12340-enUS.zip]]
mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' WINEARCH='win32' wineboot && WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' winetricks 'winxp' && sync
md5sum ~/'Downloads/World-of-Warcraft-3.3.5a.12340-enUS.zip' | grep 'ab8284d28a063e8594d03636fbe28dc7' && unzip -qq -b -d ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files' ~/'Downloads/World-of-Warcraft-3.3.5a.12340-enUS.zip' && sync
====== Settings ======
===== Game =====
* :!: Start WoW at least once prior to running this
echo -e 'SET Sound_EnableHardware "1"\nSET gxApi "d3d9ex"\nSET violenceLevel "5"\nSET SmallCull "0"\nSET groundEffectDensity "256"\nSET spellEffectLevel "250"\nSET basemip "0"\nSET extShadowQuality "2"\nSET maxfps "75"\nSET componentCompress "0"\nSET gxCursor "0"\nSET SkyCloudLOD "3"\nSET environmentDetail "2"\n' | tee --append ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/WTF/Config.wtf' > '/dev/null'
nano ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/WTF/Config.wtf'
===== realmlist.wtf =====
* :!: Run this before first-start as there is not a default address
echo 'set realmlist localhost' | tee ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Data/'*'/realmlist.wtf'
echo 'set realmlist wow.realmofespionage.xyz' | tee ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Data/'*'/realmlist.wtf'
nano ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Data/'*'/realmlist.wtf'
====== Desktop Launcher ======
===== 3.3.5 =====
* Local Server requires [[/servers:games:trinitycore_3.3.5_localhost|TrinityCore 3.3.5 localhost]] ((''gnome-terminal'' mentions can likely be changed to other Terminals like ''konsole'' but is untested))
mkdir -p ~/'.local/share/applications/wine/Programs/World of Warcraft' && nano ~/'.local/share/applications/wine/Programs/World of Warcraft/World of Warcraft 3.3.5.desktop'
[Desktop Entry]
Name=World of Warcraft 3.3.5
Categories=Game;
Exec='/bin/bash' -c "cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft 3.3.5' WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Wow.exe' -d3d9ex"
Type=Application
StartupNotify=true
StartupWMClass=wow.exe
Icon=WBE5_Wow.0
Actions=Kill;Server;Saves;Notes;
[Desktop Action Kill]
Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wineserver --kill"
Exec='/bin/killall' -9 'Wow.exe'
Name=Force-close World of Warcraft 3.3.5
[Desktop Action Server]
StartupNotify=false
Exec='/bin/bash' -c "cd ~/'Projects/trinity-335/run/bin' && gnome-terminal -- ./authserver && gnome-terminal -- ./worldserver"
Name=Launch Local Server
[Desktop Action Saves]
StartupNotify=false
Exec='/bin/bash' -c "gnome-terminal -- ~/'Projects/trinity-335/run/etc/localhost-save-backup.sh'"
Name=Local Server Databases Back-up
[Desktop Action Notes]
StartupNotify=false
Exec=gio open 'https://wiki.realmofespionage.xyz/games:wine:world_of_warcraft_3.3.5'
Name=Installation Notes
# End
==== Icon ====
****
mkdir -p ~/'.local/share/icons/hicolor/48x48/apps' && cd ~/'.local/share/icons/hicolor/48x48/apps' && wrestool --output='WBE5_Wow.0.png' --extract --name='101' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Wow.exe' && cd ~
==== Save Data Back-up Script ====
* Requires [[/servers:games:trinitycore_3.3.5_localhost|TrinityCore 3.3.5 localhost]]
* See [[servers:games:trinitycore_3.3.5_localhost#restore|Restore]] notes for restoring back-ups
nano ~/'Projects/trinity-335/run/etc/localhost-save-backup.sh' && chmod +x ~/'Projects/trinity-335/run/etc/localhost-save-backup.sh'
#!/bin/sh
cd ~/'Downloads'
sudo mariadb-dump --databases 'authserver' --result-file='localserver-authserver-database-'$(date +%Y-%m-%d-%s)'.sql'
sudo mariadb-dump --databases 'characters' --result-file='localserver-characters-database-'$(date +%Y-%m-%d-%s)'.sql'
sudo chown $USER:$USER ~/'Downloads/localserver-authserver-database-'*'.sql' ~/'Downloads/localserver-characters-database-'*'.sql'
sync
notify-send 'localserver databases have been successfully dumped.'
# End
====== Quick Commands ======
===== Winecfg =====
****
WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' winecfg
===== Winetricks =====
****
WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' winetricks
===== Registry Editor =====
****
WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' regedit
===== Kill =====
WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wineserver --kill
killall -9 'Wow.exe'
===== Reset =====
****
rm -Rf ~/'.wine/World of Warcraft 3.3.5/mesa_shader_cache' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Cache' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Cameras' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Logs' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Interface' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/WTF' && sync
===== Execute =====
==== Wrath of the Lich King ====
cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' &&
WINEDEBUG=''
MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft 3.3.5' WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Wow.exe' -d3d9ex
=== Virtual Desktop ===
* 1280x720
cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft 3.3.5' WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine explorer /desktop='3.3.5','1280x720' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Wow.exe' -d3d9ex
==== Specific Graphics APIs ====
=== D3D9 ===
* Default when no API is specified on command-line nor ''Config.wtf''
-d3d9
cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft 3.3.5' WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Wow.exe' -d3d9
cat ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Logs/gx.log' | grep 'CGxDeviceD3d'
gio open ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Logs/gx.log'
=== D3D9Ex ===
* Theoretically™ the best choice
-d3d9ex
cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft 3.3.5' WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Wow.exe' -d3d9ex
cat ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Logs/gx.log' | grep 'CGxDeviceD3d9Ex'
gio open ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Logs/gx.log'
=== OpenGL ===
* Disables the in-game Video -> ''Hardware Cursor'' option
* Limits ''Shadow Quality'' to blobs and no dynamic options
-opengl
cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && MESA_SHADER_CACHE_DIR=~/'.wine/World of Warcraft 3.3.5' WINEPREFIX=~/'.wine/World of Warcraft 3.3.5' wine ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Wow.exe' -opengl
cat ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Logs/gx.log' | grep 'CGxDeviceOpenGl'
gio open ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Logs/gx.log'
===== File Manager =====
==== Root ====
****
gio open ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/'
==== Addons ====
****
gio open ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Interface/AddOns'
===== Copy Addons =====
****
cp -R ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/Interface/AddOns' ~/'Downloads'