Table of Contents

Information

Media

Prerequisites

Dependencies

su -
pkg install git readline mariadb118-client cmake-core bzip2 libressl

Download Source

cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/TrinityCore-335/src' && git clone --branch '3.3.5' --depth '1' --recurse-submodules 'https://github.com/TrinityCore/TrinityCore.git' ~/'Projects/TrinityCore-335/src' && sync

Databases

Connect

su - 'root' -c 'service 'mysql-server' onestart'
mariadb -u 'root' -p

Databases

CREATE DATABASE authserver;
CREATE DATABASE characters;
CREATE DATABASE worldserver;

Users

CREATE USER 'authserver'@'localhost' IDENTIFIED BY 'x';
CREATE USER 'characters'@'localhost' IDENTIFIED BY 'x';
CREATE USER 'worldserver'@'localhost' IDENTIFIED BY 'x';

Permissions

GRANT ALL PRIVILEGES ON authserver.* to 'authserver'@'localhost';
GRANT ALL PRIVILEGES ON characters.* to 'characters'@'localhost';
GRANT ALL PRIVILEGES ON worldserver.* to 'worldserver'@'localhost';
FLUSH PRIVILEGES;
EXIT

Initial Compile

rm -Rf ~/'Projects/TrinityCore-335/build' && mkdir -p ~/'Projects/TrinityCore-335/build' ~/'Projects/TrinityCore-335/run' && cd ~/'Projects/TrinityCore-335/build' && cmake ~/'Projects/TrinityCore-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/TrinityCore-335/run' -DCMAKE_BUILD_TYPE='Release' -DWITHOUT_METRICS='1' -DTOOLS='1' && make -j "$(nproc)" install

Content

DBCs, Maps, and Cameras

cp -f ~/'Projects/TrinityCore-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'

VMaps

Extract

cp -f ~/'Projects/TrinityCore-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

Assemble

cp -f ~/'Projects/TrinityCore-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'

MMaps

cp -f ~/'Projects/TrinityCore-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)"

Move Files

cd ~/'.wine/World of Warcraft 3.3.5/drive_c/Program Files/World of Warcraft 3.3.5a.12340'*'/' && mv -f 'dbc' 'maps' 'Cameras' 'vmaps' 'mmaps' ~/'Projects/TrinityCore-335/run/bin' && rm -f 'mapextractor' 'vmap4extractor' 'vmap4assembler' 'mmaps_generator' && cd ~ && sync

Check Files

ls -d ~/'Projects/TrinityCore-335/run/bin/dbc' ~/'Projects/TrinityCore-335/run/bin/maps' ~/'Projects/TrinityCore-335/run/bin/Cameras' ~/'Projects/TrinityCore-335/run/bin/vmaps' ~/'Projects/TrinityCore-335/run/bin/mmaps'
gio open ~/'Projects/TrinityCore-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

rm -f ~/'Projects/TrinityCore-335/run/bin/TDB_full_world_335.'*'.sql' && 7z e -o$HOME/'Projects/TrinityCore-335/run/bin' -y ~/'Downloads/TDB_full_world_335.'*'.7z'

Settings

authserver

cp -f ~/'Projects/TrinityCore-335/run/etc/authserver.conf.dist' ~/'Projects/TrinityCore-335/run/etc/authserver.conf'
mkdir -p ~/'Projects/TrinityCore-335/authserver.conf.d' && ee ~/'Projects/TrinityCore-335/authserver.conf.d/localhost-authserver.conf'
[authserver]

# Connection
BindIP = "127.0.0.1"
LoginDatabaseInfo = ".;/var/run/mysql/mysql.sock;authserver;x;authserver"
AllowLoggingIPAddressesInDatabase = 0

# Etc
RealmsStateUpdateDelay = 0
Updates.EnableDatabases = 1
Updates.CleanDeadRefMaxCount = -1

# End

worldserver

cp -f ~/'Projects/TrinityCore-335/run/etc/worldserver.conf.dist' ~/'Projects/TrinityCore-335/run/etc/worldserver.conf'
mkdir -p ~/'Projects/TrinityCore-335/worldserver.conf.d' && ee ~/'Projects/TrinityCore-335/worldserver.conf.d/localhost-worldserver.conf'
[worldserver]

# Connection
BindIP = "127.0.0.1"
LoginDatabaseInfo     = ".;/var/run/mysql/mysql.sock;authserver;x;authserver"
WorldDatabaseInfo     = ".;/var/run/mysql/mysql.sock;worldserver;x;worldserver"
CharacterDatabaseInfo = ".;/var/run/mysql/mysql.sock;characters;x;characters"

