Table of Contents

Information

Prerequisites

Resources

Dependencies

Git

Visual Studio 2022

MySQL

SETX /M path "%path%;%ProgramFiles%\MySQL\MySQL Server 8.0\bin"

SQLyog Community Edition

Boost

SETX /M "BOOST_ROOT" "C:/local/boost_1_86_0"

CMake

OpenSSL

Download Source

git clone --branch "3.3.5" --depth "1" --recurse-submodules "https://github.com/TrinityCore/TrinityCore.git" "%UserProfile%\Projects\trinity-335\src"
explorer "%UserProfile%\Projects\trinity-335\src"

Databases

Create DBs

authserver
characters
worldserver

DB Users

authserver
characters
worldserver

Initial Compile

CMake

MKDIR "%UserProfile%\Projects\trinity-335\build\bin\Release\"
cmake-gui
"%UserProfile%\Projects\trinity-335\src"
"%UserProfile%\Projects\trinity-335\build"

Visual Studio

DLLs

COPY /Y "%ProgramFiles%\MySQL\MySQL Server 8.0\lib\libmysql.dll" "%UserProfile%\Projects\trinity-335\build\bin\Release\"
COPY /Y "%ProgramFiles%\OpenSSL-Win64\bin\legacy.dll" "%UserProfile%\Projects\trinity-335\build\bin\Release\"
COPY /Y "%ProgramFiles%\OpenSSL-Win64\bin\libssl-3-x64.dll" "%UserProfile%\Projects\trinity-335\build\bin\Release\"
COPY /Y "%ProgramFiles%\OpenSSL-Win64\bin\libcrypto-3-x64.dll" "%UserProfile%\Projects\trinity-335\build\bin\Release\"

Update

git -C "%UserProfile%\Projects\trinity-335\src" reset --hard && git -C "%UserProfile%\Projects\trinity-335\src" pull origin "3.3.5" --rebase
cmake-gui

Content

explorer "%UserProfile%\Projects\trinity-335\build\bin\Release"
explorer "%ProgramFiles(x86)%\World of Warcraft 3.3.5"

DBCs, Maps, and Cameras

COPY /Y "%UserProfile%\Projects\trinity-335\build\bin\Release\mapextractor.exe" "%ProgramFiles(x86)%\World of Warcraft 3.3.5"
CD "%ProgramFiles(x86)%\World of Warcraft 3.3.5" && "mapextractor.exe" -f "0"

VMaps

Extract

COPY /Y "%UserProfile%\Projects\trinity-335\build\bin\Release\vmap4extractor.exe" "%ProgramFiles(x86)%\World of Warcraft 3.3.5"
CD "%ProgramFiles(x86)%\World of Warcraft 3.3.5" && "vmap4extractor.exe" -l

Assemble

COPY /Y "%UserProfile%\Projects\trinity-335\build\bin\Release\vmap4assembler.exe" "%ProgramFiles(x86)%\World of Warcraft 3.3.5"
CD "%ProgramFiles(x86)%\World of Warcraft 3.3.5" && "vmap4assembler.exe" "Buildings" "vmaps"

MMaps

COPY /Y "%UserProfile%\Projects\trinity-335\build\bin\Release\mmaps_generator.exe" "%ProgramFiles(x86)%\World of Warcraft 3.3.5"
CD "%ProgramFiles(x86)%\World of Warcraft 3.3.5" && "mmaps_generator.exe" --bigBaseUnit "true" --threads "4"

Move Files

explorer "%UserProfile%\Projects\trinity-335\build\bin\Release" && explorer "%ProgramFiles(x86)%\World of Warcraft 3.3.5"

Clean-up

explorer "%ProgramFiles(x86)%\World of Warcraft 3.3.5"

World Database

TDB

explorer "%UserProfile%\Projects\trinity-335\build\bin\Release"

Settings

authserver

COPY /Y "%UserProfile%\Projects\trinity-335\build\bin\Release\authserver.conf.dist" "%UserProfile%\Projects\trinity-335\build\bin\Release\authserver.conf"
notepad "%UserProfile%\Projects\trinity-335\build\bin\Release\authserver.conf"
LoginDatabaseInfo = "127.0.0.1;3306;authserver;x;authserver"
Updates.EnableDatabases = 1

worldserver

COPY /Y "%UserProfile%\Projects\trinity-335\build\bin\Release\worldserver.conf.dist" "%UserProfile%\Projects\trinity-335\build\bin\Release\worldserver.conf"
notepad "%UserProfile%\Projects\trinity-335\build\bin\Release\worldserver.conf"
LoginDatabaseInfo     = "127.0.0.1;3306;authserver;x;authserver"
WorldDatabaseInfo     = "127.0.0.1;3306;worldserver;x;worldserver"
CharacterDatabaseInfo = "127.0.0.1;3306;characters;x;characters"
Quests.LowLevelHideDiff = -1
Quests.HighLevelHideDiff = -1
Motd = "Welcome to your localhost server!"
Server.LoginInfo = 1

Realm

authserver

CD "%UserProfile%\Projects\trinity-335\build\bin\Release" && "authserver.exe"

Create GM Account

CD "%UserProfile%\Projects\trinity-335\build\bin\Release" && "worldserver.exe"
account create Espionage724 x
account set gmlevel Espionage724 3 -1
server shutdown 1

Launch

Commands

CD "%UserProfile%\Projects\trinity-335\build\bin\Release" && "authserver.exe"
CD "%UserProfile%\Projects\trinity-335\build\bin\Release" && "worldserver.exe"
3)
it works on Linux still as of 2024/08/29 but support may be deprecated: https://github.com/TrinityCore/TrinityCore/pull/29960