PDA

View Full Version : How to make Compile Server TrinityCore



Wise
02-11-12, 09:32 AM
How to make Compile Server Trinity Core!



Follow My Step's! and you will have a amazing Compile Server.


STEPS



1.
First of all you must have World of Warcraft Client 3.3.5a

2.
Download the GitExtensions (http://code.google.com/p/gitextensions/) Be Carefull when you go to install the GitExtensions You must to install all of them MySYSGit, and KDiff.

3.
Visual C++ 2008 Express (Download and run vcsetup.exe)
Visual C++ 2010 Express. 2008 (http://www.microsoft.com/en-us/download/details.aspx?id=14597#filelist)-2010 (http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products#2010-Visual-CPP)

4.
I Prefer to download HeidiSQL (http://www.heidisql.com/download.php)

5.
Download MySQL-Apache from here Jeutie MySQL-Apache (http://www.ac-web.org/forums/showthread.php?111061-Portable-MySQL-servers&highlight=Jeutie+Mysql)Is Better and Cleaner Mysql-Apache.

6.
Download CMake (http://www.cmake.org/cmake/resources/software.html)

7.
Download OpenSSL (http://slproweb.com/products/Win32OpenSSL.html)


Let's Start!

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 Git Extensions -> Clone. Fill in the data as follows:



Repository to clone: https://github.com/TrinityCore/TrinityCore.git
Destination: C:\Trinity
Subdirectory to create: <none>
Branch: master
Personal Repository: Yes



Configuring and Generating Visual C++ solutions with CMake


Before you begin, create an empty directory called Build. In this example, we will use D:\Build.


1. Open the CMake GUI (default install directory is C:\Program Files (x86)\CMake 2.8\bin).

The two top text areas are used to tell where CMake should look for the source tree, and also where to put the build files.

2. Click Browse Source... -> Select the source directory (C:/Trinity)
3. Click Browse Build... -> Select the build directory (D:/Build)
4. Click Configure
5. Make sure Use default native compilers is checked
6. In the drop-down menu, choose the version of the compiler you downloaded in the Software Required section (which version of Visual C++ Express did you install?).

Note: CMake is not a compiler. It merely generates the build files required for the compiler you choose, so choose wisely.

7. Click Finish. CMake will begin chewing through the source code and analyzing the CMakeLists.txt spread all over the source tree.

8. CMake shows you a list of options for selecting different components of the build.

Check "Tools". This will compile the map extractors needed later in the setup. NOTE: This is VERY important for you to follow.
All other default selections are OK in most cases, however, if your MySQL server version is different than 5.5.x, we strongly recommend to uncheck the USE_MYSQL_SOURCES option. This tells CMake to look for include files and client libraries in your MySQL server installation instead of using the MySQL source files provided with TrinityCore. This also requires that your selected compiler is for the same architecture (32bit or 64bit) as your MySQL Server Community Edition.

9. When your selection is done, click Configure again.




Compiling the Source



Browse into your D:\Build folder and open TrinityCore.sln with Visual C++ Express.
On the menu at the top, click Build and select Configuration Manager.
Set Active Solution Configuration to Release
Set Active Solution Platform to Win32 (if you set 64-bit compilation during the CMake configuration, select Win64)
With Visual C++ 2010, simply use the list menus below the "Help" menu and make the same changes explained above (though it should already be done by default).
Click Build -> Clean Solution.
Visual C++ 2010: Right-click ALL_BUILD in the Solution Explorer on the left sidebar and select Clean.
Unless you are just testing a compilation, it is always best to clean your build before compiling your new Trinity revision.
Click Build -> Build Solution.
Visual C++ 2010: Right-click ALL_BUILD and select Build.
Compilation length differs from machine to machine, you should expect it to take 5-30 minutes.
If you are asked to Reload build files during the compile, do so.

You will find a similar message once the compilation has finished successfully, remember it's not always the same:
========== Build: 14 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========



You will find your freshly compiled binaries in the D:\Build\bin\release folder. These are all used to run your server at the end of this instruction.

You will need the following files in order for the core to function properly. These are located in your D:\Build\bin\release folder:



ACE.dll libeay32.dll libmySQL.dll ssleay32.dll worldserver.conf.dist worldserver.exe authserver.conf.dist authserver.exe






libeay32.dll, libmySQL.dll, and ssleay32.dll will need to be manually added to this folder, and you need to copy them over from the following installation/bin directories: libmySQL.dll: C:\Program Files\MySQL\MySQL Server 5.x\lib libeay32.dll and ssleay32.dll: C:\OpenSSL-Win32\bin




Download INSTALLING_THE_DATABASES (http://www.trinitycore.info/How-to:Win#INSTALLING_THE_DATABASES)




Open Git Extensions (default install directory is at C:\Program Files (x86)\GitExtensions). Open your Trinity repository (click Open Repository and browse to your C:\Trinity source directory.) Click on the blue "down" arrow at the top of the window called Pull. Make the following selections: (screenshot) Pull from Remote: origin Local Branch: master Do not merge, only fetch remote branch Finally, click the Pull button, and it will fetch all of the new changes to the core. "Fetch" is for visual purposes only - it allows you to see what has been done, and gives you the option of choosing which commit you'd like to update to, like viewing a changelog. Fetch will not modify your current source, so if you're only Fetching, you don't need to recompile, unless you Checkout a different commit (below). Since you have a new commit hash copied from the TrinityCore Downloads, type CTRL+SHIFT+G to bring up the Go to commit: window (or click on the Commands menu -> Go to commit), and paste the long string of numbers and letters inside (make sure to delete any sneaky spaces you may have copy/pasted along with it, otherwise you'll have a "No Revision Found" error). Then click Go. If done correctly, it should jump up to that commit - the one that contains the newest revision (remember, it will say something similar to "DB: TDB XX: Move SQL updates to the old directory"). Right-click on this commit and select Checkout Revision or Reset current branch to here -> Hard (resetting the branch will revert any changes you made to the C:\Trinity source, but may fix odd compile errors as well). This new commit will now be bold, which identifies a successful update to that revision. Continue with both Compiling the Source and Keeping the DB up to date (Advanced) The only difference here is if you choose to update your source to a commit that is NOT a revision. In this case, you MUST also import ALL of the new .sql files that have been created in the C:\Trinity\sql\updates\world folder, if any.





The Download Packages at the top are the ones you want. Find the package with the latest date and download it. For example, a file such as TDB_full_335.11.48_2012_07_12.rar tells us three things: TDB: Trinity Database 335.11.48: The version of the database and the client it belongs to. 335 = WoW version 3.3.5, 48 = the 48th full revision. 2012_07_12: The date - July 12th, 2012 The file is in .rar format, so you will need an archive program like 7zip to unpack it.





Now you are Ready for Make the Maps and VMaps and DBC ---->



SETTING UP THE SERVER

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

Trinity requires dbc and map files. It is optional but highly recommended to also extract vmaps, which enable Line-of-Sight rules (casting through walls, etc) and Sanctuary areas (like Dalaran).

WARNING: Use ONLY Trinity's extractors.

If you use extractors from other projects it is almost certain that your TrinityCore will not recognize the extracted data!

There is one way in which you can obtain the extractors. If you compiled them while installing CMake (Step 8 in Configuring and Generating Visual C++ solutions with CMake), you already have them in your D:\Build\bin\Release\ folder.
Extracting DBC/Maps/VMaps

Browse into your D:\Build\bin\Release\ folder and copy these files into your root World of Warcraft folder: mapextractor.exe, vmap4extractor.exe, vmap4assembler.exe, and makevmaps_simple.bat
If you do not have makevmaps_simple.bat, create it inside your root World of Warcraft folder.
Once created, open it in Notepad and copy/paste the following inside it:

vmap4extractor.exe
md vmaps
vmap4assembler.exe Buildings vmaps
pause



CONFIGURING THE SERVER

Browse into your D:\Build\bin\Release\ folder and delete the .dist extensions from worldserver.conf.dist and authserver.conf.dist. You should now have worldserver.conf and authserver.conf files in your D:\Build\bin\Release\ folder.
Open worldserver.conf

worldserver.conf

Scroll down to the LoginDatabaseInfo, WorldDatabaseInfo, and CharacterDatabaseInfo config options and enter MySQL Server login information for the server to be able to connect to your database.

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"



Scroll down to the LoginDatabaseInfo and enter MySQL Server login information.

LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"

Realmlist Table

Now you are Ready to join in your Server! Set Realmlist 127.0.0.1 and how to make account? Type at WorldServer.exe .account create name password and set gm level! Have Fun Enjoy!