This article is part of the Installation Guide. You can read it alone or click on the previous link to easily move between the steps. |
|
cd ~/ git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git |
This will clone 3.3.5a branch, this is the RECOMMENDED branch for starters.
cd ~/ git clone -b master git://github.com/TrinityCore/TrinityCore.git |
This will clone master branch, note that this is NOT the recommended branch for starters.
The directory TrinityCore will be created automatically and all the source files will be stored in there.
FreeBSD users will need to apply the patch located here for g3d to compile properly, before doing anything else. |
To avoid issues with updates and colliding source builds, we create a specific build-directory, so we avoid any possible issues due to that (if any might occur)
cd TrinityCore mkdir build cd build |
To configure the core, we use space-separated parameters attached to the configuration-tool (cmake) - do read the entire section before even starting on the configuration-part.
This is for your own good, and you HAVE been warned. A full example will also be shown underneath the explanations.
cmake ../ [additional parameters] |
Parameter explanations
path to your OpenSSL library - use if you have OpenSSL installed system wide with a different version to 1.0.x:
path to your OpenSSL includes directory - use if you have OpenSSL installed system wide with a different version to 1.0.x:
|
The above parameters when combined into a full example :
By default this is the only row you will need to run to setup your install: cmake ../ -DCMAKE_INSTALL_PREFIX=/home/<username>/server Another Examples Below: cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server -DTOOLS=0 cmake ../ -DCMAKE_INSTALL_PREFIX=/home/$USER/server -DTOOLS=0 -DWITH_WARNINGS=1 |
The 1st row builds the core with the tools, set installation base directory to /home/<username>/server.
The 2nd row builds the core without the tools, set installation base directory to /home/wow/server.
The 3nd row builds the core without the tools, set installation base directory to /home/$user/server and enables warnings.
NOTE: If you see
"-- Performing Test boost_filesystem_copy_links_without_NO_SCOPED_ENUM - Failed" IGNORE, it's a warning.
Note that you WILL have to configure the server well if you ever want to use the RA-access functionality.
After configuring and checking that everything is in order (read cmakes output), you can build Trinity (this will take some time unless you are on a rather fast machine)
make make install |
If you have multiple CPU cores, you can enable the use of those during compile :
make -j <number of cores> make install |
Alternatively:
make -j $(nproc) install |
After compiling and installing, you will find your core binaries in /home/<username>/server/bin, and the standard configuration files in the /home/<username>/server/etc folder.
(As usual, replace <username> with the username you created earlier). Now you can continue reading on and learn how how to update the source tree.
TrinityCore developers are always at work fixing and adding new features to the core. You can always check them here. To update the core files, do the following :
cd ~/TrinityCore/ # For 3.3.5 Branch git pull origin 3.3.5 # For master Branch git pull origin master |
Now return to the compilation-section again, and repeat the instructions there.
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.
Things to notice :
-DWITH_COREDEBUG=0 not required, this flag is only for core developers as its default is : 0 it may cause crashes if using on production environments if you want to compile core on debug mode you need to use -DCMAKE_BUILD_TYPE=Debug |
The new method for custom SSL-libraries are:
-DOPENSSL_LIBRARIES=<path to OpenSSL libraries directory> |
The paths for installation can be done without any other parameters but this :
-DCMAKE_INSTALL_PREFIX=/path/to/where/you/want/core/to/be/installed |
It will create the following structure:
<path>/bin/ - binaries will be placed here |
Also, compile has been tested on Debian 9 x32/x64, Ubuntu 17.10/18.04 x64 - all without problems IF YOU DO NOT MESS AROUND ON YOUR OWN!
We don't recommend to mix deps on older linuxes and update your distribution to one modern linux (debian 10, ubuntu 20.10)
Please remember to rename the worldserver.conf.dist and authserver.conf.dist files in worldserver.conf and authserver.conf respectively, unless you want to keep the configuration files of a previously compiled version of the core.
This article is part of the Installation Guide. You can read it alone or click on the previous link to easily move between the steps. |