Thulium Posted October 17, 2016 Report Share Posted October 17, 2016 (edited) Hi Folks, As mentioned in a later post, I no longer play WoW and decided to not port the trinitycore packages to Debian 11 'Bullseye' which was just released. I have discontinued builds and removed the packages from the repo. Thank you all for using the packages in the past few years and all of the feedback I received! Please check the 'Rolling your own' section on how to set this up for yourself! :-) Cheers! == Original message == Hi folks, 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. Not compiled automatically. == 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: not compiled automatically (per 2019-09-09) 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 Buster 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 Buster stable (with updates). !!! WILL NO LONGER WORK ON DEBIAN VERSIONS BELOW 10 !!! It is in your best interest to read the entire instruction first before installing! Install a server with Debian Buster 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/ buster main Add the repository key for package verification wget http://repo.element-networks.nl/public.gpg -O - | apt-key add - Update your package lists apt-get update Install the server3.3.5a: apt-get install trinitycore-server3.3.5-enmaster: apt-get install trinitycore-server-master-en 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 databasessetup_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-en Go to your WoW client folder and run the scriptcd /to/my/wowclient generate_data_package.sh 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 Username: admin Password: ChangeMeNOW! 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 GameClientDir/Data/enUS/realmlist.wtf Note: enUS could also be enGB if you have a European version of the client Start your game, log in and enjoy! == Upgrade to Debian 10 Buster == When upgrading my system to Debian 10 (Buster) I ran into an issue where my MariaDB server was no longer starting properly. In order to fix it, do the following: Make a snapshot of your current machine (and always make backups!) Before upgrading, run the following command, this will upgrade some MariaDB internals to the current version you have running. If you are already up to date, the script will say so. No need to run it with --forcemysql_upgrade -u root -p Upgrade your system to Debian 10 via the usual way (lots and lots of guides already on the interwebz, find one) When you run your server on LXC, please enable Nesting and restart the LXC container again. After starting the server, check if MariaDB is running, and run the upgrade script (step 2) again to update MariaDB's internals again. == Updating == Updating the server to a newer version is very easy, I do it using the following script: #!/bin/bash # 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 update apt-get upgrade trinitycore-server3.3.5-en trinitycore-database3.3.5-en -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? == Rolling your own? == Want to compile it yourself, but make it easier? Don't trust me? Need custom patches? No problem! Below are the recipes I use for the build script I use to generate the binaries and the packages. They are still only suitable for Deb based distro's, but feel free to roll your own! https://github.com/Thulium-Drake/trinitycore-recipes Edited August 16, 2021 by Thulium Discontinued builds 8 Link to comment Share on other sites More sharing options...
Nay Posted October 27, 2016 Report Share Posted October 27, 2016 For Windows, AppVeyor builds pre-compiled TC for 64 bits https://ci.appveyor.com/project/DDuarte/trinitycore/branch/3.3.5/artifacts and https://ci.appveyor.com/project/DDuarte/trinitycore/branch/master/artifacts P.S Pinned and featured this post. 1 Link to comment Share on other sites More sharing options...
Thulium Posted November 8, 2016 Author Report Share Posted November 8, 2016 (edited) Just a note, I've changed the DB package to be based on TDB_full_335.62_2016_10_17 now. (I updated this earlier, but that was too soon :-) ) P.S. is there any check I can do (before compiling) to see which version of the TDB is required? Then I might be able to make this more seamless! Edited November 8, 2016 by Thulium typo 1 Link to comment Share on other sites More sharing options...
Thulium Posted November 9, 2016 Author Report Share Posted November 9, 2016 Hi guys, I've included packages for the 'master' branch in the repository for you to play with! :-) but, do note that these are NOT done yet! Configuration is NOT complete (currently I've packaged the config files for the 3.3.5 branch) bnetserver config is NOT included worldserver config is 3.3.5 (I'm not sure if it's compatible) Database script might or might NOT work I will build a 'master' branch server when I have the time, but in the mean time, feel free to use these packages, but please leave a reply in this topic if there is something I missed (or to save me some time setting this up ;-) ) 1 Link to comment Share on other sites More sharing options...
Nay Posted November 12, 2016 Report Share Posted November 12, 2016 On 11/8/2016 at 11:52 AM, Thulium said: P.S. is there any check I can do (before compiling) to see which version of the TDB is required? Then I might be able to make this more seamless! Perhaps using revision_data.h https://github.com/TrinityCore/TrinityCore/blob/master/revision_data.h.in.cmake#L10 Link to comment Share on other sites More sharing options...
Thulium Posted November 14, 2016 Author Report Share Posted November 14, 2016 That looks like it could work, I'll give it a shot :-) 1 Link to comment Share on other sites More sharing options...
Symax Posted November 28, 2016 Report Share Posted November 28, 2016 Is there any chance you'll also include the source debian mixings into the repository? Also, I am having some problems with apt-get update: Reading package lists... Done E: Failed to fetch http://repo.element-networks.nl/dists/custom/Release No Hash entry in Release file /var/lib/apt/lists/partial/repo.element-networks.nl_dists_custom_Release which is considered strong enough for security purposes E: Some index files failed to download. They have been ignored, or old ones used instead. root@taz:~/# I'm using Ubuntu 16.04 LTS 64-bit. Link to comment Share on other sites More sharing options...
Thulium Posted November 28, 2016 Author Report Share Posted November 28, 2016 Hi Symax, This is caused by sharpened security requirements of newer versions of APT, I've seen similar messages in Debian Unstable (which runs a version of APT close to Ubuntu's current). I've created a stronger key, but I need to do some more to make it work. I will continue with this tomorrow or Wednesday. In the mean time you could try running with Just as a side-note, I'm not sure whether these packages will work on Ubuntu, unless the names and versions of all dependencies are similar of those in Debian Jessie. But if you can let me know, I will amend the post with that information! Edit: oh, btw, I missed that question, what kind of sources would you like to know/have? I've only followed the original compilation instructions :-) Cheers! Link to comment Share on other sites More sharing options...
Symax Posted November 28, 2016 Report Share Posted November 28, 2016 (edited) 1 hour ago, Thulium said: Edit: oh, btw, I missed that question, what kind of sources would you like to know/have? I've only followed the original compilation instructions :-) Cheers! What I'd be happy with is the tarball of the debian/ subdirectory you used for making these packages. But if you are willing to go a step further and make source_version.orig.tar.gz and then do "dpkg-source -b trinitycore-version/" to create the source packages, that'd be great. I was able to manually fetch the .deb files from your repository. Another thing to consider: launchpad.net allows you to create recipes combining your work with the original git repository (I still haven't learned how to do this myself). You could go this route and make it so that the sources are compiled by a remote machine for different architectures with little effort. I think Debian has a similar repository you can do this with as well. Edited November 28, 2016 by Symax Link to comment Share on other sites More sharing options...
Thulium Posted November 30, 2016 Author Report Share Posted November 30, 2016 I took a look, but I take it you would like to have the original uncompiled git source in those packages? My current setup doesn't really allow for this. It does the following: - Maintain a local copy of the repo (the 'meta' script that builds trinitycore runs 'git pull' before compiling) - Build the software according to the build recipe I defined - Package the software according to the package recipe - Push the resulting package to the repo This allows me to save a lot of disk space (I only have 1 copy of the source per branch), and it *should* be possible to redo any older builds by checking out that version in git. I'm using a script a colleague made, I will link it in the post once he posted in on Github (it's on his todo-list). So that part of this setup I cannot share, as it is not my work. However, I'm cool with sharing the recipes I made for the build script (see attachment). But I do ask that if you make improvements/changes to let me know. So I can incorporate them in the scripts I use. I also just updated the build script to look for the correct version of the TDB when the source files mention it ;-) trinitycore-recipes.tgz Link to comment Share on other sites More sharing options...
Symax Posted November 30, 2016 Report Share Posted November 30, 2016 13 minutes ago, Thulium said: I took a look, but I take it you would like to have the original uncompiled git source in those packages? My current setup doesn't really allow for this. It does the following: - Maintain a local copy of the repo (the 'meta' script that builds trinitycore runs 'git pull' before compiling) - Build the software according to the build recipe I defined - Package the software according to the package recipe - Push the resulting package to the repo This allows me to save a lot of disk space (I only have 1 copy of the source per branch), and it *should* be possible to redo any older builds by checking out that version in git. I'm using a script a colleague made, I will link it in the post once he posted in on Github (it's on his todo-list). So that part of this setup I cannot share, as it is not my work. However, I'm cool with sharing the recipes I made for the build script (see attachment). But I do ask that if you make improvements/changes to let me know. So I can incorporate them in the scripts I use. I also just updated the build script to look for the correct version of the TDB when the source files mention it ;-) trinitycore-recipes.tgz Thanks. I think this file is what I'm looking for. Too bad I can't seem to reach it. Maybe I'm trying to fetch it too soon? Link to comment Share on other sites More sharing options...
Thulium Posted November 30, 2016 Author Report Share Posted November 30, 2016 Hmm... Weird, check http://repo.element-networks.nl/trinitycore-recipes.tgz Link to comment Share on other sites More sharing options...
Symax Posted November 30, 2016 Report Share Posted November 30, 2016 Hmm. I get that I can't find an IP to that name. I'm based in the US in case that matters. Link to comment Share on other sites More sharing options...
Thulium Posted November 30, 2016 Author Report Share Posted November 30, 2016 That was my bad, I changed the text to reflect the correct name, but the actual link was pointing at the internal hostname. I fixed the link, try again :-) Link to comment Share on other sites More sharing options...
Symax Posted November 30, 2016 Report Share Posted November 30, 2016 1 minute ago, Thulium said: That was my bad, I changed the text to reflect the correct name, but the actual link was pointing at the internal hostname. I fixed the link, try again :-) That worked. Thanks. I look forward to your friend releasing that script, or someone possibly making a "proper" debian/ subfolder in the git project for easier debian packaging. Link to comment Share on other sites More sharing options...
Thulium Posted December 8, 2016 Author Report Share Posted December 8, 2016 Hi all! I've created a script that will generate a data package for your server and added the instructions on how to use it in the post. I've just added it to my build environment, so it will be ready for use tomorrow! Cheers! 2 Link to comment Share on other sites More sharing options...
moonwhaler Posted January 12, 2017 Report Share Posted January 12, 2017 This is REALLY great. I installed the whole server in minutes - not hours (had to compile everything by hand). Only thing maybe worth looking into: bots. I would would love to populate my rather empty game world with some / more bots. Would that be doable somehow? Link to comment Share on other sites More sharing options...
Thulium Posted January 18, 2017 Author Report Share Posted January 18, 2017 On 12/01/2017 at 1:50 PM, moonwhaler said: This is REALLY great. I installed the whole server in minutes - not hours (had to compile everything by hand). Only thing maybe worth looking into: bots. I would would love to populate my rather empty game world with some / more bots. Would that be doable somehow? Hi moonwhaler, Thanks for the feedback! :-) As for bots, I fear that there isn't a viable project at the moment that implements player bots. I have tried merging a few codebases a few years ago, if I got it working, it was very laggy and heavily taxing my server. And sadly, most of the projects that implement a form of bots in TrinityCore are dead, or almost dead. As the code is no longer compatible with the server. What -could- be an option, but I don't know how well they are developed, take a spare PC, run some copies of WoW on it in low graphics mode and use an actual bot to co ntrol them. But I don't know if they are any bots that can do anything more then 'just farming'. You might also need to disable Warden if you use modified WoW clients. Cheers! Link to comment Share on other sites More sharing options...
blackcat2 Posted June 25, 2017 Report Share Posted June 25, 2017 Hi, Sorry if this has been asked somewhere in the forum. I did a quick search and it returned 0 hit so I thought I asked. Can this be run/supported on Ubuntu 14? Is there a pre-packaged one for client 7.2.5? Thanks. Link to comment Share on other sites More sharing options...
Thulium Posted June 28, 2017 Author Report Share Posted June 28, 2017 Hi blackcat, The software itself will run on Ubuntu just fine, as long as you are providing it with enough resources. However, the packages are made for Debian 8 (will upgrade to 9 soon). You are free to try and install the packages on your Ubuntu server, however, some package names for the dependencies might not match. And then the package manager (dpkg) will be unable to install the software. You could do one of 2 things: - Run a debian based server - Manually unpack the deb files and move the files to the correct folder (and script that) Regarding the 7.2.5 server, I do make packages for the 'master' branch for trinitycore, but I don't run a master branch server and those packages might contain incomplete configuration. However, feel free to try them and let me know what to include :-) Cheers Link to comment Share on other sites More sharing options...
Thulium Posted August 27, 2017 Author Report Share Posted August 27, 2017 Hello folks! Today I finished upgrading my buildserver to Debian 9 'Stretch', and the packages will now be compiled to that version of Debian. Please note that older versions of Debian -will- break- as they no longer satisfy the requirements. You should be able to upgrade your system from Debian 8 to 9 and the new version of the packages will automatically work :-) Cheers! 1 Link to comment Share on other sites More sharing options...
Thulium Posted March 7, 2018 Author Report Share Posted March 7, 2018 Sorry for the late reaction, I've updated the database package to include the new TDB version. The name and the structure of the TDB archive on the Github page changed, so my script got confused, but I didn't use/check my server lately :-) Cheers! Link to comment Share on other sites More sharing options...
Wronglebowski Posted July 10, 2018 Report Share Posted July 10, 2018 On 3/7/2018 at 2:38 PM, Thulium said: Sorry for the late reaction, I've updated the database package to include the new TDB version. The name and the structure of the TDB archive on the Github page changed, so my script got confused, but I didn't use/check my server lately :-) Cheers! Trying to use your pre-compiled package I can't find the setup_database.sh file. Is it missing? Link to comment Share on other sites More sharing options...
Thulium Posted July 11, 2018 Author Report Share Posted July 11, 2018 Hi @Wronglebowski, Yes, it was. For some reason my build script didn't include it any longer. I have updated it to include it again. I'm currently running a build and will upload new packages when that's done. Try to update your server in a few hours, as a new update is available and a full build takes about 2hrs. Cheers! Link to comment Share on other sites More sharing options...
Thulium Posted February 4, 2019 Author Report Share Posted February 4, 2019 Hi all, For those that are still using my packages, please note that the package name has changed! It's now suffixed with '-en', and I have put in place some scripting that will clean up old builds (as it was frequently clogging up my repo server). The name has changed due to me using the build script for other stuff as well and I want to avoid naming collisions with other software that resides in the repo. I have updated the TS :-) TL;DR: use trinitycore-server3.3.5-en, trinitycore-database3.3.5-en and trinitycore-tools3.3.5-en now. Link to comment Share on other sites More sharing options...
Recommended Posts