# Server
Updates.CleanDeadRefMaxCount = -1
FlashAtStart = 0
Server.LoginInfo = 1
Motd = "Welcome to your localhost server!"
AllowTickets = 0
CharDelete.Method = 1
CharDelete.KeepDays = 0
WhoList.Update.Interval = 300
HotSwap.Enabled = 0
HotSwap.EnableReCompiler = 0

# Quests
Quests.LowLevelHideDiff = -1
Quests.HighLevelHideDiff = -1

# Character
GM.LoginState = 0

# Protections
MaxOverspeedPings = 0
PacketSpoof.Policy = 0
ChatFakeMessagePreventing = 0
ChatFlood.MessageCount = 0

# End

Scripts

Server Start

mkdir -p ~/'Projects/TrinityCore-335/scripts' && ee ~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh' && chmod +x ~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh'
#!/bin/sh

cd ~/'Projects/TrinityCore-335/run/bin'

xfce4-terminal -T 'WoW — authserver' -I ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' -e "./'authserver' --config-dir ../../'authserver.conf.d'" &
xfce4-terminal -T 'WoW — worldserver' -I ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' -e "./'worldserver' --config-dir ../../'worldserver.conf.d'"

# End
~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh'

Xfce TODO

xfce4-terminal --minimize -T 'WoW 3.3.5 — [auth]' -I ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' -x ~/'Projects/TrinityCore-335/run/bin/authserver' --config-dir ~/'Projects/TrinityCore-335/authserver.conf.d'
xfce4-terminal --minimize -T 'WoW 3.3.5 — [world]' -I ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' -x ~/'Projects/TrinityCore-335/run/bin/worldserver' --config-dir ~/'Projects/TrinityCore-335/worldserver.conf.d'

Server Update

Database Back-up

mkdir -p ~/'Projects/TrinityCore-335/scripts' && ee ~/'Projects/TrinityCore-335/scripts/localhost-databases-backup.sh' && chmod +x ~/'Projects/TrinityCore-335/scripts/localhost-databases-backup.sh'
#!/bin/sh

cd ~/'Downloads'
mariadb-dump -u 'root' -p --opt -r 'localserver-authserver-database-'$(date +%Y-%m-%d-%s)'.sql' 'authserver'
mariadb-dump -u 'root' -p --opt -r 'localserver-characters-database-'$(date +%Y-%m-%d-%s)'.sql' 'characters' 
sync
notify-send -i ~/'.local/share/icons/hicolor/48x48/apps/WBE5_Wow.0.png' 'WoW 3.3.5 Databases Backed-up Successfully to Downloads'

# End
~/'Projects/TrinityCore-335/scripts/localhost-databases-backup.sh'

Create GM Account

~/'Projects/TrinityCore-335/scripts/localhost-server-start.sh'
account create Espionage724 x
account set gmlevel Espionage724 3 -1
server shutdown 1

Extras

Items

Northshire Gift Voucher

.additem 14646

Tyrael's Hilt

.additem 39656

Character Data

Backup

su - 'root' -c 'service 'mysql-server' onestart'
mariadb-dump -u 'root' -p --single-transaction --quick 'authserver' -r ~/'Downloads/localhost-authserver-'$(date +%Y-%m-%d-%s)'.sql'
mariadb-dump -u 'root' -p --single-transaction --quick 'characters' -r ~/'Downloads/localhost-characters-'$(date +%Y-%m-%d-%s)'.sql'
su - 'root' -c 'service 'mysql-server' onestop'

Restore

su - 'root' -c 'service 'mysql-server' onestart'

authserver

mariadb -u 'root' -p --execute='CREATE DATABASE authserver;'
mariadb -u 'root' -p 'authserver' < x

characters

mariadb -u 'root' -p --execute='CREATE DATABASE characters;'
mariadb -u 'root' -p 'characters' < x

Quick Commands

Execute

MariaDB

su - 'root' -c 'service 'mysql-server' onestart'

authserver

cd ~/'Projects/TrinityCore-335/run/bin' && ~/'Projects/TrinityCore-335/run/bin/authserver' --config-dir ~/'Projects/TrinityCore-335/authserver.conf.d'

worldserver

cd ~/'Projects/TrinityCore-335/run/bin' && ~/'Projects/TrinityCore-335/run/bin/worldserver' --config-dir ~/'Projects/TrinityCore-335/worldserver.conf.d'

Update

git -C ~/'Projects/TrinityCore-335/src' pull origin '3.3.5' && cd ~/'Projects/TrinityCore-335/build' && cmake ~/'Projects/TrinityCore-335/src' -DCMAKE_INSTALL_PREFIX=~/'Projects/TrinityCore-335/run' -DCMAKE_BUILD_TYPE='Release' -DWITHOUT_METRICS='1' -DTOOLS='0' && make -j "$(nproc)" install
1)
keepassxc pulls in boost-libs
2)
2025/08/29: 29 Minutes 15 Seconds at --threads 8