Having issues compiling? Don't want to wait for an hour to compile a new server? Want a steady stream of updates? Well then, you came to the right place!
With the following instructions, one can install their own TrinityCore server using pre-compiled packages. The current state of the 2 branches is:
- 3.3.5a: fully functional and installable using the instructions in this topic
- master: Still WIP, the packages are compiled and in the repository, but still need to be tested and validated against the installation instructions.
== Background ==
There are 3 packages, server, database and tools:The database package will also install MariaDB from the default Debian Repository
Server package: pre-compiled version using the instructions provided on the TrinityCore wiki. Date and commit-hash are included in version tag. By default this package will also install database, but it is possible to run the database on a remote server. And it will not overwrite any configuration files in place without asking.
Database package: Contains TDB335.62 with all the database updates provided by the commit. Also contains a slightly modified auth_database (which has to be setup with the provided script), so you can control the server while it's started without console (in order to run it as a service, details below).
Tools package: contains the extractors, so you can run them on your desktop with the client instead of uploading a copy to the server. I also included a script that will queue all the commands you need to generate a data package for your TC server. This package isn't supposed to run on the same system as the server (because it would require you to upload a complete WoW client to your server).
The packages come with a default configuration to support service control by SystemD. A few details:
/opt/trinitycore - server files and data files
/var/log/trinitycore - server logs
/var/run/trinitycore - PID files
See https://github.com/TrinityCore/TrinityCore/issues/18069 for more info on how and why
== Update frequency ==
These packages will be recompiled everyday at midnight, compiling/uploading takes about an hour per tree, so expect fresh packages:
- 3.3.5a: around 01:30 AM CEST
- master: around 3:30 AM CEST
The script will automatically download the latest TDB version if it is updated in the source files. If there are any changes with the configuration files (new options added etc.) I will add them as soon as I can.
== Installation Instructions ==
This instruction will help you setup a TrinityCore server on a Debian Jessie server with it's own local MySQL server. If you require a seperate MySQL server, please adjust where needed. All packages provided are only tested on Debian Jessie stable (with updates).
It is in your best interest to read the entire instruction first before installing!
Install a server with Debian Jessie and log in on it
You don't need anything except the basic install!
Add the following line to /etc/apt/sources.list
deb http://repo.element-networks.nl/ custom main
Add the repository key for package verification
wget http://repo.element-networks.nl/public.gpg -O - | apt-key add -
Update your package lists
Install the server 3.3.5a: apt-get install trinitycore-server3.3.5 master: apt-get install trinitycore-server-master
NOTE: This command will install the TrinityCore server and all it's dependencies (including a MariaDB server)
If you want to run a seperate database server, run this command with '--no-install-recommends' to skip the installation of the database package.
FIRST TIME ONLY: Run the following script to setup the databases setup_database.sh
If you run the database on a different server, run the script on that server. Also, change worldserver.conf and authserver.conf accordingly!
Extract the MAPS, MMAPS and VMAPS using the extractors.
Pro-tip, if you have a (fast) Linux (gaming) desktop, do the following:
Install the trinitycore-tools3.3.5 package on your desktop with the WoW client. apt-get install trinitycore-tools3.3.5
Go to your WoW client folder and run the script cd /to/my/wowclient
After extracting all the maps, mmaps, vmaps and dbc's it will ask you the following question: # Your data package is in /to/my/wowclient/trinitycore-data.tgz # Would you like this script to apply it on your server? y/N
If you select yes, it will ask you where to upload the data package
See https://trinitycore.atlassian.net/wiki/display/tc/Linux+Server+Setup for all the details surrounding the extracting process.
Start the server! systemctl start trinitycore-authserver.service
systemctl start trinitycore-worldserver.service
You can control the server using the following command: telnet localhost 3443
Change the password for the admin account: .account set password admin NEWPASSWORD NEWPASSWORD
Create a new user .account create USERNAME PASSWORD
Press Enter again to log out
Set your client's realmlist to your newly installed server
Note: enUS could also be enGB if you have a European version of the client
Start your game, log in and enjoy!
== Updating ==
Updating the server to a newer version is very easy, I do it using the following script:
# Upgrade the TrinityCore server to the latest build
# Stop running server
systemctl stop trinitycore-worldserver.service
# Upgrade packages, change the packagename if you wish to run the 'master' branch
apt-get upgrade trinitycore-server3.3.5 trinitycore-database3.3.5 -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold'
# Start server
systemctl start trinitycore-worldserver.service
== Feedback ==
Any feedback is appreciated! I have been running my test-server with this setup for a few days now and it is still alive and kicking. However, my userbase is quite small (5) and I would like to know if the current way of updating is doable.
Thoughts, feelings, emotions?