Compiling Trinity Core 4.3.4 On Windows: A Complete Tutorial

PrivateDonut

Legend
Mar 9, 2011
12,060
774
113
United States
wowemulation.com
Credits
377

Introduction


Want to create your own World of Warcraft Cataclysm private server? We've got you covered! In this guide, we'll walk you through the process of compiling and setting up your server.

For this tutorial we will be using a source maintained by:
Please, Log in or Register to view URLs content!




Step 1: Software Requirements

Please make sure to read the software installment section to ensure you install the software correctly.


Step 2: Software Installment​

Git:
Installing Git is a straightforward process. Simply follow the prompts during the installation and click "next" until the installation is complete.


Visual Studio 2019:
Installing Visual Studio 2019 is also an easy process. However, make sure to select the option to install "Desktop C++" during the installation, as this is a requirement for compiling TrinityCore.


Screen-Shot-2023-01-13-at-2.47.41-PM-2048x1141.png

Once the installation is complete, you do not need to sign in. Instead, click "Not now, maybe later" and select your preferred theme before clicking "Start Visual Studio". You can exit Visual Studio for now, as it is not needed for the next step.


MySQL
Installing MySQL is easy. When you first open the installer, you will be prompted to upgrade, simply click "Yes". On the next screen, select the option to "install server only.


Screen-Shot-2023-01-13-at-2.59.53-PM.png

You will need to make a MySQL root password, remember this information as it will be important later on


Screen-Shot-2023-01-13-at-3.02.59-PM.png

Anything after setting the MySQL password, you can just click next until you reach the last page and then click execute and finish. We have now installed MySQL.


HeidiSQL:
HeidiSQL is simple to install, just open the installer and click next and complete the install.


Boost 1.73.0:
We have a complete tutorial on how to install and setup boos 1.73.0, please read it if you have never done it before. You can that tutorial here:
Please, Log in or Register to view URLs content!
Remember for this tutorial, you will need boost 64bit since all the tools we have downloaded is for 64bit.


cMake:
Installing cMake is easy, no extra steps required. Simply click and install it.


OpenSSL

Installing OpenSSL is easy, no extra steps required. Simply click and install it.


We now have all the tools required to compile, let’s move onto the next step.


Step 3: Cloning Trinity Core 4.3.4

To clone the source from GitHub, we will use the Git Bash tool on your desktop. Begin by right-clicking on an empty space on your desktop and selecting “Git Bash Here.”

Screen-Shot-2023-01-19-at-1.53.13-AM.png
Selecting git bash from desktop
After the menu appears, enter or copy the following line into the window:

git clone -b 3.3.5
Please, Log in or Register to view URLs content!




Step 4: Prepare The Source

We will need to create a new folder on our desktop called "Build", you can name this anything but for this tutorial we will name it Build.

We will now open CMake and select our Trinity Core 4.3.4 source folder and select our Build

Screen-Shot-2023-01-19-at-2.02.20-AM.png
Selecting source and build folders
Once you have selected the two folders, you will need to click on Generate and select our compiler. We will need to select Visual Studio 16 2019 and then click "Finish".

Screen-Shot-2023-01-19-at-2.07.13-AM.png
Selecting our compiler
If you followed the tutorial to this point, you should have no errors and see this:

Screen-Shot-2023-01-19-at-2.09.19-AM.png
CMake configuation and generating

Step 5: Compiling

We are now ready to compile our source code. You can exit out of CMake, and open the Build folder. Click on ALL_BUILD and let it open Visual Studio for you.

Screen-Shot-2023-01-19-at-2.14.31-AM.png
Select ALL_BUILD
Now that Visual Studio has our source code open, we will need to change it from debug mode to release mode.

Screen-Shot-2023-01-19-at-2.16.45-AM.png
Selecting Release Build Type
We are now ready to compile our source code, you can start the process by hitting F5 or right clicking your source code and then build.

Screen-Shot-2023-01-19-at-2.18.36-AM.png
Selecting Build
You should have no errors during compiling and see this once its completed:

