How to compile a fresh Trinity Core
Clockworks Gaming Archive 4.0.6_4.1.0_4.2.2_4.3.0_4.3.4_5.1.0 :: Darktower gaming :: Repack archive 3.2.2 /3.3.5/ 4.0.6/4.1.0/4.2.0/4.2.2 :: Tut's section
Page 1 of 1
How to compile a fresh Trinity Core
What do I need?
GitExtensions (Includes Git, MySYSGit and KDiff.)
Visual C++ 2008 Express (Download and run vcsetup.exe)
CMake
OpenSSL 1.0.0f
MySQL 5.5.9 server
NET Framework 3.5 (Should have got this via Windows Updates.)
HeidiSQL
Pulling the source:
Before you can jump into compiling anything, you'll need to get the source; this is fairly easy:
Create a directory in which the core files will be pulled. (e.g: C:/Trinity)
Right-click on the directory, navigate to 'Git Extensions' and press Clone
Fill in the data as following:
Code:
Repository to clone: https://github.com/TrinityCore/TrinityCore.git
Destination: C:/Trinity
Subdirectory to create:
Personal Repository: Yes
Click on 'Clone' and wait a couple minutes whilst the files are being pulled.
Configuring and Generating Visual C++ solutions via CMake:
Before you can continue and compile the source, you'll have to generate the solution. This is done via Cmake.
Create a directory in which the compile will be built. (Different from the source.) (e.g: C:/Build)
Launch CMake GUI
Navigate to the source and the build directories
Press configure. (Choose Visual Studio 10, Native compiles.)
Once configured, you'll get a table coloured in bright red with various options.
The options should be set correctly, although, hover over them and see if you need any extras. Be sure to keep 'Servers' and 'WITH_MYSQL_SOURCES' checked.
Press configure again, and then Generate.
When everything went correctly, you should get a message saying:
"Generating Done"
You can now close CMake.
Compiling the source:
Finally we came to the step where we'll compile the source;
Go into your build folder, and open the 'TrinityCore.sln' file
Once Microsoft Visual C++ has launched, at the top change the setting from 'Debug' to 'Release' and be sure that the platform is 'Win32'
Press the small green (> play arrow to start building.
Building should take about 30 minutes.
Once done you should get an error that 'Build All' went unsuccessfully, however at the bottom of the screen you should see the line:
Code:
========== Build: 15 completed, 0 failed, 0 up-to-date, 1 skipped ==========
The freshly compiled core can be found in the 'Build/bin/release' folder.
You'll need the following files to get the core to function properly:
Code:
ACE.dll
libeay32.dll
libmySQL.dll
ssleay32.dll
README
worldserver.conf.dist
worldserver.exe
authserver.conf.dist
authserver.exe
libeay32.dll, libmySQL.dll, and ssleay32.dll will need to be added to this folder as well, and you need to copy them over from the original installation/bin directories, (OpenSSL/MySQL) or out of my repack.
Keeping the core up to date:
Trinity developers are always working to fix bugs or add new features. I'd suggest doing this step at least once a month;
Go back to your source folder, and right click.
Navigate to GitExtensions and press 'Pull'
Make sure it is configured as following:
Code:
Pull from Remote: origin
Remote Branch: master
Merge remote branch to current branch
Click Pull, and the latest core revision will be downloaded.
Now you just repeat 'Compiling the core' and you'll have the latest revision.
Getting the databases:
Before your server will function, you'll need to configure the databases. Database revisions are always supplied by the core repo (TC/sql/updates) However you'll have to download the 'world' base via Git Downloads. You can find that here.
Installing the databases:
Trinity needs 3 databases to be able to run. ('Auth', 'Characters' and 'World'.)
In HeidiSQL first make a new connection with the information you filled in during the installation of the MySQL server.
Once in the application, create 3 new databases named
Code:
auth
characters
world
When created, execute the database structures into the databases:
Import auth database structure by importing /Trinity/sql/base/auth_database.sql to the auth database.
Import characters database structure by importing /Trinity/sql/base/character_database.sql to the characters database.
Unzip 'world' database zip file and import world DB structure and contents by importing the SQL to the world database.
Now your world database structure should be at the latest revision, it is required that you also import various additional SQL updates that are included with each core (and database.) updates
Browse into the /Trinity/sql/updates folder
Import ALL .sql update files which start with a number above your current revision so that your DB structure is up to date with the revision you just pulled and compiled.
You will notice they are always named XXX_world_tablename.sql or XXX_characters_tablename.sql, you need to execute them in the corresponding database.
Keeping the database up to date:
As much as the core, the database also gets updated nearly weekly. You can always get the latest, smaller fixes by pulling it from the core repo.
You should now repeat the procedure listed above. (Executing the update files into the corresponding databases.)
Setting up the server:
Whilst you can download these files from the web, it might be useful to extract them yourself;
In order to run, Trinity needs dbc, maps and vmaps. These need to be extracted. The extractors can be compiled together with Trinity (select the Extractor option in CMake) Or you can download them from the TrinityCore Repo, in the download section.
Put the maptools in your World of Warcraft client directory
Launch the WoW client, once you see the home screen, close it again.
Run 'mapextractors.exe' and you'll find two maps in your client directory; maps and dbc
Move these folders to the folder your core binaries are.
(e.g: /Trinity/bin/Win32_release or C:/Trinity/bin/x64_release)
Extracting the Vmaps will take a little longer, but is highly recommended; simply run 'makevmaps3_simple.bat'
You'll find two more folders, 'Buildings and 'vmaps'
Once done, put the 'Buildings' in the 'vmaps' folder, and then put the 'vmaps' folder in the binary directory.
Unless moving to another patch, the maps, vmaps and dbc should stay the same. By thus, this process shouldn't be repeated.
Configuring the server
You can alter various settings of your server by editing the configuration files. This is required to do before starting it, since you'll need to fill in the correct MySQL details.
Rename the worldserver.config.dist to worldserver.config
Read through all the settings, however be sure to change:
Code:
LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity;world"
CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters"
And make it reflect your MySQL settings.
Rename the authserver.config.dist to authserver.config
Read through all the settings, however be sure to change:
Code:
LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
Finished
After all these steps are complete, you should have successfully compiled and configured a fresh Trinity Core compile. Be sure to change your realmlist to 'Set realmlist 127.0.0.1' and launch both the authserver.exe and worldserver.exe, After a couple minutes these should be started without any issue's. You will have to create your account using the world console, just type the following two lines in it:
Code:
account create NAME PASSWORD
account set gmlevel 3 NAME -1
Your account will be created, and will have admin powers in-game.
This guide should be all you need taking in consideration that you are a beginner and left everything to it's default values.
Warning: The Trinity Core team nor myself DO NOT - in any case - sponsor nor support illegal public private servers.
This tutorial is meant for educational purposes only. Using it to run an illegal public server, is your personal choice.
Tut by Jeutie
GitExtensions (Includes Git, MySYSGit and KDiff.)
Visual C++ 2008 Express (Download and run vcsetup.exe)
CMake
OpenSSL 1.0.0f
MySQL 5.5.9 server
NET Framework 3.5 (Should have got this via Windows Updates.)
HeidiSQL
Pulling the source:
Before you can jump into compiling anything, you'll need to get the source; this is fairly easy:
Create a directory in which the core files will be pulled. (e.g: C:/Trinity)
Right-click on the directory, navigate to 'Git Extensions' and press Clone
Fill in the data as following:
Code:
Repository to clone: https://github.com/TrinityCore/TrinityCore.git
Destination: C:/Trinity
Subdirectory to create:
Personal Repository: Yes
Click on 'Clone' and wait a couple minutes whilst the files are being pulled.
Configuring and Generating Visual C++ solutions via CMake:
Before you can continue and compile the source, you'll have to generate the solution. This is done via Cmake.
Create a directory in which the compile will be built. (Different from the source.) (e.g: C:/Build)
Launch CMake GUI
Navigate to the source and the build directories
Press configure. (Choose Visual Studio 10, Native compiles.)
Once configured, you'll get a table coloured in bright red with various options.
The options should be set correctly, although, hover over them and see if you need any extras. Be sure to keep 'Servers' and 'WITH_MYSQL_SOURCES' checked.
Press configure again, and then Generate.
When everything went correctly, you should get a message saying:
"Generating Done"
You can now close CMake.
Compiling the source:
Finally we came to the step where we'll compile the source;
Go into your build folder, and open the 'TrinityCore.sln' file
Once Microsoft Visual C++ has launched, at the top change the setting from 'Debug' to 'Release' and be sure that the platform is 'Win32'
Press the small green (> play arrow to start building.
Building should take about 30 minutes.
Once done you should get an error that 'Build All' went unsuccessfully, however at the bottom of the screen you should see the line:
Code:
========== Build: 15 completed, 0 failed, 0 up-to-date, 1 skipped ==========
The freshly compiled core can be found in the 'Build/bin/release' folder.
You'll need the following files to get the core to function properly:
Code:
ACE.dll
libeay32.dll
libmySQL.dll
ssleay32.dll
README
worldserver.conf.dist
worldserver.exe
authserver.conf.dist
authserver.exe
libeay32.dll, libmySQL.dll, and ssleay32.dll will need to be added to this folder as well, and you need to copy them over from the original installation/bin directories, (OpenSSL/MySQL) or out of my repack.
Keeping the core up to date:
Trinity developers are always working to fix bugs or add new features. I'd suggest doing this step at least once a month;
Go back to your source folder, and right click.
Navigate to GitExtensions and press 'Pull'
Make sure it is configured as following:
Code:
Pull from Remote: origin
Remote Branch: master
Merge remote branch to current branch
Click Pull, and the latest core revision will be downloaded.
Now you just repeat 'Compiling the core' and you'll have the latest revision.
Getting the databases:
Before your server will function, you'll need to configure the databases. Database revisions are always supplied by the core repo (TC/sql/updates) However you'll have to download the 'world' base via Git Downloads. You can find that here.
Installing the databases:
Trinity needs 3 databases to be able to run. ('Auth', 'Characters' and 'World'.)
In HeidiSQL first make a new connection with the information you filled in during the installation of the MySQL server.
Once in the application, create 3 new databases named
Code:
auth
characters
world
When created, execute the database structures into the databases:
Import auth database structure by importing /Trinity/sql/base/auth_database.sql to the auth database.
Import characters database structure by importing /Trinity/sql/base/character_database.sql to the characters database.
Unzip 'world' database zip file and import world DB structure and contents by importing the SQL to the world database.
Now your world database structure should be at the latest revision, it is required that you also import various additional SQL updates that are included with each core (and database.) updates
Browse into the /Trinity/sql/updates folder
Import ALL .sql update files which start with a number above your current revision so that your DB structure is up to date with the revision you just pulled and compiled.
You will notice they are always named XXX_world_tablename.sql or XXX_characters_tablename.sql, you need to execute them in the corresponding database.
Keeping the database up to date:
As much as the core, the database also gets updated nearly weekly. You can always get the latest, smaller fixes by pulling it from the core repo.
You should now repeat the procedure listed above. (Executing the update files into the corresponding databases.)
Setting up the server:
Whilst you can download these files from the web, it might be useful to extract them yourself;
In order to run, Trinity needs dbc, maps and vmaps. These need to be extracted. The extractors can be compiled together with Trinity (select the Extractor option in CMake) Or you can download them from the TrinityCore Repo, in the download section.
Put the maptools in your World of Warcraft client directory
Launch the WoW client, once you see the home screen, close it again.
Run 'mapextractors.exe' and you'll find two maps in your client directory; maps and dbc
Move these folders to the folder your core binaries are.
(e.g: /Trinity/bin/Win32_release or C:/Trinity/bin/x64_release)
Extracting the Vmaps will take a little longer, but is highly recommended; simply run 'makevmaps3_simple.bat'
You'll find two more folders, 'Buildings and 'vmaps'
Once done, put the 'Buildings' in the 'vmaps' folder, and then put the 'vmaps' folder in the binary directory.
Unless moving to another patch, the maps, vmaps and dbc should stay the same. By thus, this process shouldn't be repeated.
Configuring the server
You can alter various settings of your server by editing the configuration files. This is required to do before starting it, since you'll need to fill in the correct MySQL details.
Rename the worldserver.config.dist to worldserver.config
Read through all the settings, however be sure to change:
Code:
LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity;world"
CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters"
And make it reflect your MySQL settings.
Rename the authserver.config.dist to authserver.config
Read through all the settings, however be sure to change:
Code:
LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
Finished
After all these steps are complete, you should have successfully compiled and configured a fresh Trinity Core compile. Be sure to change your realmlist to 'Set realmlist 127.0.0.1' and launch both the authserver.exe and worldserver.exe, After a couple minutes these should be started without any issue's. You will have to create your account using the world console, just type the following two lines in it:
Code:
account create NAME PASSWORD
account set gmlevel 3 NAME -1
Your account will be created, and will have admin powers in-game.
This guide should be all you need taking in consideration that you are a beginner and left everything to it's default values.
Warning: The Trinity Core team nor myself DO NOT - in any case - sponsor nor support illegal public private servers.
This tutorial is meant for educational purposes only. Using it to run an illegal public server, is your personal choice.
Tut by Jeutie
Similar topics
» [HOWTO] Compile Trinity Core
» Clockworks trinity 3.3.5 playerbot core r/1..
» How to compile mangos
» SkyFire / SkyFireEMU / TUT /HOW TO COMPILE 4.0.6
» How to Compile Extra C++ Scripts in Arcemu
» Clockworks trinity 3.3.5 playerbot core r/1..
» How to compile mangos
» SkyFire / SkyFireEMU / TUT /HOW TO COMPILE 4.0.6
» How to Compile Extra C++ Scripts in Arcemu
Clockworks Gaming Archive 4.0.6_4.1.0_4.2.2_4.3.0_4.3.4_5.1.0 :: Darktower gaming :: Repack archive 3.2.2 /3.3.5/ 4.0.6/4.1.0/4.2.0/4.2.2 :: Tut's section
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|
Wed Nov 05, 2014 12:05 am by _IKESTER_
» Please come visit my new site
Tue Jul 22, 2014 3:45 pm by _IKESTER_
» 5.1.0 Mop_Eve_online multi server.
Thu Jun 26, 2014 3:26 am by _IKESTER_
» Clockworks cata updated 2014
Sat Jan 11, 2014 3:23 pm by _IKESTER_
» {Release} Tree Trinity 3.3.5 Stable Playerbots v17
Mon Dec 09, 2013 5:23 pm by _IKESTER_
» 2500_PHP_SCRIPTS_MEGA_PACK
Thu Oct 31, 2013 11:27 am by _IKESTER_
» 5000 Web Templates Incl. Php,Flash,_Ikester_.rar
Thu Oct 31, 2013 11:25 am by _IKESTER_
» Top wow addons
Sun Oct 27, 2013 1:26 pm by _IKESTER_
» Large lua script bundle for arcemu.
Mon Oct 21, 2013 10:15 am by _IKESTER_