Both sides previous revisionPrevious revisionNext revision | Previous revision |
servers:games:trinitycore_3.3.5_localhost [2024/03/06 20:52] – [Extract] Sean Rhone | servers:games:trinitycore_3.3.5_localhost [2024/03/09 17:43] (current) – [Content] Sean Rhone |
---|
| |
* These notes provide a local singleplayer server; for a traditional dedicated server see [[servers:games:trinitycore_3.3.5|these notes]] | * These notes provide a local singleplayer server; for a traditional dedicated server see [[servers:games:trinitycore_3.3.5|these notes]] |
* TODO: Add to WoW desktop shortcut a launcher for TC servers | |
| |
* 2024/03/03: WIP: Needs linked to WoW client notes for launching, and desktop launcher save backup, and something for restore [[games:wine:diablo_2#saved_games_data|like Diablo 2]] | |
| |
===== Prerequisites ===== | ===== Prerequisites ===== |
====== Compile ====== | ====== Compile ====== |
| |
* This compiles with GCC and not Clang | **** |
| |
rm -Rf ~/'Projects/trinity-335/build' ~/'Projects/trinity-335/run' && mkdir -p ~/'Projects/trinity-335/build' ~/'Projects/trinity-335/run' && cd ~/'Projects/trinity-335/build' && cmake ~/'Projects/trinity-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/trinity-335/run' -DTOOLS='1' && sync && make --jobs=$(nproc) install && sync | rm -Rf ~/'Projects/trinity-335/build' ~/'Projects/trinity-335/run' && mkdir -p ~/'Projects/trinity-335/build' ~/'Projects/trinity-335/run' && cd ~/'Projects/trinity-335/build' && cmake ~/'Projects/trinity-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/trinity-335/run' -DTOOLS='1' && sync && make --jobs=$(nproc) install && sync |
| |
====== Content ====== | ====== Content ====== |
| |
| * :!: WoW Clients from sources other than [[https://wowdl.net/files/clients#wrath-of-the-lich-king|wowdl.net]] or known-authentic sources could come modified in ways that fail with certain server emulator checks ((2022/09/22: [[https://www.warmane.com/download|Warmane's Wrath of the Lich King client]] fails ''StrictVersionCheck=1'' and shouldn't be used)) |
| |
===== DBCs, Maps, and Cameras ===== | ===== DBCs, Maps, and Cameras ===== |
| |
* Expects [[games:wine:world_of_warcraft_3.3.5|World of Warcraft 3.3.5]] | * Expects [[games:wine:world_of_warcraft_3.3.5|World of Warcraft 3.3.5]] |
* Takes about 1 minute on i5-8400H | * 2024/03/06: Takes about 11 seconds on i5-8400H |
| |
ln --symbolic --force ~/'Projects/trinity-335/run/bin/vmap4assembler' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'vmaps' && mkdir -p 'vmaps' && ./'vmap4assembler' 'Buildings' 'vmaps' && ln --symbolic --relative --force 'vmaps' ~/'Projects/trinity-335/run/bin' && rm -Rf 'Buildings' 'vmap4assembler' && cd ~ && sync | ln --symbolic --force ~/'Projects/trinity-335/run/bin/vmap4assembler' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'vmaps' && mkdir -p 'vmaps' && ./'vmap4assembler' 'Buildings' 'vmaps' && ln --symbolic --relative --force 'vmaps' ~/'Projects/trinity-335/run/bin' && rm -Rf 'Buildings' 'vmap4assembler' && cd ~ && sync |
| |
* Expects [[games:wine:world_of_warcraft_3.3.5|World of Warcraft 3.3.5]] | * Expects [[games:wine:world_of_warcraft_3.3.5|World of Warcraft 3.3.5]] |
| * :!: 2024/03/06: Takes about 43 minutes on i5-8400H |
| |
ln --symbolic --force ~/'Projects/trinity-335/run/bin/mmaps_generator' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'mmaps' && mkdir -p 'mmaps' && ./'mmaps_generator' --bigBaseUnit 'true' --threads $(nproc) && ln --symbolic --relative --force 'mmaps' ~/'Projects/trinity-335/run/bin' && rm -f 'mmaps_generator' && cd ~ && sync | ln --symbolic --force ~/'Projects/trinity-335/run/bin/mmaps_generator' ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'mmaps' && mkdir -p 'mmaps' && ./'mmaps_generator' --bigBaseUnit 'true' --threads $(nproc) && ln --symbolic --relative --force 'mmaps' ~/'Projects/trinity-335/run/bin' && rm -f 'mmaps_generator' && cd ~ && sync |
| |
cd ~/'Projects/trinity-335/run/bin' && ~/'Projects/trinity-335/run/bin/worldserver' | cd ~/'Projects/trinity-335/run/bin' && ~/'Projects/trinity-335/run/bin/worldserver' |
| |
| ====== Character Data ====== |
| |
| ===== Backup ===== |
| |
| * Dumps ''authserver'' and ''characters'' MariaDB databases as ''.sql'' in ''~/Downloads'' |
| |
| ==== Desktop Launcher ==== |
| |
| * See [[games:wine:world_of_warcraft_3.3.5#desktop_launcher|Desktop Launcher]] |
| * :!: Expects GNOME Terminal ((other Terminals and non-GNOME desktop environments untested)) |
| |
| ==== authserver ==== |
| |
| **** |
| |
| cd ~/'Downloads' && sudo mariadb-dump --databases 'authserver' --result-file='localserver-authserver-database-'$(date +%Y-%m-%d-%s)'.sql' && sudo chown $USER:$USER ~/'Downloads/localserver-authserver-database-'*'.sql' && sync |
| |
| ==== characters ==== |
| |
| **** |
| |
| cd ~/'Downloads' && sudo mariadb-dump --databases 'characters' --result-file='localserver-characters-database-'$(date +%Y-%m-%d-%s)'.sql' && sudo chown $USER:$USER ~/'Downloads/localserver-characters-database-'*'.sql' && sync |
| |
| ===== Restore ===== |
| |
| * :!: This deletes the existing ''authserver'' and ''characters'' databases before restoring from backup |
| * :!: Only have a single ''authserver'' and ''worldserver'' ''.sql'' in ''~/Downloads'' ((more than 1 makes ''mariadb'' throw ''ambiguous redirect'')) ((TODO: See if there's a way to select a newer file either via timestamp or filename as ''%s'' should always increase?)) |
| |
| ==== authserver ==== |
| |
| **** |
| |
| ls ~/'Downloads/localserver-authserver-database-'*'.sql' && sudo mariadb --execute='DROP DATABASE authserver' && sudo mariadb --execute='CREATE DATABASE authserver' && sudo mariadb 'authserver' < ~/'Downloads/localserver-authserver-database-'*'.sql' && sync |
| |
| ==== characters ==== |
| |
| **** |
| |
| ls ~/'Downloads/localserver-characters-database-'*'.sql' && sudo mariadb --execute='DROP DATABASE characters' && sudo mariadb --execute='CREATE DATABASE characters' && sudo mariadb 'characters' < ~/'Downloads/localserver-characters-database-'*'.sql' && sync |
| |
| ==== Reapply Permissions ==== |
| |
| sudo mariadb |
| |
| GRANT ALL PRIVILEGES ON authserver.* to 'authserver'@'localhost' IDENTIFIED BY 'x'; |
| |
| GRANT ALL PRIVILEGES ON characters.* to 'characters'@'localhost' IDENTIFIED BY 'x'; |
| |
| FLUSH PRIVILEGES; |
| |
| EXIT |
| |