servers:games:trinitycore_3.3.5_localhost
This is an old revision of the document!
Table of Contents
Information
- These notes provide a local singleplayer server for World of Warcraft 3.3.5 on Linux (see these notes for Windows)
- For a traditional dedicated server see these notes
Prerequisites
Resources
Dependencies
sudo dnf install bzip2-devel gcc-c++ cmake git mariadb-devel boost boost-devel readline-devel
Download Source
cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/trinity-335/src' && git clone --branch '3.3.5' --depth '1' --recurse-submodules 'https://github.com/TrinityCore/TrinityCore.git' ~/'Projects/trinity-335/src' && sync
Databases
- This creates the
authserver
,characters
, andworldserver
databases Change the
x
for all threeGRANT
s to a password
sudo mariadb
CREATE DATABASE authserver;
GRANT ALL PRIVILEGES ON authserver.* to 'authserver'@'localhost' IDENTIFIED BY 'x';
CREATE DATABASE characters;
GRANT ALL PRIVILEGES ON characters.* to 'characters'@'localhost' IDENTIFIED BY 'x';
CREATE DATABASE worldserver;
GRANT ALL PRIVILEGES ON worldserver.* to 'worldserver'@'localhost' IDENTIFIED BY 'x';
FLUSH PRIVILEGES;
EXIT
Initial Compile
- 2024/06/02: Takes about 11 minutes on i5-8400H
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' -DCMAKE_BUILD_TYPE='Release' -DTOOLS='1' && sync && make --jobs=$(nproc) install && sync
Update
git -C ~/'Projects/trinity-335/src' pull origin '3.3.5' && cd ~/'Projects/trinity-335/build' && cmake ~/'Projects/trinity-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/trinity-335/run' -DCMAKE_BUILD_TYPE='Release' -DTOOLS='1' && sync && make --jobs=$(nproc) install && sync
Content
- Expects World of Warcraft 3.3.5
DBCs, Maps, and Cameras
- 2024/06/02: Takes about 30 seconds on i5-8400H 3)
cp --force ~/'Projects/trinity-335/run/bin/mapextractor' ~/'.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 'dbc' 'maps' 'Cameras' && ./'mapextractor' -f '0' && sync
VMaps
Extract
- 2024/06/02: Takes about 45 seconds on i5-8400H 4)
cp --force ~/'Projects/trinity-335/run/bin/vmap4extractor' ~/'.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 'Buildings' && ./'vmap4extractor' -l && sync
Assemble
- 2024/06/02: Takes about 11 seconds on i5-8400H 5)
cp --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' && sync
MMaps
2024/03/06: Takes about 43 minutes on i5-8400H 6)
cp --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) && sync
Move Files
cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && mv --force 'dbc' 'maps' 'Cameras' 'vmaps' 'mmaps' ~/'Projects/trinity-335/run/bin' && rm -f 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' && cd ~ && sync
Check Files
~/Projects/trinity-335/run/bin
needsCameras
,dbc
,maps
,mmaps
, andvmaps
folders
ls --directory ~/'Projects/trinity-335/run/bin/dbc' ~/'Projects/trinity-335/run/bin/maps' ~/'Projects/trinity-335/run/bin/Cameras' ~/'Projects/trinity-335/run/bin/vmaps' ~/'Projects/trinity-335/run/bin/mmaps'
gio open ~/'Projects/trinity-335/run/bin/'
Clean-up
cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && rm -Rf 'Buildings' 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' 'WoWDL.lnk' && cd ~ && sync
gio open ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/'
World Database
TDB
- Download the latest
TDB 335
.7z
with a web browser
- Expects something like
TDB_full_world_335.24041_2024_04_10.7z
in~/Downloads
rm -Rf ~/'Projects/trinity-335/run/bin/TDB_full_world_335.'*'.sql' && cd ~/'Projects/trinity-335/run/bin' && 7za x ~/'Downloads/TDB_full_world_335.'*'.7z' && cd ~
Settings
Realm
authserver
authserver
needs started at least once to create the tables and to startworldserver
for account creation- Ctrl + C to exit
cd ~/'Projects/trinity-335/run/bin' && ~/'Projects/trinity-335/run/bin/authserver'
Realm
sudo mariadb --execute="UPDATE authserver.realmlist SET name = 'localhost', address = 'localhost' WHERE realmlist.id = 1"
Create GM Account
- Change
x
to password
cd ~/'Projects/trinity-335/run/bin' && ~/'Projects/trinity-335/run/bin/worldserver'
account create Espionage724 x
account set gmlevel Espionage724 3 -1
server shutdown 1
Launch
Commands
cd ~/'Projects/trinity-335/run/bin' && ~/'Projects/trinity-335/run/bin/authserver'
cd ~/'Projects/trinity-335/run/bin' && ~/'Projects/trinity-335/run/bin/worldserver'
Script
nano ~/'Projects/trinity-335/run/tc-335-server-start.sh' && chmod +x ~/'Projects/trinity-335/run/tc-335-server-start.sh'
#!/bin/bash cd ~/'Projects/trinity-335/run/bin' gnome-terminal --title='WoW localhost authserver' -- ~/'Projects/trinity-335/run/bin/authserver' gnome-terminal --title='WoW localhost worldserver' -- ~/'Projects/trinity-335/run/bin/worldserver' # End
~/'Projects/trinity-335/run/tc-335-server-start.sh'
Character Data
Backup
- Dumps
authserver
andcharacters
MariaDB databases as.sql
in~/Downloads
Commands
authserver
cd ~/'Downloads' && sudo mariadb-dump --user 'root' --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 --user 'root' --databases 'characters' --result-file='localserver-characters-database-'$(date +%Y-%m-%d-%s)'.sql' && sudo chown $USER:$USER ~/'Downloads/localserver-characters-database-'*'.sql' && sync
Script
nano ~/'Projects/trinity-335/run/tc-335-save-backup.sh' && chmod +x ~/'Projects/trinity-335/run/tc-335-save-backup.sh'
#!/bin/bash cd ~/'Downloads' sudo mariadb-dump --user 'root' --databases 'authserver' --result-file='localserver-authserver-database-'$(date +%Y-%m-%d-%s)'.sql' sudo mariadb-dump --user 'root' --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
~/'Projects/trinity-335/run/tc-335-save-backup.sh'
Restore
This deletes the existing
authserver
andcharacters
databases before restoring from backup
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'
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'
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
/srv/www/wiki/data/attic/servers/games/trinitycore_3.3.5_localhost.1720929291.txt.gz ยท Last modified: (external edit)