Jump to content
TrinityCore

Leaderboard

Popular Content

Showing content with the highest reputation since 11/19/17 in all areas

  1. Feel free to participate on TC Github and share your and your team of developers knowledge.
    4 points
  2. Will NOT be updated anymore. Source code https://github.com/Shauren/WSTC
    4 points
  3. Two new full world database has been upload to Github Releases. TDB 735.00 (2018/02/19) was released for the master branch (previous release TDB 720.00 from 2017/04/18). TDB 335.19031 (2019/03/19) was released for the 3.3.5 branch (previous release TDB 335.64 from 2018/02/19). Notes: If you are installing a new DB you only need the 2 full SQLs plus any file at /sql/updates/world/ and sql/updates/hotfixes/ on Trinitycore repository. On 3.3.5: single full SQL file plus any file at /sql/updates/world/
    3 points
  4. Enabling the Misc items in the cfg will post many undesired items onto the auctionhouse. The best way (so far) to get glyphs to show up seems to be the following - all credit goes to Mightylink @ cmangos. (Haven't verified all id's one by one, but assuming they are correct for wotlk) All you need to do is add all the glyphs to the force include line, this will ignore any settings and make them start appearing at random times. Here are all the glyphs sorted by class: Code: |Death Knight: 43533,43534,43535,43536,43537,43538,43539,43541,43542,43543,43544,43545,43546,43547,43548,43549,43550,43551,43552,43553,43554,43671,43672,43673,43825,43826,43827,45799,45800,45803,45804,45805,45806 Warrior: 43395,43396,43397,43398,43399,43400,43412,43413,43414,43415,43416,43417,43418,43419,43420,43421,43422,43423,43424,43425,43426,43427,43428,43429,43430,43431,43432,45790,45792,45793,45794,45795,45797,49084 Paladin: 41092,41094,41095,41096,41097,41098,41099,41100,41101,41102,41103,41104,41105,41106,41107,41108,41109,41110,43340,43365,43366,43367,43368,43369,43867,43868,43869,45741,45742,45743,45744,45745,45746,45747 Shaman: 41517,41518,41524,41526,41527,41529,41530,41531,41532,41533,41534,41535,41536,41537,41538,41539,41540,41541,41542,41547,41552,43344,43381,43385,43386,43388,43725,44923,45770,45771,45772,45775,45776,45777,45778 Hunter: 42897,42898,42899,42900,42901,42902,42903,42904,42905,42906,42907,42908,42909,42910,42911,42912,42913,42914,42915,42916,42917,43338,43350,43351,43354,43355,43356,45625,45731,45732,45733,45734,45735 Rogue: 42954,42955,42956,42957,42958,42959,42960,42961,42962,42963,42964,42965,42966,42967,42968,42969,42970,42971,42972,42973,42974,43343,43376,43377,43378,43379,43380,45761,45762,45764,45766,45767,45768,45769 Druid: 40896,40897,40899,40900,40901,40902,40903,40906,40908,40909,40912,40913,40914,40915,40916,40919,40920,40921,40922,40923,40924,43316,43331,43332,43334,43335,43674,44928,44922,45601,45602,45603,45604,45622,45623,46372,48720,50125 Mage: 42734,42735,42736,42737,42738,42739,42740,42741,42742,42743,42744,42745,42746,42747,42748,42749,42750,42751,42752,42753,42754,43339,43357,43359,43360,43361,43364,44684,44955,44920,45736,45737,45738,45740,50045 Warlock: 42453,42454,42455,42456,42457,42458,42459,42460,42461,42462,42463,42464,42465,42466,42467,42468,42469,42470,42471,42472,42473,43389,43390,43391,43392,43393,43394,45779,45780,45781,45782,45783,45785,45789,50077 Priest: 42396,42397,42398,42399,42400,42401,42402,42403,42404,42405,42406,42407,42408,42409,42410,42411,42412,42414,42415,42416,42417,43341,43370,43371,43372,43373,43374,45753,45755,45756,45757,45758,45760 | And here are all the glyphs together you can just copy and paste into the config: Code: |43533,43534,43535,43536,43537,43538,43539,43541,43542,43543,43544,43545,43546,43547,43548,43549,43550,43551,43552,43553,43554,43671,43672,43673,43825,43826,43827,45799,45800,45803,45804,45805,45806,43395,43396,43397,43398,43399,43400,43412,43413,43414,43415,43416,43417,43418,43419,43420,43421,43422,43423,43424,43425,43426,43427,43428,43429,43430,43431,43432,45790,45792,45793,45794,45795,45797,49084,41092,41094,41095,41096,41097,41098,41099,41100,41101,41102,41103,41104,41105,41106,41107,41108,41109,41110,43340,43365,43366,43367,43368,43369,43867,43868,43869,45741,45742,45743,45744,45745,45746,45747,41517,41518,41524,41526,41527,41529,41530,41531,41532,41533,41534,41535,41536,41537,41538,41539,41540,41541,41542,41547,41552,43344,43381,43385,43386,43388,43725,44923,45770,45771,45772,45775,45776,45777,45778,42897,42898,42899,42900,42901,42902,42903,42904,42905,42906,42907,42908,42909,42910,42911,42912,42913,42914,42915,42916,42917,43338,43350,43351,43354,43355,43356,45625,45731,45732,45733,45734,45735,42954,42955,42956,42957,42958,42959,42960,42961,42962,42963,42964,42965,42966,42967,42968,42969,42970,42971,42972,42973,42974,43343,43376,43377,43378,43379,43380,45761,45762,45764,45766,45767,45768,45769,40896,40897,40899,40900,40901,40902,40903,40906,40908,40909,40912,40913,40914,40915,40916,40919,40920,40921,40922,40923,40924,43316,43331,43332,43334,43335,43674,44928,44922,45601,45602,45603,45604,45622,45623,46372,48720,50125,42734,42735,42736,42737,42738,42739,42740,42741,42742,42743,42744,42745,42746,42747,42748,42749,42750,42751,42752,42753,42754,43339,43357,43359,43360,43361,43364,44684,44955,44920,45736,45737,45738,45740,50045,42453,42454,42455,42456,42457,42458,42459,42460,42461,42462,42463,42464,42465,42466,42467,42468,42469,42470,42471,42472,42473,43389,43390,43391,43392,43393,43394,45779,45780,45781,45782,45783,45785,45789,50077,42396,42397,42398,42399,42400,42401,42402,42403,42404,42405,42406,42407,42408,42409,42410,42411,42412,42414,42415,42416,42417,43341,43370,43371,43372,43373,43374,45753,45755,45756,45757,45758,45760
    3 points
  5. TDB 735.00 & TDB 335.64 released.
    3 points
  6. How to add Waypoints to a creature: Note: I'm just adding a copy paste tutorial without further information on the DB-Structure behind it, because i know, you will understand this soon enough.Example: We want to add this Guy some waypoints 1.) Get the latest sniffer from http://community.trinitycore.org/topic/9849-trinity-cores-sniffer-for-wow-62020338/ 2.) Log in on retail and start the attach_sniffer and follow the Creature until it has completed it's whole path. It's important, that you DO NOT RUN OUT of sight of this mob, else the path will look really creapy. 3.) Close the sniffer if the Path is completed one time 4.) You will see a .pkt - file in your wow directory now 5.) Download and compile https://github.com/TrinityCore/WowPacketParser 6.) Go to the Releasefolder after you finished compiling 7.) Copy the .pkt-file and move the file with drag-and-drop over the WowPacketParser.exe Note: It's recommended to keep these settings <add key="DBEnabled" value="false" /> in WowPacketParser.exe.config 8.) Now you will see a .txt file in your releasefolder 9.) Download and compile https://github.com/Kittnz/WaypointCreator (Branch 6.x) 10.) Go to the release folder and open up the Waypoint Creator.exe 11.) Import the .txt-file 12.) Search for the entry in the searchfield (in this case entry: 74228) 13.) Result: - Rightclick on the table and hit: Create SQL 14.) In the SQL-Output you will now find: Use the command: .go 1923.215 -4636.423 33.2019 to see if you are on the right position 15.) Go ingame (Tc-Server) and choose a fitting creature which is near the path. In this case it's creature with GUID: 286504 - You always find the right guid if you select the creature and type: .npc info 16.) Replace the XXXXXX in SET @NPC := XXXXXX; with the GUID -> SET @NPC := 286504; 17.) Repeat this for all other Paths
    3 points
  7. if you don't have any custom thing i sugest you to drop world database, if you have custom things i recomend you to pull to tdb 335.19031, then 335.19041.... there are to much commits betweeen your db and head.
    2 points
  8. Since we are targeting C++17 compilers, GCC 6.3, clang 4 and Visual Studio 2017 under version 15.7 will become unsupported after summer We give this warning to allow people to ready their systems with enough time to update (it's very likely Debian 10 will be shipped on 2nd quarter 2019). (Visual Studio 2019 release date is on 2nd quarter 2019) https://clang.llvm.org/cxx_status.html https://gcc.gnu.org/projects/cxx-status.html#cxx17
    2 points
  9. I wrote an article explaining why I hate most of the World of Warcraft private servers. This is my personal opinion and if you are a developer I ask you to read the disclaimer first. I'd appreciate your feedback about it, enjoy! https://github.com/FrancescoBorzi/why-I-hate-wow-private-servers/blob/master/ENGLISH.md
    2 points
  10. 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 server 3.3.5a: apt-get install trinitycore-server3.3.5-en master: 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 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-en Go to your WoW client folder and run the script cd /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 --force mysql_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
    2 points
  11. This table exists only to send sniffed hotfixes for db2 files that are not loaded by TC. You should never try to manually insert data into it. If you really must know - blob is simply the entire db2 row written as binary
    2 points
  12. Here, have mine https://paste2.org/PMN1IWYK
    2 points
  13. Let me first be clear on one thing: I do really appreciate this project, its history and developers and all the efforts that have been made with time to make it so great during all those years. But currently WoW development is slowly dying, and I feel a big change is needed in order to bring back that entusiasm that is no longer here. The current state of the project has some major pain points: - CONTENT. All the content after WOTLK is not stable or complete, so it doesn't add much value to keep what we currently have on master branch; - CONTRIBUTORS. We have less and less contributors, there is no much hope to see the master branch fully playable in future - CODE. The code is full of anti patterns (huge class files, spaghetti code, etc...). This is mostly due to the fact that the codebase has been modified for years and years by many different people. Because of that, it is really complicated for newcomers or less experienced programmers to be able to contribute; - TESTS. There are no tests. At all. No unit test, no integration tests, etc... It is nearly impossible to be sure that you don't break something whenever you make a change in the code; - API/TOOLING. There were some attempts on providing tools for TC (which I really appreciate), however most of them rely on accessing the DB directly OR using external PHP APIs that are not standardized by the project and tend to break easily with time (e.g. when the DB structure changes). Ideally the application server itself should expose the API, or the API project should be part of the official project and be maintained with it; All those reasons, together with the fact that C++ is an old language and there are better modern alternatives make me wonder: why don't we start a new project from scratch, using a modern language? (for example Rust - see this post). So we can use the experience gained during all those years of WoW development to create something that works better, is more developer-friendly and can attract more contributors. I write this post to see if this can be of interest for any of you, please let me know what you think.
    2 points
  14. I'm guessing no one knows apart from those who have managed to fix the issue themselves. However @Aokromes i did find this. struct EuropaTicketConfig { bool TicketsEnabled = false; bool BugsEnabled = false; bool ComplaintsEnabled = false; bool SuggestionsEnabled = false; Would changing the value from false to true yield any results? bool TicketsEnabled =true; Regards, Xedara
    2 points
  15. You could have just asked for it. The reason I didn't throw it up on a gist or dropbox public site was due to people pinging me outside of TC and bugging me for updates and filling up my email/discord channel for the armory. The web app layer is not 100% working. So no... my 1400+ posts have never been about an "every man for himself" attitude. Next time, *your* approach could be, "Hey CDawg, why not share it publicly?"
    2 points
  16. Got it. It caused a 6 month roll back on the characters database but it's fixed. I had to manually run the updates.Before anyone asks of course I was backing up the databases, but the most recent ones were corrupted by this issue and I just happened to have an older local copy I could work with.
    2 points
  17. Hi, I want to use Warden, to detect weather a player is using PQR. First I decompiled PQR and found out that the programm injects some LUA code into the client. If I use /run print(SOME_PQR_VARIABLE) before starting PQR the output will is nil as expected. If I use /run print(SOME_PQR_VARIABLE) after starting PQR the output will is a value/adress/none depends on what I print. In the Warden.h there is this Check LUA_STR_CHECK = 0x8B, // 139: byte luaNameIndex (check to ensure LUA string isn't used I created a warden_ckeck in the DB with: INSERT INTO `warden_checks` (`id`, `type`, `data`, `str`, `address`, `length`, `result`, `comment`) VALUES (1, 139, '', 'SOME_PQR_VARIABLE', 0, 0, '', ''); Unfortunately the client always returns 1. No matter if PQR is injected or not. And this is my Problem. Either way this type of Warden check is not properly implemented yet or I do something wrong with the SQL statement. injected_pqr_code.lua
    2 points
  18. I just have to say that this project is amazing. I am having SO much fun. Thank you, everyone who contributed to it. It took me a couple of days to get everything put together, on my spare debian machine, but it works like a champ (even with older hardware).
    2 points
  19. c++14. (we warned MONTHS before release and make definitively unsupported MONTHS after release)
    2 points
  20. It did, i have been able to work on the core all day without the issue reappearing
    2 points
  21. I have heard of this issue on 7.2.5 but not 3.3.5a are you sure you are not using anything custom and everything is from a fresh start including your core files just checking because everything seems to be working like it should for me including 4.3.4
    2 points
  22. Meh.. Not really explosive. Just defending the fact that people consistently "demand" things from the community and devs. Sometimes they offer money and when they don't get an answer they are the ones that explode. If you knew me, I'm a very very laid back guy
    2 points
  23. Here's a few more. PS: Either you contribute, or you're not helping. Pushing "Like" on the post isn't gonna do anything. azjolnerub.sql theeye.sql magtheridon.sql gruul.sql ragefire.sql utgardekeep.sql
    2 points
  24. Our dependency versions are set to whatever ships in current stable debian release, not centos
    1 point
  25. in case someone wonders what means "over cataclysm" only wow 4.3.4 spawns are completed. there are few spawns on mop and higher expansions but not completed at all.
    1 point
  26. EDIT: There i fixed it for the Developer, somehow i was advertising.. I notice why though, because it included my servers name. My bad... Hey guys i recently migrated a new dedicated server from a VPS so i can continue working on something and i have ran into a snag... The server is running fine, it loads up super fast, but whenever someone tries to login it gets stuck at "Connected" after you select the realm, what could possibly cause this issue? Configs: Authconfig http://pastebin.com/aiBE2jvC <- World Config, too big to put on AC-Web An image to represent the issue :/ Hope some of you can help. Thanks! Will reward +rep to anyone who posts some useful information.
    1 point
  27. It is definitely still there in git history, you just need to find the correct commit or tag - however there is no guarantee that you will be able to compile it with latest compiler/dependency versions
    1 point
  28. UPDATE `creature` SET `spawndist` = 7, `MovementType` = 1 WHERE `id` = XXX;
    1 point
  29. https://github.com/TrinityCore/WoWSimpleRegistration
    1 point
  30. bnetserver, just like authserver in the past, doesn't accept console input.
    1 point
  31. Hey folks, I'm currently building a BfA repack, following Windows Server Setup, and at the bottom of this page it says "4. Move the vmaps, maps, dbc, cameras and gt (master only) folders to the same directory as the TrinityCore binaries." Which TrinityCore binaries is it referring to? Sorry for sounding like a div, Isk.
    1 point
  32. This isnt a supported scenario, bnetserver has three separate build ranges that are incompatible with each other due to changes in client 6.0 to 6.2.3 6.2.4 to 7.2.5 7.3 to now
    1 point
  33. @Verytas Seems you are trying to use latest master branch with 7.x client. However master = 8.0.1.28153. For 7.3.5 you probably want to go back to the commit that supported that version. For example: git checkout -b 7.3.5 7.3.5/26972 See https://github.com/TrinityCore/TrinityCore/tags and https://git-scm.com/book/en/v2/Git-Basics-Tagging
    1 point
  34. 1 point
  35. No, the auctionhouse branch has some ah backend changes, not related to any functionality, both of them have the bot
    1 point
  36. You don't go to see all issues fixed, Battle For Azeroth is less than 2 months away.
    1 point
  37. This is intended, mmaps_generator by default uses as many threads as number of cpu cores, you can control it with --threads option
    1 point
  38. 1st law update your core before trying to report a bug.
    1 point
  39. you can compile only tools, witch includes connection patcher.
    1 point
  40. Either im doing something wrong or there is something wrong with the lastest commits to Master branch. Fully updated, and everything is as it shall be, but I get the error seen in the .txt doc. This is newest commits as of today 19. february. >> Applying update "2018_02_08_00_world.sql" 'BACDF70'... Warning: Using a password on the command line interface can be insecure. ERROR 1264 (22003) at line 1: Out of range value for column 'RaceMask' at row 1 Server.txt
    1 point
  41. you need to run commands on WORLDSERVER binary as wiki states.
    1 point
  42. The host file you need only to change if you use a dynamic dns server like https://www.noip.com/ (I don't know if this service works for Trinity core.) First change on your server PC network setting so that you have a static IP and forward your ports to this IP afterwards. With a dynamic public IP you have to inform your friends about this IP every time it changes and they have to change the IP in the realmlist. (Or you use a ddns service). Additional you have to change the IP every time in the auth database realmlist and restart the server. In both config files (auth + world) there must be this (should be the default value): BindIP = "0.0.0.0"
    1 point
  43. Don't worry because I noticed most people are forgetting about the REST fields and they change everything else other then the REST fields, it is easy to do lol
    1 point
  44. 1 point
  45. Hey all, I wanted to write down a guide about preparing your linux server to be able to work as a gdb log tracer + restarter I have been using it for around 2 years with no problem what-so-ever (other than the performance if having a compiled server with full debug flags on) What is GDB? GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or what another program was doing at the moment it crashed. What is Restater? Restarter allows your core to crash, fall, get stuck and come back every time without anyone touching or doing anything manualy. For this guide you acknowledge that you have basic knowledge in operating linux systems and using ssh as a cli 1. First, lets make sure your Freeze Detector is set up corretly by editing the worldserver.conf file in `etc` Find MaxCoreStuckTime and set it to 120 ( MaxCoreStuckTime = 120 ) This will tell the server that if this demon is stuck for 2 minutes the core will crash automaticly leaving the restarter at work.. 2. Make sure you have sendmail installed sendmail is a cli program that allows sending emails without any pre-setup etc Try: /usr/sbin/sendmail -f [email protected] [email protected] or sendmail -f [email protected] [email protected] If you get an email from [email protected] this means it works, if you dont -> Follow the sendmail installation guide which i found very helpful 3. Go to your `bin` folder (where the worldserver bins are installed at) create a new file - for the perpuse of the test call it `commands` (nano commands) put the following code in the file: run -c ../etc/worldserver.conf bt bt full info thread thread apply all backtrace full quit Make sure that if you are using another path or other server config name, you have to alter it in the file. The rest, leave as is, its for the backtrace report to work. 4. Create crashes folder under bin mkdir Crashes the C is capsulated 5. creatre a new file, this file will be used as our restarter, mine is called gdbres.sh (nano gdbres.sh) In the file, put the following code: while : do gdb -x=commands -batch ./worldserver > temp tail -c 60000 temp | sed 1i"Subject: Crash Log" | /usr/sbin/sendmail -f [email protected] [email protected] tail -c 60000 temp | sed 1i"Subject: Crash Log" | /usr/sbin/sendmail -f [email protected] [email protected] mv temp Crashes/log$(date +\%Y-\%m-\%d-\%H-\%M-\%S).log done tail takes the last part of your `temp` file and sends it via mail, the -c 60000 chooses to take 60kb worth of text (which is the aprox gdb crash log filesize) and just send it trough sed li = the subject of that email the last command mv temp /Crashes/blabla moves the temp file to your crash log folder, if you dont have a crash folder it wont move the file and you wont have any log keepting so make sure you created the folder.. 6. Alter the files to be able to execute: chmod +x commands chmod +x gdbres.sh 7. Starting the restarter is an easy job, personaly i use screen if you are using screen do the following: screen -A -dmS world ./gdbres.sh This will start it in a new demon screen and you can forget about starting the core on your own for a while if you are using simple cli commands you can use ./gdbres.sh && to make it start and forget about it Notes: Turning the restarter off gave me lots of problems when i wanted to close it, I started using webmin to be able to close it via their "Running programs" Positive: To update core to tip etc, you can make install then just crash it. you dont have to fully shutdown the core only ctrl+c in the screen folder or shut it down via ingame and it will come back online using the restarter Sometimes the gdb log comes back bigger than 60k, you can always go back to the Crashes folder and take the full crash.. Its usualy not bigger trough To be able to debug your core with full debug flags you will have to use -DCMAKE_BUILD_TYPE=Debug to include additional debug-code in core in the cmake proccess as stated in the linux compile guide
    1 point
×
×
  • Create New...