servers:windows:games:trinitycore_3.3.5_localhost
Table of Contents
Information
- These notes provide a local singleplayer server for World of Warcraft 3.3.5 on Windows (see these notes for Linux)
Prerequisites
Resources
TODOs
- Start/desktop shortcuts
- Set MariaDB to manual start Windows Service (install-time?) and have shortcuts to start/stop it (so not 24/7 background service even if minimal)
Dependencies
- 2024/10/14: Git, Visual Studio 2022, MariaDB, Boost, CMake, OpenSSL
- SQLyog for GUI database management
Git
- Last tested:
Git-2.47.0.2-64-bit.exe
- Git from the command line and also from 3rd-party software (make sure it's selected)
Visual Studio 2022
- Install can be Modified after the auto-install to recover about 9 GB space
- Workloads → Desktop development with C++ (uncheck Mobile/Game/Linux dev C++)
- Individual components: Optional 3)
MariaDB Server
- Last tested:
mariadb-11.5.2-winx64.msi
- No Third party tools
- Use UTF8 as default server's character set
SQLyog Community Edition
- Last tested:
SQLyog-13.3.0-0.x64Community.exe
Boost
- Last tested:
boost_1_86_0-msvc-14.3-64.exe
SETX "BOOST_ROOT" "%SystemDrive%/local/boost_1_86_0"
CMake
- Last tested:
cmake-3.31.0-rc3-windows-x86_64.msi
OpenSSL
- https://slproweb.com/products/Win32OpenSSL.html ( not Light)
- Last tested:
Win64OpenSSL-3_4_0.msi
- Copy OpenSSL DLLs to: The OpenSSL binaries (/bin) directory
Download Source
git clone --branch "3.3.5" --depth "1" --recurse-submodules "https://github.com/TrinityCore/TrinityCore.git" "%UserProfile%\Projects\TrinityCore-335\src"
explorer "%UserProfile%\Projects\TrinityCore-335\src"
Databases
- All Database management including backups/restores are done through SQLyog
"%ProgramFiles%\SQLyog Community\SQLyogCommunity.exe"
Create DBs
- Ctrl + D or Database → Create Database
- Database charset:
utf8mb4
- Database collation:
utf8mb4_unicode_ci
authserver
characters
worldserver
DB Users
- Ctrl + U or Tools → User Manager
- All Host as
localhost
- Click the database with the same name as username and Select All privileges
authserver
characters
worldserver
Initial Compile
- Ideally log-out and back in or reboot to update Environment Variables before starting
CMake
- Visual Studio 17 2022
- [x]
WITHOUT_METRICS
MKDIR "%UserProfile%\Projects\TrinityCore-335\build\bin\Release"
"%ProgramFiles%\CMake\bin\cmake-gui.exe"
"%UserProfile%\Projects\TrinityCore-335\src"
"%UserProfile%\Projects\TrinityCore-335\build"
MariaDB
- [x] Advanced (next to Add Entry)
- Search →
mysql
MYSQL_EXECUTABLE
"%ProgramFiles%\MariaDB 11.5\bin\mariadb.exe"
MYSQL_INCLUDE_DIR
"%ProgramFiles%\MariaDB 11.5\include\mysql"
MYSQL_LIBRARY
"%ProgramFiles%\MariaDB 11.5\lib\libmariadb.lib"
Visual Studio
- Build → Configuration Manager → Active solution configuration: Release
- Build → Rebuild Solution
DLLs
COPY /Y "%ProgramFiles%\MariaDB 11.5\lib\libmariadb.dll" "%UserProfile%\Projects\TrinityCore-335\build\bin\Release"
COPY /Y "%ProgramFiles%\OpenSSL-Win64\bin\legacy.dll" "%UserProfile%\Projects\TrinityCore-335\build\bin\Release"
COPY /Y "%ProgramFiles%\OpenSSL-Win64\bin\libssl-3-x64.dll" "%UserProfile%\Projects\TrinityCore-335\build\bin\Release"
COPY /Y "%ProgramFiles%\OpenSSL-Win64\bin\libcrypto-3-x64.dll" "%UserProfile%\Projects\TrinityCore-335\build\bin\Release"
Update
git -C "%UserProfile%\Projects\TrinityCore-335\src" reset --hard && git -C "%UserProfile%\Projects\TrinityCore-335\src" pull origin "3.3.5" --rebase
"%ProgramFiles%\CMake\bin\cmake-gui.exe"
- Visual Studio → Build → Build Solution
Content
- Expects World of Warcraft 3.3.5
- Move
mapextractor
mmaps_generator
vmap4assembler
andvmap4extractor
to the WoW folder or useCOPY
commands below
explorer "%UserProfile%\Projects\TrinityCore-335\build\bin\Release"
explorer "%ProgramFiles(x86)%\World of Warcraft 3.3.5"
DBCs, Maps, and Cameras
COPY /Y "%UserProfile%\Projects\TrinityCore-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\TrinityCore-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\TrinityCore-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\TrinityCore-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 "8"
Move Files
- Move
Cameras
dbc
maps
mmaps
andvmaps
folders to theRelease
folder
explorer "%UserProfile%\Projects\TrinityCore-335\build\bin\Release" && explorer "%ProgramFiles(x86)%\World of Warcraft 3.3.5"
Clean-up
- Remove
Buildings
and extractor.exe
s
explorer "%ProgramFiles(x86)%\World of Warcraft 3.3.5"
World Database
TDB
- Download the latest
TDB 335
.7z
with a web browser
- Extract
TDB_full_world_335.sql
toRelease
folder
explorer "%UserProfile%\Projects\TrinityCore-335\build\bin\Release"
Settings
authserver
- Last commit: Jul 28, 2021
68bf7e6
- Last updated: 2024/10/14
COPY /Y "%UserProfile%\Projects\TrinityCore-335\build\bin\Release\authserver.conf.dist" "%UserProfile%\Projects\TrinityCore-335\build\bin\Release\authserver.conf"
MKDIR "%UserProfile%\Projects\TrinityCore-335\authserver.conf.d"
notepad "%UserProfile%\Projects\TrinityCore-335\authserver.conf.d\localhost-authserver.conf"
[authserver] MySQLExecutable = "C:\Program Files\MariaDB 11.5\bin\mariadb.exe" LoginDatabaseInfo = "localhost;3306;authserver;x;authserver" Updates.EnableDatabases = 1
worldserver
- Last commit: Feb 16, 2023
e11613e
- Last updated: 2024/10/14
COPY /Y "%UserProfile%\Projects\TrinityCore-335\build\bin\Release\worldserver.conf.dist" "%UserProfile%\Projects\TrinityCore-335\build\bin\Release\worldserver.conf"
MKDIR "%UserProfile%\Projects\TrinityCore-335\worldserver.conf.d"
notepad "%UserProfile%\Projects\TrinityCore-335\worldserver.conf.d\localhost-worldserver.conf"
[worldserver] MySQLExecutable = "C:\Program Files\MariaDB 11.5\bin\mariadb.exe" LoginDatabaseInfo = "localhost;3306;authserver;x;authserver" WorldDatabaseInfo = "localhost;3306;worldserver;x;worldserver" CharacterDatabaseInfo = "localhost;3306;characters;x;characters" Quests.LowLevelHideDiff = -1 Quests.HighLevelHideDiff = -1 Motd = "Welcome to your localhost server!" Server.LoginInfo = 1
Realm
authserver
authserver
needs started at least once to create the tables and to startworldserver
for account creation- Ctrl + C to exit
CD "%UserProfile%\Projects\TrinityCore-335\build\bin\Release" && "authserver.exe" --config-dir "%UserProfile%\Projects\TrinityCore-335\authserver.conf.d"
Create GM Account
- Change
x
to password
CD "%UserProfile%\Projects\TrinityCore-335\build\bin\Release" && "worldserver.exe"
account create Espionage724 x
account set gmlevel Espionage724 3 -1
server shutdown 1
Launch
Commands
CD "%UserProfile%\Projects\TrinityCore-335\build\bin\Release" && "authserver.exe" --config-dir "%UserProfile%\Projects\TrinityCore-335\authserver.conf.d"
CD "%UserProfile%\Projects\TrinityCore-335\build\bin\Release" && "worldserver.exe" --config-dir "%UserProfile%\Projects\TrinityCore-335\worldserver.conf.d"
3)
17.11.5
: Uncheck GitHub Copilot, NuGet package manager, vcpkg package manager, C++ Build Insights, C++ AddressSanitizer, C++ profiling tools, Just-In-Time debugger, Test Adapter for Boost.Test, IntelliCode, Security Issue Analysis/var/www/wiki/data/pages/servers/windows/games/trinitycore_3.3.5_localhost.txt · Last modified: by Sean Rhone