Screen-Shot-2023-01-19-at-2.28.27-AM.png
Successfully Built

Step 6: Getting Required Files & Renaming Configuration Files

Now that we have successfully built our source code, our files will be located in Build->Bin->Release. We will need to rename our configation files.

Rename authserver.conf.dist to bnetserver.conf
Rename worldserver.conf.dist to worldserver.conf

Screen-Shot-2023-01-19-at-2.33.21-AM.png
Renamed our config files
Now we will need to grab a few libraries from the programs we installed at the start of our tutorial. Please Note: Copy these files from these locations and not remove them completely.

libmysql.dll


You may find this library in: C:\Program Files\MySQL\MySQL Server 8.0\lib

libssl-1_1-x64.dll & libcrypto-1_1-x64.dll

You may find these two libraries in: C:\Program Files\OpenSSL-Win64\bin


 

PrivateDonut

Legend
Mar 9, 2011
12,060
774
113
United States
wowemulation.com
Credits
377

Step 7: Extracting Data From Game Client​

We will need to extract the data from our WoW 4.3.4 game client. These files are required to successfully start your worldserver.

You will need to copy the following files from your Build->Bin->Release into your WoW 4.3.4 client(The folder where your wow.exe is stored).

  • mapextractor
  • mmaps_generator
  • vmap4assembler
  • vmap4extractor
Screen-Shot-2023-01-19-at-3.25.34-AM.png

Next, navigate to your TrinityCore folder (the one you obtained from GitHub, not your build folder) and go to the “TrinityCore/contrib” subdirectory. Copy the extractor.bat from there and paste it into your WoW 4.3.4 client folder.

Screen-Shot-2023-01-19-at-3.29.05-AM.png
extractor in game client folder
Now start it up, and choose option 4 to extract all the data from the game client. Important: This may take a couple of hours, time varies depending on computer resources.

Screen-Shot-2023-01-19-at-3.30.07-AM.png
Getting ready to extract data
Once the data has been successfully extracted, you will need to copy the following folders over to your Build->Bin->Release folder.

  • Maps
  • vMaps
  • mMaps
  • DBC
  • Cameras

Step 8: Populating The Database Automatically

We will now proceed to populate the databases. This is a process that TrinityCore performs to set up the databases and apply all the latest database fixes automatically.

Connecting to your database:

We are now ready to connect to our database, open HeidiSQL.

111111111.png
Connecting to your database
Running Query To Create Databases And User

We will need to run the queries below to our MySQL server to create the username trinity, and the databases Auth, World, Characters And Hotfixes.

Please, Log in or Register to view quote content!


To proceed, we need to first download the database from the Github repository specified in this tutorial. Please navigate to the release section of The Cataclysm Preservation Project on Github(
Please, Log in or Register to view URLs content!
), and download the most recent version of the world database as shown in the image below:

Screen-Shot-2023-01-19-at-9.39.26-PM.png
Download latest database
We will need to extract these two SQL files to our Build->Bin->Release folder as shown below:

Screen-Shot-2023-01-19-at-9.41.04-PM.png

Now open the worldserver.exe, it should ask you if you want to create the hotfixesdatabase, simply type yes.

Screen-Shot-2023-01-19-at-9.24.24-PM.png

Afterwards it should automatic detect that we have not setup any of our other databases and start to populate those automatically using the files from the source and the world databse we just downlaoded.

Please Note: Populating the database may take a few minutes depending on your computer specs. But after it is done, there should be no errors and the world server should start right up.

Screen-Shot-2023-01-19-at-9.47.51-PM.png


Conclusion

Congratulations you have now successfully compiled your own Cataclysm 4.3.4 Private Server!

Now we covered all the steps to compile, connecting to your new Private Server can be tricky due to the way the source handles authentication. But no worries, you can follow the two links below to learn more about getting the right client setup.

Please, Log in or Register to view URLs content!
 
  • Like
Reactions: Khonsu