PDA

View Full Version : How to compile Trinity core



Simonfrisk
22-03-11, 09:27 AM
TortoiseHG:https://bitbucket.org/tortoisehg/stable/wiki/download
VisualStudio 2008: Visual Studio (http://msdn.microsoft.com/en-gb/vstudio/default.aspx)
MySQL server: MySQL :: MySQL Downloads (http://dev.mysql.com/downloads/)
NET Framework 3.5: Download details: Microsoft .NET Framework 3.5 (http://www.microsoft.com/downloads/en/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en)
SQLYog: Download - SQLyog MySQL Frontend, MONyog MySQL Monitoring Tool (http://www.webyog.com/en/downloads.php)
GUI Tools:MySQL :: MySQL GUI Tools Bundle: Archived Downloads (http://dev.mysql.com/downloads/gui-tools/5.0.html)


PULLING AND COMPILING THE SOURCE

Before you start this phase you need to have installed TortoiseHG and Visual Studio.
Pulling the Source

Create a directory in which Core files will be pulled (for example: C:\Trinity).

Right-click on the directory and click on 'TortoiseHG' -> 'Clone a Repository'.

Fill in the data as follows:


Source Path: https://trinitycore.googlecode.com/hg/trinitycore
Destination Path: C:\Trinity
Click on 'clone'. Wait a few minutes (or less) and all the files will be pulled in the directory C:\Trinity.

Compiling the Source



Open the solution file C:\Trinity\win\TrinityCore&Script VC90.sln (VS 2008).



Go on the top menu 'Build' and click on Configuration Manager. Make sure
you set the build to 'release Win32' or 'release x64' depending on the
Operating System Trinity will be running on.





Now go back to the 'Build' menu and click on 'Clean Solution'. Unless
you are just testing a compilation, it is always best to clean your
build before compiling your new Trinity revision. Compilation length
differs from machine to machine, you should expect it to take 15-30 minutes.



You will find the following message once the compilation has finished successfully:

========== Build: 10 completed, 0 failed, 0 up-to-date, 0 skipped ==========

You will find your freshly compiled binaries in the C:\Trinity\bin folder.



Keep the following files:
ACE.dll
libeay32.dll
libmySQL.dll
README
README.AHBOT
ssleay32.dll
TrinityCore.conf.dist
TrinityCore.exe
TrinityRealm.conf.dist
TrinityRealm.exe


Delete any other file which is not in the above list, you will not need
them. Keep the AuctionhouseBot readme files, they will come in handy in
future once you are comfortable with Trinity and want to try some of its
many advanced features, such as the AHBot (See also the related DB :
table)
Main Page - TrinityCore Wiki (http://www.trinitycore.org/w/Main_Page)

Keeping the code up to date



TrinityCore Developers are always at work fixing and adding new features to the core. You can always check them here:
Changes - trinitycore - Trinity Core Open Source MMo Framework - Google Project Hosting (http://code.google.com/p/trinitycore/source/list)
or by using the ToroiseHG View Changelog option.

Simply right-click on your C:\Trinity folder and click on 'TortoiseHG' -> 'Synchronize'. Click on the button
'pull' at top of the window and it will start pulling the new/updated
files. Once it is finished click on 'Update to Branch Tip' at the bottom
of the window and you are done! Now you can repeat the compiling
procedure above.



It is always best to remove the binaries from the C:\Trinity\bin folder
every time you compile a new revision (and remember to clean your
build).





INSTALLING THE DATABASES



Before you start this phase you need to have installed TortoiseHG, MySQL Server and SQLYog (or MySQL GUI Tools).

Pulling the Source



Create a directory in which DB files will be pulled (for example: C:\TDB).



Right-click on the directory and click on 'TortoiseHG' -> 'Clone a Repository'.



Fill in the data as follows:


Source Path: https://trinitydb.googlecode.com/hg
Destination Path: C:\TDB

Click on 'clone'. Wait a few minutes (or less) and all the files will be pulled in the directory C:\TDB.





Installing MySQL Server



When configuring MySQL make sure you remember the password you set for
the default root account and that you enabled both MyISAM and InnoDB
engines.



You can leave all the other settings as default. You might want to
enable remote access to your MySQL server if your are also testing a website
for your Trinity server or if you have friends testing with you which
need access from remote. Remember that this will decrease the security

world - holds game-experience content such as spawns, stats, quests, etc.
level of your MySQL server!





Installing The Trinity Databases



Trinity needs three databases to run:


realmd - holds accounts data.
characters - holds characters data.

The first two are to be taken from the Core directory, the world DB is to be taken from the TDB directory.



1) Create the three databases by importing C:\Trinity\sql\create_mysql.sql. You now have three databases called realmd, characters and world.



2) Import realmd database structure by importing C:\Trinity\sql\realmd.sql in the realmd DB.



3) Import characters database structure by importing C:\Trinity\sql\characters.sql in the characters DB.



4) Unzip C:\TDB\full_db\TDB_333.9.29_7924.zip and import world DB
structure and contents by importing TDB_333.9.29_7924.sql in the world
DB.



5) Import this file to update world DB with procedures C:\TDB\updates\332.8\29_procedures_world.sql.



6) Import all *.sql update files from C\Trinity\sql\updates which start
with a number above '7924' so that your DB structure is up to date with
the revision you just pulled and compiled.



Note: Now your world DB structure is for TrinityCore revision 7924. You
need to import the update files to have the proper world DB structure
for the revision you just pulled and compiled.. You will notice they are
all named XXXX_world_tablename.sql or XXXX_characters_tablename.sql or
XXXX_realmd_tablename.sql, and you need to import the *_world_*.sql
files only!

XXXX_world_tablename.sql -> World DB
XXXX_characters_tablename.sql -> Characters DB
XXXX_realmd_tablename.sql -> Realm DB



Keeping the DB up to date



TDB Developers are always at work fixing and adding new data to the DB.
Unlike Core development, DB updatepacks come more on a 1-2 times a month
basis with many fixes from the forum and a lot of new data from the
Developers and contributors.



Simply right-click on your C:\TDB folder and click on 'TortoiseHG' -> 'Synchronize'. Click on the button
'pull' at top of the window and it will start pulling the new
updatepack. Once it is finished click on 'Update to Branch Tip' at the
bottom of the window and you are done! Now you can repeat the compiling
procedure above.



SETTING UP THE SERVER



Now that you have the Source compiled and the Databases installed, you need to set up the server.

Extracting dbc, maps and vmaps files



In order to run Trinity needs dbc and maps files. In addition, if you
want to enable vmaps (mobs not seeing through walls, etc) you will need
to extract them as well. Warning: use Trinity's extractors. If you use
extractors from other projects it is almost certain that your Trinity
Core will not recognize the extracted data!

dbc and maps files



Find the application C:\Trinity\contrib\extractor\ad.exe and place it in
your WoW Client directory. Before running this application, run your
Client once (the login screen is enough). You need to do this so that
the 'ad.exe' knows where your Client is and where to extract the files
from.



Now you can run 'ad.exe' and you will find two directories in your WoW Client called 'dbc' and 'maps'. Move them where your Trinity binaries are (C:\Trinity\bin\Win32_release or C:\Trinity\bin\x64_release).

vmaps (optional)



You can also extract vmaps which will take quite a while depending on your machine (1-2 hours).



Copy all files from C:\Trinity\contrib\vmap_extract_assembler_bin\ to where all your binaries, dbc dir and maps
dir are. Run makevmaps_SIMPLE.bat. It will take a long time. It will
first create a directory called 'buildings'. Then it will start
extracting files to the directory 'vmaps'.



You will not see any progress in the application's window or anything
else. You will just notice files being created in the 'vmaps' folder as
it is proceeding. Do not stop the process. It will ask to "press any
key" to terminate the program when it is finished.

Configuring the Server



First of all you need to change the extension of TrinityCore.conf.dist
-> TrinityCore.conf and TrinityRealm.conf.dist ->
TrinityRealm.conf (make sure you enabled "show known files extensions"
in the Windows folder option). Then you can edit them.

TrinityCore.conf



Edit MySQL account username and password (instead of trinity;trinity).

LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;realmd"
WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity;world"
CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters"

If you extracted vmaps then edit the following:

vmap.enableLOS = 1 -- set this to 1
vmap.enableHeight = 1 -- set this to 1
vmap.ignoreMapIds = "369"
vmap.ignoreSpellIds = "7720"
vmap.petLOS = 1 -- set this to 1


TrinityRealm.conf



Edit MySQL account username and password (instead of trinity;trinity).

LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;realmd"

Realmlist table



You need to make sure that TrinityRealm.exe directs incoming connections
to your realm. In the realmd DB there is a table called realmlist. You
need to edit the field address according to your needs:


127.0.0.1 -- Leave default localhost if you are connecting alone from the same machine Trinity runs on.
LAN ip -- Use the machine's LAN ip if you want other computers from the same network as Trinity's to connect to your server.
Public ip -- Use your public ip if you have friends and testers which need to connect your server from the internet.

davidbasara
06-05-12, 08:38 PM
TortoiseHg > Download (http://tortoisehg.bitbucket.org/download/) updated link for tortoise. gonna try running the full program later on