<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Forums - Serverside]]></title>
		<link>https://elijahketchersid.com/forums/</link>
		<description><![CDATA[Forums - https://elijahketchersid.com/forums]]></description>
		<pubDate>Wed, 13 May 2026 17:39:59 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[[Archive] Script to Announce Logins and Logouts for Eluna]]></title>
			<link>https://elijahketchersid.com/forums/thread-223.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:52 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-223.html</guid>
			<description><![CDATA[Because so many people have requested a script to announce logins and logouts over the years, and due to a lack of simple scripts that I could find, I’ve written up a very simple script that announces whenever a player logs on or off. I’ll assume that anyone looking at this already knows how to add a Lua script to their server, so here’s the script.<br />
<br />
local function OnEnterWorld(event, player)<br />
    local isHorde = player:IsHorde()<br />
    local playerName = player:GetName()<br />
<br />
    if(player:IsGM()) then<br />
        SendWorldMessage("|Hplayer:" .. playerName .. ":1:WHISPER:" .. string.upper(playerName) .. "|h[" .. playerName .. " - GM]|h has logged in.")<br />
    elseif(isHorde == true) then<br />
        SendWorldMessage("|Hplayer:" .. playerName .. ":1:WHISPER:" .. string.upper(playerName) .. "|h[" .. playerName .. " - Horde]|h has logged in.")<br />
    elseif(isHorde == false) then<br />
        SendWorldMessage("|Hplayer:" .. playerName .. ":1:WHISPER:" .. string.upper(playerName) .. "|h[" .. playerName .. " - Alliance]|h has logged in.")<br />
    end<br />
end<br />
<br />
local function OnExitWorld(event, player)<br />
    local isHorde = player:IsHorde()<br />
    local playerName = player:GetName()<br />
<br />
    if(player:IsGM()) then<br />
        SendWorldMessage("[" .. playerName .. " - GM] has logged out." )<br />
    elseif(isHorde == true) then<br />
        SendWorldMessage("[" .. playerName .. " - Horde] has logged out." )<br />
    elseif(isHorde == false) then<br />
        SendWorldMessage("[" .. playerName .. " - Alliance] has logged out." )<br />
    end<br />
end<br />
<br />
RegisterPlayerEvent(3, OnEnterWorld)<br />
RegisterPlayerEvent(4, OnExitWorld)There is definitely some room for improvement on the script, so if you have any suggestions, just leave a comment below.]]></description>
			<content:encoded><![CDATA[Because so many people have requested a script to announce logins and logouts over the years, and due to a lack of simple scripts that I could find, I’ve written up a very simple script that announces whenever a player logs on or off. I’ll assume that anyone looking at this already knows how to add a Lua script to their server, so here’s the script.<br />
<br />
local function OnEnterWorld(event, player)<br />
    local isHorde = player:IsHorde()<br />
    local playerName = player:GetName()<br />
<br />
    if(player:IsGM()) then<br />
        SendWorldMessage("|Hplayer:" .. playerName .. ":1:WHISPER:" .. string.upper(playerName) .. "|h[" .. playerName .. " - GM]|h has logged in.")<br />
    elseif(isHorde == true) then<br />
        SendWorldMessage("|Hplayer:" .. playerName .. ":1:WHISPER:" .. string.upper(playerName) .. "|h[" .. playerName .. " - Horde]|h has logged in.")<br />
    elseif(isHorde == false) then<br />
        SendWorldMessage("|Hplayer:" .. playerName .. ":1:WHISPER:" .. string.upper(playerName) .. "|h[" .. playerName .. " - Alliance]|h has logged in.")<br />
    end<br />
end<br />
<br />
local function OnExitWorld(event, player)<br />
    local isHorde = player:IsHorde()<br />
    local playerName = player:GetName()<br />
<br />
    if(player:IsGM()) then<br />
        SendWorldMessage("[" .. playerName .. " - GM] has logged out." )<br />
    elseif(isHorde == true) then<br />
        SendWorldMessage("[" .. playerName .. " - Horde] has logged out." )<br />
    elseif(isHorde == false) then<br />
        SendWorldMessage("[" .. playerName .. " - Alliance] has logged out." )<br />
    end<br />
end<br />
<br />
RegisterPlayerEvent(3, OnEnterWorld)<br />
RegisterPlayerEvent(4, OnExitWorld)There is definitely some room for improvement on the script, so if you have any suggestions, just leave a comment below.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] DressNPCs Handler]]></title>
			<link>https://elijahketchersid.com/forums/thread-222.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:52 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-222.html</guid>
			<description><![CDATA[Hey, After a few days spent working on this program for use by my server’s development team, I’ve got it to the point where I’m ready to release it. All of the features that I’ve planned to add to the program are currently working, as far as I’ve tested. If you have any problems during the setup, have suggestions for the program, find a bug, etc… then just comment below.<br />
<span style="font-weight: bold;" class="mycode_b">Rough Description</span><br />
 This tool allows for easy insertion and updating of both the <span style="font-style: italic;" class="mycode_i">creature_template_outfits</span> table used by <a href="https://rochet2.github.io/Dress%20NPCs.html" target="_blank" rel="noopener" class="mycode_url">Rochet2’s DressNPCs core modification</a> which enables the creation of custom NPCs and the <span style="font-style: italic;" class="mycode_i">creature_equip_template</span> table. The program allows for a quick workflow to insert, or update, as many NPCs as you desire. An <a href="http://valkryst.com/blog/?p=12" target="_blank" rel="noopener" class="mycode_url">earlier method</a> also works, but it’s much slower compared to using this program.<br />
<span style="font-weight: bold;" class="mycode_b">How to Setup</span><br />
Luckily there is very little, if any, setup required to get this program running. The three requirements are as follows.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Requirements</span><br />
You must have <a href="https://java.com/en/download/" target="_blank" rel="noopener" class="mycode_url">Java 8 installed</a> to launch the program.You must have access to an account with nearly full permissions to the <span style="font-style: italic;" class="mycode_i">creature_template_outfits</span> and <span style="font-style: italic;" class="mycode_i">creature_equip_template</span> tables of the <span style="font-style: italic;" class="mycode_i">world</span> database.You must have <a href="https://rochet2.github.io/Dress%20NPCs.html" target="_blank" rel="noopener" class="mycode_url">Rochet2’s DressNPCs core modification</a> compiled into your core and setup on your database.. You can download the tool <a href="http://valkryst.com/shared_files/Valkryst_s_DressNPCs_Handler_jar.7z" target="_blank" rel="noopener" class="mycode_url">from here</a> and I <span style="font-style: italic;" class="mycode_i">highly recommend</span> that you read my basic tutorial on <a href="http://valkryst.com/blog/?p=214" target="_blank" rel="noopener" class="mycode_url">how to create a DressNPC here</a>. The post currently only covers the old method of creating the DressNPCs using a stored procedure/query, but you can follow that tutorial and just enter the values into the program instead of the SQL query. Your server <span style="font-style: italic;" class="mycode_i">does not require</span> the stored procedure linked in that tutorial.<br />
<span style="font-weight: bold;" class="mycode_b"></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">The Interface</span><br />
 Because the program is still being worked on and fixed up here-and-there, the interface may undergo some changes as development progresses. At the moment it contains all initially conceived features. In the image below you can see the initial interface of the <span style="font-style: italic;" class="mycode_i">DressNPCs Screen</span>. <a href="https://i.imgur.com/VZ24bgm.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/VZ24bgm.jpg" loading="lazy"  alt="[Image: VZ24bgm.jpg]" class="mycode_img" /></a> The <span style="font-style: italic;" class="mycode_i">File</span> dropdown menu allows you to save, or load, the currently entered data. You also have the option of loading data from the database with the <span style="font-style: italic;" class="mycode_i">Import</span> option. Please be warned that you cannot save your data unless it contains no errors. This was an intentional feature and is not a bug. <a href="https://i.imgur.com/dcIrXMQ.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/dcIrXMQ.jpg" loading="lazy"  alt="[Image: dcIrXMQ.jpg]" class="mycode_img" /></a> The <span style="font-style: italic;" class="mycode_i">Function</span> dropdown menu allows you to switch to the second part of the DressNPCs Handler tool which allows you to create or update equipment sets for any NPCs that you create. I won’t go into detail on how equipment sets work, but you can learn more <a href="http://collab.kpsn.org/display/tc/creature_equip_template" target="_blank" rel="noopener" class="mycode_url">here</a>. <a href="http://i.imgur.com/0qcQtND.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="http://i.imgur.com/0qcQtND.jpg" loading="lazy"  alt="[Image: 0qcQtND.jpg]" class="mycode_img" /></a> In the <span style="font-style: italic;" class="mycode_i">Weapon Handler Screen</span> you can edit up to four equipment sets at once. For more information on how this and the rest of the program works, please read the <span style="font-style: italic;" class="mycode_i">readme</span> file included with the program. <a href="https://i.imgur.com/CIZ23Ej.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/CIZ23Ej.jpg" loading="lazy"  alt="[Image: CIZ23Ej.jpg]" class="mycode_img" /></a> The <span style="font-style: italic;" class="mycode_i">Function</span> dropdown menu allows you to switch back to the <span style="font-style: italic;" class="mycode_i">DressNPCs Screen</span>. <a href="https://i.imgur.com/90IZXRy.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/90IZXRy.jpg" loading="lazy"  alt="[Image: 90IZXRy.jpg]" class="mycode_img" /></a><br />
<span style="font-weight: bold;" class="mycode_b">The Settings File</span><br />
 Within the settings file you’ll find the saved server address, MySQL port, characters database name, MySQL username, and the interface language. All of these values can be manually edited and it’s perfectly fine to just delete the settings file and select everything again through the interface when you launch the program. The only value in the settings which cannot be changed through the GUI after selecting it is the language. If you wish to change the GUI language, then you’ll need to either delete the settings file and launch the program to select it again or change it in the settings file.<br />
<span style="font-weight: bold;" class="mycode_b">Supported Languages</span><br />
 If you wish to contribute a translation in your native language, then please contact me on Skype for the latest files to be translated. It will take at-least an hour of your time to translate everything required.<ul class="mycode_list"><li>English<br />
</li>
<li>German<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Examples of Three Settings Files</span><br />
<br />
serverAddress=example.com<br />
port=3306<br />
databaseName=characters<br />
username=root<br />
language=EnglishserverAddress=127.0.0.1<br />
port=3306<br />
databaseName=serverA_characters<br />
username=root<br />
language=EnglishserverAddress=123.456.78.9<br />
port=1704<br />
databaseName=characters<br />
username=trinity<br />
language=German<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Misc Information</span><br />
The program <span style="font-style: italic;" class="mycode_i">should</span> support any version that Rochet2’s DressNPCs core modification, but I have only ever tested it on 3.3.5a and I’m not even sure if he has added support for other core versions. The current program version is <span style="font-style: italic;" class="mycode_i">1.3</span>.<br />
<span style="font-weight: bold;" class="mycode_b">Credits</span><ul class="mycode_list"><li>Renan ~ Helped to test an earlier version of the program and made a few suggestions on how to better the interface design.<br />
</li>
<li>Kaev ~ Supplied the German translation for the program.<img src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" loading="lazy"  alt="[Image: pixel.gif]" class="mycode_img" /><br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[Hey, After a few days spent working on this program for use by my server’s development team, I’ve got it to the point where I’m ready to release it. All of the features that I’ve planned to add to the program are currently working, as far as I’ve tested. If you have any problems during the setup, have suggestions for the program, find a bug, etc… then just comment below.<br />
<span style="font-weight: bold;" class="mycode_b">Rough Description</span><br />
 This tool allows for easy insertion and updating of both the <span style="font-style: italic;" class="mycode_i">creature_template_outfits</span> table used by <a href="https://rochet2.github.io/Dress%20NPCs.html" target="_blank" rel="noopener" class="mycode_url">Rochet2’s DressNPCs core modification</a> which enables the creation of custom NPCs and the <span style="font-style: italic;" class="mycode_i">creature_equip_template</span> table. The program allows for a quick workflow to insert, or update, as many NPCs as you desire. An <a href="http://valkryst.com/blog/?p=12" target="_blank" rel="noopener" class="mycode_url">earlier method</a> also works, but it’s much slower compared to using this program.<br />
<span style="font-weight: bold;" class="mycode_b">How to Setup</span><br />
Luckily there is very little, if any, setup required to get this program running. The three requirements are as follows.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Requirements</span><br />
You must have <a href="https://java.com/en/download/" target="_blank" rel="noopener" class="mycode_url">Java 8 installed</a> to launch the program.You must have access to an account with nearly full permissions to the <span style="font-style: italic;" class="mycode_i">creature_template_outfits</span> and <span style="font-style: italic;" class="mycode_i">creature_equip_template</span> tables of the <span style="font-style: italic;" class="mycode_i">world</span> database.You must have <a href="https://rochet2.github.io/Dress%20NPCs.html" target="_blank" rel="noopener" class="mycode_url">Rochet2’s DressNPCs core modification</a> compiled into your core and setup on your database.. You can download the tool <a href="http://valkryst.com/shared_files/Valkryst_s_DressNPCs_Handler_jar.7z" target="_blank" rel="noopener" class="mycode_url">from here</a> and I <span style="font-style: italic;" class="mycode_i">highly recommend</span> that you read my basic tutorial on <a href="http://valkryst.com/blog/?p=214" target="_blank" rel="noopener" class="mycode_url">how to create a DressNPC here</a>. The post currently only covers the old method of creating the DressNPCs using a stored procedure/query, but you can follow that tutorial and just enter the values into the program instead of the SQL query. Your server <span style="font-style: italic;" class="mycode_i">does not require</span> the stored procedure linked in that tutorial.<br />
<span style="font-weight: bold;" class="mycode_b"></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">The Interface</span><br />
 Because the program is still being worked on and fixed up here-and-there, the interface may undergo some changes as development progresses. At the moment it contains all initially conceived features. In the image below you can see the initial interface of the <span style="font-style: italic;" class="mycode_i">DressNPCs Screen</span>. <a href="https://i.imgur.com/VZ24bgm.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/VZ24bgm.jpg" loading="lazy"  alt="[Image: VZ24bgm.jpg]" class="mycode_img" /></a> The <span style="font-style: italic;" class="mycode_i">File</span> dropdown menu allows you to save, or load, the currently entered data. You also have the option of loading data from the database with the <span style="font-style: italic;" class="mycode_i">Import</span> option. Please be warned that you cannot save your data unless it contains no errors. This was an intentional feature and is not a bug. <a href="https://i.imgur.com/dcIrXMQ.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/dcIrXMQ.jpg" loading="lazy"  alt="[Image: dcIrXMQ.jpg]" class="mycode_img" /></a> The <span style="font-style: italic;" class="mycode_i">Function</span> dropdown menu allows you to switch to the second part of the DressNPCs Handler tool which allows you to create or update equipment sets for any NPCs that you create. I won’t go into detail on how equipment sets work, but you can learn more <a href="http://collab.kpsn.org/display/tc/creature_equip_template" target="_blank" rel="noopener" class="mycode_url">here</a>. <a href="http://i.imgur.com/0qcQtND.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="http://i.imgur.com/0qcQtND.jpg" loading="lazy"  alt="[Image: 0qcQtND.jpg]" class="mycode_img" /></a> In the <span style="font-style: italic;" class="mycode_i">Weapon Handler Screen</span> you can edit up to four equipment sets at once. For more information on how this and the rest of the program works, please read the <span style="font-style: italic;" class="mycode_i">readme</span> file included with the program. <a href="https://i.imgur.com/CIZ23Ej.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/CIZ23Ej.jpg" loading="lazy"  alt="[Image: CIZ23Ej.jpg]" class="mycode_img" /></a> The <span style="font-style: italic;" class="mycode_i">Function</span> dropdown menu allows you to switch back to the <span style="font-style: italic;" class="mycode_i">DressNPCs Screen</span>. <a href="https://i.imgur.com/90IZXRy.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/90IZXRy.jpg" loading="lazy"  alt="[Image: 90IZXRy.jpg]" class="mycode_img" /></a><br />
<span style="font-weight: bold;" class="mycode_b">The Settings File</span><br />
 Within the settings file you’ll find the saved server address, MySQL port, characters database name, MySQL username, and the interface language. All of these values can be manually edited and it’s perfectly fine to just delete the settings file and select everything again through the interface when you launch the program. The only value in the settings which cannot be changed through the GUI after selecting it is the language. If you wish to change the GUI language, then you’ll need to either delete the settings file and launch the program to select it again or change it in the settings file.<br />
<span style="font-weight: bold;" class="mycode_b">Supported Languages</span><br />
 If you wish to contribute a translation in your native language, then please contact me on Skype for the latest files to be translated. It will take at-least an hour of your time to translate everything required.<ul class="mycode_list"><li>English<br />
</li>
<li>German<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Examples of Three Settings Files</span><br />
<br />
serverAddress=example.com<br />
port=3306<br />
databaseName=characters<br />
username=root<br />
language=EnglishserverAddress=127.0.0.1<br />
port=3306<br />
databaseName=serverA_characters<br />
username=root<br />
language=EnglishserverAddress=123.456.78.9<br />
port=1704<br />
databaseName=characters<br />
username=trinity<br />
language=German<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Misc Information</span><br />
The program <span style="font-style: italic;" class="mycode_i">should</span> support any version that Rochet2’s DressNPCs core modification, but I have only ever tested it on 3.3.5a and I’m not even sure if he has added support for other core versions. The current program version is <span style="font-style: italic;" class="mycode_i">1.3</span>.<br />
<span style="font-weight: bold;" class="mycode_b">Credits</span><ul class="mycode_list"><li>Renan ~ Helped to test an earlier version of the program and made a few suggestions on how to better the interface design.<br />
</li>
<li>Kaev ~ Supplied the German translation for the program.<img src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" loading="lazy"  alt="[Image: pixel.gif]" class="mycode_img" /><br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Bug Report Manager]]></title>
			<link>https://elijahketchersid.com/forums/thread-221.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:51 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-221.html</guid>
			<description><![CDATA[After a few days spent working on this <span style="font-style: italic;" class="mycode_i">hopefully</span> useful program, I’ve got it to the point where I’m ready to release it as a working <span style="font-style: italic;" class="mycode_i">beta</span>. All of the features that I’ve planned to add to the program are currently working, as far as I’ve tested, and anything else that’s left to be done is mostly behind the scenes other than getting translations for the program done-up. If you have any problems during the setup, have suggestions for the program, find a bug, etc… then just comment below.<br />
<span style="font-weight: bold;" class="mycode_b">Rough Description</span><br />
This tool allows for easy management and sorting of any and all bug reports for the server it’s used with. Not only does this program deal with bug reports, as the name states, but it deals with any and all feedback given by your players as they play through the content on your server and submit either bug reports or feedback on their play experience.The addon is quick to install, database easy to prepare, and program simple to use.The following video is from an early stage of development, but it demonstrates how the reports/feedback are sent in and pulled into the tool.<br />
<span style="font-weight: bold;" class="mycode_b">How to Setup</span><br />
To set up the bug reporting and tracking system, there are three requirements and three steps. These are all very simple and can be done for any server/account that meets the requirements.<br />
<span style="font-weight: bold;" class="mycode_b">Requirements</span><br />
Your server must be running on TrinityCore.You must have access to an account with permission to use stored procedures on the characters database.Your players must be given a small patch file containing the Blizzard Feedback addon. You can download it <a href="https://mega.co.nz/#!fY1T3QxB!-96vxQRsYpzL1_CRJZp-UQkqgune2j43LGKipxxQIOI" target="_blank" rel="noopener" class="mycode_url">here</a>.Step #1:<br />
<br />
Execute the following SQL on the characters database. This will create the stored procedures used by the program and add another field to the bugreports table that allows for the unread, read, etc… statuses to be tracked. USE `characters`;<br />
<br />
DELIMITER //<br />
<br />
DROP PROCEDURE IF EXISTS getAllRawBugReports;<br />
<br />
CREATE PROCEDURE getAllRawBugReports()<br />
BEGIN<br />
    SELECT * FROM `bugreport`;<br />
END//<br />
<br />
DROP PROCEDURE IF EXISTS setButReportStatus;<br />
<br />
CREATE PROCEDURE setButReportStatus(`varBugReportId` INT, `varBugReportStatus` INT)<br />
BEGIN<br />
    UPDATE `bugreport` SET `status` = `varBugReportStatus` WHERE `id` = `varBugReportId`;<br />
END//<br />
<br />
DROP PROCEDURE IF EXISTS deleteBugReport;<br />
<br />
CREATE PROCEDURE deleteBugReport(`varBugReportId` INT)<br />
BEGIN<br />
    DELETE FROM `bugreport` WHERE id = `varBugReportId`;<br />
END//<br />
<br />
DELIMITER ;USE `characters`;<br />
<br />
ALTER TABLE `bugreport` ADD COLUMN `status` TINYINT NOT NULL DEFAULT 0 AFTER `id`;<br />
<br />
 Step #2<img src="https://elijahketchersid.com/forums/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" />ownload the bug tracker from <a href="http://valkryst.com/shared_files/WoW_Bug_Tracker_jar.7z" target="_blank" rel="noopener" class="mycode_url">here</a>and ensure that you have the <a href="https://java.com/en/download/" target="_blank" rel="noopener" class="mycode_url">latest version of Java</a>. Step #3: Log into World of Warcraft, submit a random report using the addon, then launch the Bug Tracker and see if the report shows up. If the report does show up, then everything <span style="font-style: italic;" class="mycode_i">should</span> be working as intended. If you ever see a file named <span style="font-style: italic;" class="mycode_i">error_log.txt, I would appreciate it if you could describe what you did to bug our or crash the program and if you could paste the error log in the comments below for me to take a look at.</span><br />
<span style="font-weight: bold;" class="mycode_b">The Interface</span><br />
Because the program is still being worked on and fixed up here-and-there, the interface may undergo some changes as development progresses. At the moment it contains all initially conceived features. In the image below you can see the initial interface. <img src="https://i.imgur.com/cKlNcya.png" loading="lazy"  alt="[Image: cKlNcya.png]" class="mycode_img" /> The combobox in the top-left of the screen allows you to select a bug report by its ID number as retrieved from the database. <img src="https://i.imgur.com/vqn5uEy.png" loading="lazy"  alt="[Image: vqn5uEy.png]" class="mycode_img" /> The radio buttons along the center of the menu bar allow you to sort the reports in the previously mentioned combobox by a number of different categories. <img src="https://i.imgur.com/LQgA8uV.png" loading="lazy"  alt="[Image: LQgA8uV.png]" class="mycode_img" /> At the end of the menu bar you’ll find a second combo box with a selection for each of the different sorting categories. When you have a report open, select a sorting category, and then submit your change, both the database and the program will be updated to reflect the change. <img src="https://i.imgur.com/NSGClZf.png" loading="lazy"  alt="[Image: NSGClZf.png]" class="mycode_img" /> In the main section of the screen you’ll find the bug report. <img src="https://i.imgur.com/krdtmZ5.png" loading="lazy"  alt="[Image: krdtmZ5.png]" class="mycode_img" /><br />
<span style="font-weight: bold;" class="mycode_b">The Settings File</span><br />
Within the settings file you’ll find the saved server address, MySQL port, characters database name, MySQL username, and the interface language. All of these values can be manually edited and it’s perfectly fine to just delete the settings file and select everything again through the interface when you launch the program. The only value in the settings which cannot be changed through the GUI after selecting it is the language. If you wish to change the GUI language, then you’ll need to either delete the settings file and launch the program to select it again or change it in the settings file.<br />
<span style="font-weight: bold;" class="mycode_b">Supported Languages</span><br />
If you wish to contribute a translation in your native language, then please contact me on Skype for the latest files to be translated. It will take at-least an hour of your time to translate everything required.<ul class="mycode_list"><li>English<br />
</li>
<li>French<br />
</li>
<li>German<br />
</li>
<li>Spanish<br />
</li>
<li>Russian<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Examples of Three Settings Files</span><br />
serverAddress=example.com<br />
port=3306<br />
databaseName=characters<br />
username=root<br />
language=EnglishserverAddress=127.0.0.1<br />
port=3306<br />
databaseName=serverA_characters<br />
username=root<br />
language=FrenchserverAddress=123.456.78.9<br />
port=1704<br />
databaseName=characters<br />
username=trinity<br />
language=Spanish<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Misc Information</span><br />
The program currently only supports 3.3.5a TrinityCore, but it can easily be made to support other versions and cores. If anyone possesses the Blizzard Feedback addon from the PTR for whichever version they’re playing on, then please contact me and we can <span style="font-style: italic;" class="mycode_i">hopefully</span> get other versions supported. The current program version is <span style="font-style: italic;" class="mycode_i">1.2</span>.<br />
<span style="font-weight: bold;" class="mycode_b">Credits</span><ul class="mycode_list"><li>StoneHarry ~ Supplied the feedback addon.<br />
</li>
<li><a href="http://www.yhool.gg" target="_blank" rel="noopener" class="mycode_url">Barbz</a>~ Supplied the French translation for the program.<br />
</li>
<li>V. Castonguay ~ Reviewed the French translation and helped make a handful of edits.<br />
</li>
<li>MountianLion ~ Supplied the Spanish translation for the program.<br />
</li>
<li>Skarn ~ Supplied the Russian translation for the program.<br />
</li>
<li>Kaev ~ Supplied the German translation for the program.<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[After a few days spent working on this <span style="font-style: italic;" class="mycode_i">hopefully</span> useful program, I’ve got it to the point where I’m ready to release it as a working <span style="font-style: italic;" class="mycode_i">beta</span>. All of the features that I’ve planned to add to the program are currently working, as far as I’ve tested, and anything else that’s left to be done is mostly behind the scenes other than getting translations for the program done-up. If you have any problems during the setup, have suggestions for the program, find a bug, etc… then just comment below.<br />
<span style="font-weight: bold;" class="mycode_b">Rough Description</span><br />
This tool allows for easy management and sorting of any and all bug reports for the server it’s used with. Not only does this program deal with bug reports, as the name states, but it deals with any and all feedback given by your players as they play through the content on your server and submit either bug reports or feedback on their play experience.The addon is quick to install, database easy to prepare, and program simple to use.The following video is from an early stage of development, but it demonstrates how the reports/feedback are sent in and pulled into the tool.<br />
<span style="font-weight: bold;" class="mycode_b">How to Setup</span><br />
To set up the bug reporting and tracking system, there are three requirements and three steps. These are all very simple and can be done for any server/account that meets the requirements.<br />
<span style="font-weight: bold;" class="mycode_b">Requirements</span><br />
Your server must be running on TrinityCore.You must have access to an account with permission to use stored procedures on the characters database.Your players must be given a small patch file containing the Blizzard Feedback addon. You can download it <a href="https://mega.co.nz/#!fY1T3QxB!-96vxQRsYpzL1_CRJZp-UQkqgune2j43LGKipxxQIOI" target="_blank" rel="noopener" class="mycode_url">here</a>.Step #1:<br />
<br />
Execute the following SQL on the characters database. This will create the stored procedures used by the program and add another field to the bugreports table that allows for the unread, read, etc… statuses to be tracked. USE `characters`;<br />
<br />
DELIMITER //<br />
<br />
DROP PROCEDURE IF EXISTS getAllRawBugReports;<br />
<br />
CREATE PROCEDURE getAllRawBugReports()<br />
BEGIN<br />
    SELECT * FROM `bugreport`;<br />
END//<br />
<br />
DROP PROCEDURE IF EXISTS setButReportStatus;<br />
<br />
CREATE PROCEDURE setButReportStatus(`varBugReportId` INT, `varBugReportStatus` INT)<br />
BEGIN<br />
    UPDATE `bugreport` SET `status` = `varBugReportStatus` WHERE `id` = `varBugReportId`;<br />
END//<br />
<br />
DROP PROCEDURE IF EXISTS deleteBugReport;<br />
<br />
CREATE PROCEDURE deleteBugReport(`varBugReportId` INT)<br />
BEGIN<br />
    DELETE FROM `bugreport` WHERE id = `varBugReportId`;<br />
END//<br />
<br />
DELIMITER ;USE `characters`;<br />
<br />
ALTER TABLE `bugreport` ADD COLUMN `status` TINYINT NOT NULL DEFAULT 0 AFTER `id`;<br />
<br />
 Step #2<img src="https://elijahketchersid.com/forums/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" />ownload the bug tracker from <a href="http://valkryst.com/shared_files/WoW_Bug_Tracker_jar.7z" target="_blank" rel="noopener" class="mycode_url">here</a>and ensure that you have the <a href="https://java.com/en/download/" target="_blank" rel="noopener" class="mycode_url">latest version of Java</a>. Step #3: Log into World of Warcraft, submit a random report using the addon, then launch the Bug Tracker and see if the report shows up. If the report does show up, then everything <span style="font-style: italic;" class="mycode_i">should</span> be working as intended. If you ever see a file named <span style="font-style: italic;" class="mycode_i">error_log.txt, I would appreciate it if you could describe what you did to bug our or crash the program and if you could paste the error log in the comments below for me to take a look at.</span><br />
<span style="font-weight: bold;" class="mycode_b">The Interface</span><br />
Because the program is still being worked on and fixed up here-and-there, the interface may undergo some changes as development progresses. At the moment it contains all initially conceived features. In the image below you can see the initial interface. <img src="https://i.imgur.com/cKlNcya.png" loading="lazy"  alt="[Image: cKlNcya.png]" class="mycode_img" /> The combobox in the top-left of the screen allows you to select a bug report by its ID number as retrieved from the database. <img src="https://i.imgur.com/vqn5uEy.png" loading="lazy"  alt="[Image: vqn5uEy.png]" class="mycode_img" /> The radio buttons along the center of the menu bar allow you to sort the reports in the previously mentioned combobox by a number of different categories. <img src="https://i.imgur.com/LQgA8uV.png" loading="lazy"  alt="[Image: LQgA8uV.png]" class="mycode_img" /> At the end of the menu bar you’ll find a second combo box with a selection for each of the different sorting categories. When you have a report open, select a sorting category, and then submit your change, both the database and the program will be updated to reflect the change. <img src="https://i.imgur.com/NSGClZf.png" loading="lazy"  alt="[Image: NSGClZf.png]" class="mycode_img" /> In the main section of the screen you’ll find the bug report. <img src="https://i.imgur.com/krdtmZ5.png" loading="lazy"  alt="[Image: krdtmZ5.png]" class="mycode_img" /><br />
<span style="font-weight: bold;" class="mycode_b">The Settings File</span><br />
Within the settings file you’ll find the saved server address, MySQL port, characters database name, MySQL username, and the interface language. All of these values can be manually edited and it’s perfectly fine to just delete the settings file and select everything again through the interface when you launch the program. The only value in the settings which cannot be changed through the GUI after selecting it is the language. If you wish to change the GUI language, then you’ll need to either delete the settings file and launch the program to select it again or change it in the settings file.<br />
<span style="font-weight: bold;" class="mycode_b">Supported Languages</span><br />
If you wish to contribute a translation in your native language, then please contact me on Skype for the latest files to be translated. It will take at-least an hour of your time to translate everything required.<ul class="mycode_list"><li>English<br />
</li>
<li>French<br />
</li>
<li>German<br />
</li>
<li>Spanish<br />
</li>
<li>Russian<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Examples of Three Settings Files</span><br />
serverAddress=example.com<br />
port=3306<br />
databaseName=characters<br />
username=root<br />
language=EnglishserverAddress=127.0.0.1<br />
port=3306<br />
databaseName=serverA_characters<br />
username=root<br />
language=FrenchserverAddress=123.456.78.9<br />
port=1704<br />
databaseName=characters<br />
username=trinity<br />
language=Spanish<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Misc Information</span><br />
The program currently only supports 3.3.5a TrinityCore, but it can easily be made to support other versions and cores. If anyone possesses the Blizzard Feedback addon from the PTR for whichever version they’re playing on, then please contact me and we can <span style="font-style: italic;" class="mycode_i">hopefully</span> get other versions supported. The current program version is <span style="font-style: italic;" class="mycode_i">1.2</span>.<br />
<span style="font-weight: bold;" class="mycode_b">Credits</span><ul class="mycode_list"><li>StoneHarry ~ Supplied the feedback addon.<br />
</li>
<li><a href="http://www.yhool.gg" target="_blank" rel="noopener" class="mycode_url">Barbz</a>~ Supplied the French translation for the program.<br />
</li>
<li>V. Castonguay ~ Reviewed the French translation and helped make a handful of edits.<br />
</li>
<li>MountianLion ~ Supplied the Spanish translation for the program.<br />
</li>
<li>Skarn ~ Supplied the Russian translation for the program.<br />
</li>
<li>Kaev ~ Supplied the German translation for the program.<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] [3.3.5a] Custom transports, taxis (fly/wind paths)]]></title>
			<link>https://elijahketchersid.com/forums/thread-220.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:51 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-220.html</guid>
			<description><![CDATA[Hello there little whelps, there have been quite a lot of requests for transports tutorial and guy who promised that he will write it didn't do so, so I decided I will write this tut for you on my own. What are transports?<br />
Transports in WoW are in fact gameobjects which are being moved along a path specified in DBCs, which are quite easy to understand and edit, so this should not be anything difficult even for beginners. Players who stand on gameobject working as transport move together with it, until they leave it. It seems there are 20 blizzlike transports in blizzlike TC2 world database and all are ships and zeppelins, it works quite nice for water and air traveling. Sadly, this system doesn't work very well for ground traveling, I will explain why later. Transport system shares DBCs with taxi (fly/wind path/master) system, and is very similiar to it, with just a few differences. What will you need?<br />
- MyDBCEditor (or other WORKING DBC editor, forget Taliis, please)<br />
- any editor for MySQL databases<br />
- <a href="http://pxr.dk/wowdev/wiki/index.php?title=TaxiNodes.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiNodes.dbc</a><br />
- <a href="http://pxr.dk/wowdev/wiki/index.php?title=TaxiPath.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiPath.dbc</a><br />
- <a href="http://arcemu.org/wiki/TaxiPathNode.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiPathNode.dbc</a> <a href="http://pxr.dk/wowdev/wiki/index.php?title=TaxiNodes.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiNodes.dbc</a><br />
<img src="http://s17.postimg.org/hfpnng2zj/tmp.jpg" loading="lazy"  alt="[Image: tmp.jpg]" class="mycode_img" /><br />
You can see example of my 2 custom TaxiNodes. These nodes are in fact just to specify where destination lays (docks for example), but they have nothing to do with actual paths which transports will follow. Make sure you enter correct map ID (its in hex here, 0x25 is 37 in dec, and thats ID of map I was using here), but X, Y and Z coords don't need to be really exact. Name is in fact just a note for you and last 2 columns specify entry of creature used as mount for taxi path, but have no effect for transports and thus I left them empty. <a href="http://pxr.dk/wowdev/wiki/index.php?title=TaxiPath.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiPath.dbc</a><br />
<img src="http://s4.postimg.org/3lpahutl9/tmp.jpg" loading="lazy"  alt="[Image: tmp.jpg]" class="mycode_img" /><br />
This is really fast and simple step, TaxiPath is a connection between two TaxiNodes. Just create a new row with entries of 2 nodes you want to have connected with transport, last column specifies prize for taxi (and we are doing transports, that prize would have no effect even if there was another value than 0). While you can connect only 2 TaxiNodes with one TaxiPath, you may make your transport stop on whatever point of path you wish, it can enter 50 docks and stop there if you want, so both TaxiNodes and TaxiPath aren't important at all - they are there in fact just to make server and client happy and you a little bit more busy. <a href="http://arcemu.org/wiki/TaxiPathNode.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiPathNode.dbc</a><br />
<img src="http://s4.postimg.org/4lfldk8r1/tmp.jpg" loading="lazy"  alt="[Image: tmp.jpg]" class="mycode_img" /><br />
This will take most of your time. You need to specify path which will be followed by transport. Enter (correct) ID of TaxiPath (which connects 2 of your TaxiNodes) and coordinates of each waypoint into #5, #6 and #7 column (you can get your character's coords by command .gps, path on screen belongs to ship, so Z coord was always 0 for me). Don't forget to assign unique point ID in column #3 for every waypoint of your path, otherwise either your client or server may crash (note that first waypoint has ID 0, not 1). You can also notice that I left all other columns 0, they are rarely used and I am not sure what they are for. There are only 2 exceptions, you can notice those 2 rows with values 2 and 10 in #8 and #9 column. In that case, transport stops at that waypoint and waits there for 10 seconds. You can have more than 2 of such points, as I have already mentioned earlier, so your ship/zeppelin can visit as many docks as you wish and wait there as long as you want for passangers.You can try to experiment more with last 5 columns in this DBC, hopefully you will find out how at least some of them work. A few tips and notes for creating a path<br />
- Every TaxiPath needs to be made of at least 3 waypoints, otherwise you get crash.<br />
- Path itself is made of curves which are being calculated from waypoint positions and distances between them. Its good to keep distances between waypoints even, otherwise you can get unpleasant buggy results. Also don't make too sudden and sharp turns, otherwise your transport can either go very far from waypoints while turning (and even pass through some objects around, and thats obviously quite unpleasant) or bug a little bit and jump/teleport suddenly.<br />
<img src="http://s12.postimg.org/5xbizt8nx/tmp.jpg" loading="lazy"  alt="[Image: tmp.jpg]" class="mycode_img" /><br />
- Mark waypoint you have already entered into DBC with some sort of gameobject or NPC while spawning a path. I use wisp NPC Waypoint (entry 1) for this, because it can fly and is invisible for players. You can delete your marks when you are finished.<br />
- Make damn sure you don't mistype anything while entering coord values into this DBC. One mistype can send your ship across world and you will be there standing like fool, waiting in docks for ship which is basically never coming, because it is following dozens of kilometres long path.<br />
- To make transport follow exact path is very, very difficult, because, like I said, exact path is calculated and calculations are just based on coords of your waypoints. While transport passes waypoints themselves directly, you can't modify its path very easily between waypoints at all. Avoid narrow passages if you can, or create such passages based on already created and finished transport path, not otherwise. For this reason, ground transports just don't work well, they tend to fly above or sink under terrain all the time between waypoints.<br />
- While being in transport, players ignore all collision with world around. You can surround for example your island with impassible flags or with some models which can't be passed by players, but they will always pass them in transports. So you can make players to just have to use transports quite easily.<br />
- If you wish to make transport teleport players from map A to map B (and thats what basically are mostly transports for in blizzlike setting), just make transport move to some waypoint at map A and then enter a new waypoint with mapID of map B into DBC. Thats whole magic around.<br />
- Transports tend to teleport between last and first waypoints of their path. Don't ask me why, I never found out. It seems that transports in fact don't move in circles, they are always respawned after finishing their path. Players are, luckily, not dropped into sea when this happens, but just appear on new transport. Its still a little bit unpleasant effect, especially if you want to have transport travelling around one map without any teleports, but I have never found real solution for this. Just make those last and first waypoints close to each other. Blizzlike transports don't seem to have such problems, I am not sure what is going wrong here. <a href="http://collab.kpsn.org/display/tc/gameobject_template" target="_blank" rel="noopener" class="mycode_url">world.gameobject_template</a><br />
You will need to create your gameobject which will be used by transport. Fields which are not noted here don't seem to be important/working and should be left with base values (0/NULL), but again, you are free to experiment.<br />
- Entry, do I have to explain anything?<br />
- Type needs to be 15 (11 is for elevators, which work with entirely different than transport system).<br />
- DisplayID is up to you, which means that transports don't have to be huge WMO ships, you can use even a small M2 boat doodad, if you want to. Just make sure your model has collisions.<br />
- Name, again, self-explanatory.<br />
- Flags, most transports have flags=40, some have 0, but I would not use 0.<br />
- Size can be used other than 1 for M2s.<br />
- data0 is ID of your TaxiPath<br />
- data1 should be speed but it appears to not work as one would expect. 30 is most common and fine-working value. You can ofc try both lower or higher and see how results will fit to you.<br />
- data2 should be some kind of acceleration modifier...? All blizzlike transports with speed 30 have 1 accelRate.<br />
- data5, I don't know what this field is for.<br />
- data6, specifies ID of group of NPCs spawned onboard and travelling with transport, however, I don't know to what table this field reffers to.<br />
- data7, a few transports have value 3481, again, I have no idea what this is for.<br />
- data8, a few transports have value 1 and again, I have no idea what this is for.<br />
- AIName, ScriptName, you can, obviously, assign any scripts you wish to this gameobject. I have never tryed to assign some, for instance, SmartAI script to transport, but I see no reason why it should not work. One blizzlike transport has SAI scripts.<br />
- VerifiedBuild, you should always everywhere use value 12340 (3.3.5a revision number) to avoid any possible problems. <a href="http://collab.kpsn.org/display/tc/transports" target="_blank" rel="noopener" class="mycode_url">world.transports</a><br />
And here we go, the last thing to do is to place our transport here. Make sure you have placed your edited DBCs both into server's data folder and into your client's custom MPQ patch, create a new row in this table with new, unique GUID, enter entry of your transport gameobject, name is just for description. Older TC2 revisions have also period field, which appears to specify how long should core wait to respawn transport (put it on start of path), but it was removed and system seems to obtain that value on its own, automatically.The most easy way to disable transport is just deleting it from this DB table, you don't need to delete its data from DBCs. Your transport should be there, waiting just for you, but it usually takes a few (sometimes dozens) of attempts to make your path smooth, not-running into any terrain or models and clean it of teleport bugs made by too sharp curves or by too big differences of distances between waypoints. Especially making transport really dock properly with proper rotation and position can be pretty terrible task to do. How to create taxi path?<br />
Someone asked me about taxi path systems... They are basically the same. You create TaxiNodes (btw again, if memory serves me well, nodes themselves aren't part of paths of taxis), connect them with TaxiPaths (in this case you might also want to specify prize for TaxiPath in copper), spawn TaxiPath which will, in this case, be not a circle, but straight path from point A to point B. And you are, basically, done. Taxi vs transportTaxi pros:<br />
+ you can make player pay for travelling<br />
+ you can link taxis to SmartAI scripts (there is action to send player somewhere by taxi)<br />
+ you don't have to worry so much about boat fitting and sailing around docks without colliding with them, you just need to land on floor and there you go Taxi cons:<br />
- player on taxi has no collisions, so hello, boat which has just passed across my face<br />
- unlike transport, taxi always connects only 2 points, creating 1 path with 3 docks means creating 2 or 3 TaxiPaths<br />
- players can't travel together in taxi<br />
- more players travelling together mean more taxis... imagine those 20 boats in one, overlapping group<br />
- a map where you select to which TaxiNode you want to be taken never worked for me on maps where no fly masters originaly are, I never found solution, possibly core/LUA issue, I found a way around, you can simply make gossip menu for every fly master where gossip menu options will send you via taxi to wished point, buuut... its not ideal sometimes Transport pros:+ players can play (roleplay?) with each other while travelling together+ can connect multiple places where it stops+ have collisions+ looks nice and realistic, much more than raid of 20 boats Transport cons:- you can't really (easily) make players pay for transportation- can't be (easily) called by SmartAI scripts- path needs to be more properly done around landings- is sometimes somehow inflexible if you want to make one landing temporarily impossible to travel to<br />
In general, I found myself still preferring taxi system over transport system, even while taxis have quite a lot of cons. However, taxi system just works better for me while I want to make players pay for travelling and while I want to be able to easily disable some paths from time to time. I also love possibility to assign taxi to SAI script. Being able to have conversation with NPC, during which you will be informed where will you be taken, how long it will take, what hazards are there and so on? Sign me in, especially for RP servers definitely great possibilities. Taxis are also great as part of quests and Blizzard uses them in such manner very often. Its cool and in fact quite simple to make system.]]></description>
			<content:encoded><![CDATA[Hello there little whelps, there have been quite a lot of requests for transports tutorial and guy who promised that he will write it didn't do so, so I decided I will write this tut for you on my own. What are transports?<br />
Transports in WoW are in fact gameobjects which are being moved along a path specified in DBCs, which are quite easy to understand and edit, so this should not be anything difficult even for beginners. Players who stand on gameobject working as transport move together with it, until they leave it. It seems there are 20 blizzlike transports in blizzlike TC2 world database and all are ships and zeppelins, it works quite nice for water and air traveling. Sadly, this system doesn't work very well for ground traveling, I will explain why later. Transport system shares DBCs with taxi (fly/wind path/master) system, and is very similiar to it, with just a few differences. What will you need?<br />
- MyDBCEditor (or other WORKING DBC editor, forget Taliis, please)<br />
- any editor for MySQL databases<br />
- <a href="http://pxr.dk/wowdev/wiki/index.php?title=TaxiNodes.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiNodes.dbc</a><br />
- <a href="http://pxr.dk/wowdev/wiki/index.php?title=TaxiPath.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiPath.dbc</a><br />
- <a href="http://arcemu.org/wiki/TaxiPathNode.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiPathNode.dbc</a> <a href="http://pxr.dk/wowdev/wiki/index.php?title=TaxiNodes.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiNodes.dbc</a><br />
<img src="http://s17.postimg.org/hfpnng2zj/tmp.jpg" loading="lazy"  alt="[Image: tmp.jpg]" class="mycode_img" /><br />
You can see example of my 2 custom TaxiNodes. These nodes are in fact just to specify where destination lays (docks for example), but they have nothing to do with actual paths which transports will follow. Make sure you enter correct map ID (its in hex here, 0x25 is 37 in dec, and thats ID of map I was using here), but X, Y and Z coords don't need to be really exact. Name is in fact just a note for you and last 2 columns specify entry of creature used as mount for taxi path, but have no effect for transports and thus I left them empty. <a href="http://pxr.dk/wowdev/wiki/index.php?title=TaxiPath.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiPath.dbc</a><br />
<img src="http://s4.postimg.org/3lpahutl9/tmp.jpg" loading="lazy"  alt="[Image: tmp.jpg]" class="mycode_img" /><br />
This is really fast and simple step, TaxiPath is a connection between two TaxiNodes. Just create a new row with entries of 2 nodes you want to have connected with transport, last column specifies prize for taxi (and we are doing transports, that prize would have no effect even if there was another value than 0). While you can connect only 2 TaxiNodes with one TaxiPath, you may make your transport stop on whatever point of path you wish, it can enter 50 docks and stop there if you want, so both TaxiNodes and TaxiPath aren't important at all - they are there in fact just to make server and client happy and you a little bit more busy. <a href="http://arcemu.org/wiki/TaxiPathNode.dbc" target="_blank" rel="noopener" class="mycode_url">TaxiPathNode.dbc</a><br />
<img src="http://s4.postimg.org/4lfldk8r1/tmp.jpg" loading="lazy"  alt="[Image: tmp.jpg]" class="mycode_img" /><br />
This will take most of your time. You need to specify path which will be followed by transport. Enter (correct) ID of TaxiPath (which connects 2 of your TaxiNodes) and coordinates of each waypoint into #5, #6 and #7 column (you can get your character's coords by command .gps, path on screen belongs to ship, so Z coord was always 0 for me). Don't forget to assign unique point ID in column #3 for every waypoint of your path, otherwise either your client or server may crash (note that first waypoint has ID 0, not 1). You can also notice that I left all other columns 0, they are rarely used and I am not sure what they are for. There are only 2 exceptions, you can notice those 2 rows with values 2 and 10 in #8 and #9 column. In that case, transport stops at that waypoint and waits there for 10 seconds. You can have more than 2 of such points, as I have already mentioned earlier, so your ship/zeppelin can visit as many docks as you wish and wait there as long as you want for passangers.You can try to experiment more with last 5 columns in this DBC, hopefully you will find out how at least some of them work. A few tips and notes for creating a path<br />
- Every TaxiPath needs to be made of at least 3 waypoints, otherwise you get crash.<br />
- Path itself is made of curves which are being calculated from waypoint positions and distances between them. Its good to keep distances between waypoints even, otherwise you can get unpleasant buggy results. Also don't make too sudden and sharp turns, otherwise your transport can either go very far from waypoints while turning (and even pass through some objects around, and thats obviously quite unpleasant) or bug a little bit and jump/teleport suddenly.<br />
<img src="http://s12.postimg.org/5xbizt8nx/tmp.jpg" loading="lazy"  alt="[Image: tmp.jpg]" class="mycode_img" /><br />
- Mark waypoint you have already entered into DBC with some sort of gameobject or NPC while spawning a path. I use wisp NPC Waypoint (entry 1) for this, because it can fly and is invisible for players. You can delete your marks when you are finished.<br />
- Make damn sure you don't mistype anything while entering coord values into this DBC. One mistype can send your ship across world and you will be there standing like fool, waiting in docks for ship which is basically never coming, because it is following dozens of kilometres long path.<br />
- To make transport follow exact path is very, very difficult, because, like I said, exact path is calculated and calculations are just based on coords of your waypoints. While transport passes waypoints themselves directly, you can't modify its path very easily between waypoints at all. Avoid narrow passages if you can, or create such passages based on already created and finished transport path, not otherwise. For this reason, ground transports just don't work well, they tend to fly above or sink under terrain all the time between waypoints.<br />
- While being in transport, players ignore all collision with world around. You can surround for example your island with impassible flags or with some models which can't be passed by players, but they will always pass them in transports. So you can make players to just have to use transports quite easily.<br />
- If you wish to make transport teleport players from map A to map B (and thats what basically are mostly transports for in blizzlike setting), just make transport move to some waypoint at map A and then enter a new waypoint with mapID of map B into DBC. Thats whole magic around.<br />
- Transports tend to teleport between last and first waypoints of their path. Don't ask me why, I never found out. It seems that transports in fact don't move in circles, they are always respawned after finishing their path. Players are, luckily, not dropped into sea when this happens, but just appear on new transport. Its still a little bit unpleasant effect, especially if you want to have transport travelling around one map without any teleports, but I have never found real solution for this. Just make those last and first waypoints close to each other. Blizzlike transports don't seem to have such problems, I am not sure what is going wrong here. <a href="http://collab.kpsn.org/display/tc/gameobject_template" target="_blank" rel="noopener" class="mycode_url">world.gameobject_template</a><br />
You will need to create your gameobject which will be used by transport. Fields which are not noted here don't seem to be important/working and should be left with base values (0/NULL), but again, you are free to experiment.<br />
- Entry, do I have to explain anything?<br />
- Type needs to be 15 (11 is for elevators, which work with entirely different than transport system).<br />
- DisplayID is up to you, which means that transports don't have to be huge WMO ships, you can use even a small M2 boat doodad, if you want to. Just make sure your model has collisions.<br />
- Name, again, self-explanatory.<br />
- Flags, most transports have flags=40, some have 0, but I would not use 0.<br />
- Size can be used other than 1 for M2s.<br />
- data0 is ID of your TaxiPath<br />
- data1 should be speed but it appears to not work as one would expect. 30 is most common and fine-working value. You can ofc try both lower or higher and see how results will fit to you.<br />
- data2 should be some kind of acceleration modifier...? All blizzlike transports with speed 30 have 1 accelRate.<br />
- data5, I don't know what this field is for.<br />
- data6, specifies ID of group of NPCs spawned onboard and travelling with transport, however, I don't know to what table this field reffers to.<br />
- data7, a few transports have value 3481, again, I have no idea what this is for.<br />
- data8, a few transports have value 1 and again, I have no idea what this is for.<br />
- AIName, ScriptName, you can, obviously, assign any scripts you wish to this gameobject. I have never tryed to assign some, for instance, SmartAI script to transport, but I see no reason why it should not work. One blizzlike transport has SAI scripts.<br />
- VerifiedBuild, you should always everywhere use value 12340 (3.3.5a revision number) to avoid any possible problems. <a href="http://collab.kpsn.org/display/tc/transports" target="_blank" rel="noopener" class="mycode_url">world.transports</a><br />
And here we go, the last thing to do is to place our transport here. Make sure you have placed your edited DBCs both into server's data folder and into your client's custom MPQ patch, create a new row in this table with new, unique GUID, enter entry of your transport gameobject, name is just for description. Older TC2 revisions have also period field, which appears to specify how long should core wait to respawn transport (put it on start of path), but it was removed and system seems to obtain that value on its own, automatically.The most easy way to disable transport is just deleting it from this DB table, you don't need to delete its data from DBCs. Your transport should be there, waiting just for you, but it usually takes a few (sometimes dozens) of attempts to make your path smooth, not-running into any terrain or models and clean it of teleport bugs made by too sharp curves or by too big differences of distances between waypoints. Especially making transport really dock properly with proper rotation and position can be pretty terrible task to do. How to create taxi path?<br />
Someone asked me about taxi path systems... They are basically the same. You create TaxiNodes (btw again, if memory serves me well, nodes themselves aren't part of paths of taxis), connect them with TaxiPaths (in this case you might also want to specify prize for TaxiPath in copper), spawn TaxiPath which will, in this case, be not a circle, but straight path from point A to point B. And you are, basically, done. Taxi vs transportTaxi pros:<br />
+ you can make player pay for travelling<br />
+ you can link taxis to SmartAI scripts (there is action to send player somewhere by taxi)<br />
+ you don't have to worry so much about boat fitting and sailing around docks without colliding with them, you just need to land on floor and there you go Taxi cons:<br />
- player on taxi has no collisions, so hello, boat which has just passed across my face<br />
- unlike transport, taxi always connects only 2 points, creating 1 path with 3 docks means creating 2 or 3 TaxiPaths<br />
- players can't travel together in taxi<br />
- more players travelling together mean more taxis... imagine those 20 boats in one, overlapping group<br />
- a map where you select to which TaxiNode you want to be taken never worked for me on maps where no fly masters originaly are, I never found solution, possibly core/LUA issue, I found a way around, you can simply make gossip menu for every fly master where gossip menu options will send you via taxi to wished point, buuut... its not ideal sometimes Transport pros:+ players can play (roleplay?) with each other while travelling together+ can connect multiple places where it stops+ have collisions+ looks nice and realistic, much more than raid of 20 boats Transport cons:- you can't really (easily) make players pay for transportation- can't be (easily) called by SmartAI scripts- path needs to be more properly done around landings- is sometimes somehow inflexible if you want to make one landing temporarily impossible to travel to<br />
In general, I found myself still preferring taxi system over transport system, even while taxis have quite a lot of cons. However, taxi system just works better for me while I want to make players pay for travelling and while I want to be able to easily disable some paths from time to time. I also love possibility to assign taxi to SAI script. Being able to have conversation with NPC, during which you will be informed where will you be taken, how long it will take, what hazards are there and so on? Sign me in, especially for RP servers definitely great possibilities. Taxis are also great as part of quests and Blizzard uses them in such manner very often. Its cool and in fact quite simple to make system.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Create a Graveyard]]></title>
			<link>https://elijahketchersid.com/forums/thread-219.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:51 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-219.html</guid>
			<description><![CDATA[Very useful for your custom maps <img src="https://www.wowmodding.net/uploads/emoticons/wink.png" loading="lazy"  alt="[Image: wink.png]" class="mycode_img" /> !<br />
<br />
Before we start, don't forget this, your graveyard won't work if you haven't extracted your map's maps.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Summary</span><ul class="mycode_list"><li>Required tools<br />
</li>
<li>WorldSafeLocs editing<br />
</li>
<li>Database editing<br />
</li>
<li>Ingame command<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Looks like it's time to gear up !</span><br />
<br />
- Your 3.3.5 client<br />
- Your WorldSafeLocs.dbc<br />
- Your World Database access<br />
- To be GM ingame.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">I send you to graveyard !</span><br />
<br />
Open WorldSafeLocs.dbc with your favorite DBC editor.<br />
<br />
Quick explanation :<br />
<br />
First column : Graveyard ID (must be unique ! I start at 1900)<br />
Second column : Your mapId contained in Map.DBC<br />
Third column : graveyard's X position<br />
Fourth column : graveyard's Y position<br />
Fifth column : graveyard's Z position<br />
Seventh column : Name your graveyard !<br />
Eighth : Meh.<br />
<br />
To obtain your coords, you'll have to go ingame and make .gps where you want to locate your graveyard.<br />
Then, fill your DBC. I did this :<br />
<br />
<img src="http://puu.sh/jn1II/af2f8cef5f.png" loading="lazy"  alt="[Image: af2f8cef5f.png]" class="mycode_img" /><br />
<br />
"But, what means CI Hyakki-master ?"<br />
Did you know I'm French ? In France, a graveyard is called "cimetière", you can pronounce it like Google says : <a href="https://translate.google.fr/#fr/en/cimeti%C3%A8re" target="_blank" rel="noopener" class="mycode_url">cimetière</a><br />
Then, CI is the abrevation of Cimetière <img src="https://www.wowmodding.net/uploads/emoticons/smile.png" loading="lazy"  alt="[Image: smile.png]" class="mycode_img" /> (We learn so much things with me yay !)<br />
<br />
Upload it to your server (and I'm not sure, but I don't think it's necessary in your MPQ)<br />
<br />
Next step !<br />
<br />
<span style="font-weight: bold;" class="mycode_b">DB ? You mean Dragon B... No. DataBase.</span><br />
<br />
Open your world database and open the game_graveyard_table.<br />
<br />
Quick explanation 2 :<br />
<br />
ID : Your graveyard ID that you have set in WorldSafeLocs (1900 in my example)<br />
GhostZone : AreaID from Areatable.dbc where the ghost will spawn.<br />
Faction : Who can spawn in your graveyard ?<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>0 - Any team accepted<br />
<br />
469 - Alliance team only<br />
<br />
67 - Horde team only</blockquote>
Here we are<br />
<img src="http://puu.sh/jn2IR/d27c8c2a87.png" loading="lazy"  alt="[Image: d27c8c2a87.png]" class="mycode_img" /><br />
<br />
Save and close your DataBase connection, we are finished.<br />
<br />
Restart your server !<br />
<br />
<span style="font-weight: bold;" class="mycode_b">It's time to die !</span><br />
<br />
Go to your custom map and execute this command :<br />
<br />
X = your graveyard ID (1900 in my example)<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>.linkgrave X</blockquote>
If you obtain an error, check that you have extracted your maps, and if you Areatable.dbc in serverside is valid too.<br />
otherwise, kill you and you'll see !<br />
<br />
This tutorial is finished ! Don't forget to spawn the Spirit Healer ! (ID = 6491)]]></description>
			<content:encoded><![CDATA[Very useful for your custom maps <img src="https://www.wowmodding.net/uploads/emoticons/wink.png" loading="lazy"  alt="[Image: wink.png]" class="mycode_img" /> !<br />
<br />
Before we start, don't forget this, your graveyard won't work if you haven't extracted your map's maps.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Summary</span><ul class="mycode_list"><li>Required tools<br />
</li>
<li>WorldSafeLocs editing<br />
</li>
<li>Database editing<br />
</li>
<li>Ingame command<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Looks like it's time to gear up !</span><br />
<br />
- Your 3.3.5 client<br />
- Your WorldSafeLocs.dbc<br />
- Your World Database access<br />
- To be GM ingame.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">I send you to graveyard !</span><br />
<br />
Open WorldSafeLocs.dbc with your favorite DBC editor.<br />
<br />
Quick explanation :<br />
<br />
First column : Graveyard ID (must be unique ! I start at 1900)<br />
Second column : Your mapId contained in Map.DBC<br />
Third column : graveyard's X position<br />
Fourth column : graveyard's Y position<br />
Fifth column : graveyard's Z position<br />
Seventh column : Name your graveyard !<br />
Eighth : Meh.<br />
<br />
To obtain your coords, you'll have to go ingame and make .gps where you want to locate your graveyard.<br />
Then, fill your DBC. I did this :<br />
<br />
<img src="http://puu.sh/jn1II/af2f8cef5f.png" loading="lazy"  alt="[Image: af2f8cef5f.png]" class="mycode_img" /><br />
<br />
"But, what means CI Hyakki-master ?"<br />
Did you know I'm French ? In France, a graveyard is called "cimetière", you can pronounce it like Google says : <a href="https://translate.google.fr/#fr/en/cimeti%C3%A8re" target="_blank" rel="noopener" class="mycode_url">cimetière</a><br />
Then, CI is the abrevation of Cimetière <img src="https://www.wowmodding.net/uploads/emoticons/smile.png" loading="lazy"  alt="[Image: smile.png]" class="mycode_img" /> (We learn so much things with me yay !)<br />
<br />
Upload it to your server (and I'm not sure, but I don't think it's necessary in your MPQ)<br />
<br />
Next step !<br />
<br />
<span style="font-weight: bold;" class="mycode_b">DB ? You mean Dragon B... No. DataBase.</span><br />
<br />
Open your world database and open the game_graveyard_table.<br />
<br />
Quick explanation 2 :<br />
<br />
ID : Your graveyard ID that you have set in WorldSafeLocs (1900 in my example)<br />
GhostZone : AreaID from Areatable.dbc where the ghost will spawn.<br />
Faction : Who can spawn in your graveyard ?<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>0 - Any team accepted<br />
<br />
469 - Alliance team only<br />
<br />
67 - Horde team only</blockquote>
Here we are<br />
<img src="http://puu.sh/jn2IR/d27c8c2a87.png" loading="lazy"  alt="[Image: d27c8c2a87.png]" class="mycode_img" /><br />
<br />
Save and close your DataBase connection, we are finished.<br />
<br />
Restart your server !<br />
<br />
<span style="font-weight: bold;" class="mycode_b">It's time to die !</span><br />
<br />
Go to your custom map and execute this command :<br />
<br />
X = your graveyard ID (1900 in my example)<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>.linkgrave X</blockquote>
If you obtain an error, check that you have extracted your maps, and if you Areatable.dbc in serverside is valid too.<br />
otherwise, kill you and you'll see !<br />
<br />
This tutorial is finished ! Don't forget to spawn the Spirit Healer ! (ID = 6491)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Beginner's Guide to CASCHost]]></title>
			<link>https://elijahketchersid.com/forums/thread-218.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:51 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-218.html</guid>
			<description><![CDATA[<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_16-21-24.png.44985418dae813ac418c07f78dde04d7.png" loading="lazy"  alt="[Image: 2018-11-19_16-21-24.png.44985418dae813ac...de04d7.png]" class="mycode_img" /><span style="font-weight: bold;" class="mycode_b">Introduction</span><br />
<br />
	Originating from Heroes of the Storm (CASC '1.0'), the Content Addressable Storage Container is a new file system for WoW, introduced in Warlords of Draenor as a replacement for MPQ archives (CASC '2.0'). As such, it needs to be worked with in order to use custom game files in WoD, Legion, and BfA. CASCHost is a tool for just that.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tools and resources</span><ul class="mycode_list"><li><a href="https://www.wowmodding.net/files/file/171-caschost/" target="_blank" rel="noopener" class="mycode_url">CASCHost itself</a><br />
<br />
</li>
<li>Patched WoW.exe<br />
<br />
				If you are running your server and client on the same machine, you can download a suitable WoW.exe <a href="https://www.wowmodding.net/files/file/174-caschost-patched-wowexe/" target="_blank" rel="noopener" class="mycode_url">here</a>.<br />
<br />
				Alternatively, keep reading for an instruction on how to patch the exe yourself.<br />
<br />
						This will require <a href="https://www.wowmodding.net/files/file/175-010-editor/" target="_blank" rel="noopener" class="mycode_url">010 Editor</a> and the TrinityCore Connection Patcher.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">As of TC Master 8.0.1, the TC patcher is no longer operational. Chances are, you will be using the Arctium Launcher instead. If you follow my instructions on patching WoW.exe, the Launcher will not work, as it also overwrites the versions url. Read on for an instruction on how to patch the Launcher instead! (the exe should be left unedited).</span><ul class="mycode_list"><li>.build.info<br />
<br />
				This file might be in your WoW folder - if it is, use that file for CASCHost as will be described below, and temporarily remove it from your client. <span style="font-style: italic;" class="mycode_i">While this file is in the same folder as WoW.exe, the latter will ignore your custom CASC and only download files from Blizzard servers.</span><br />
<br />
				Alternatively, you can always get one <a href="https://www.wowmodding.net/files/file/173-caschost-buildinfo/" target="_blank" rel="noopener" class="mycode_url">here</a>. Make sure to choose the correct version.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">The Technique</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Installation</span><br />
<br />
		Download CASCHost from the link above (either the pre-built version, or clone it from GitHub and build yourself).<ul class="mycode_list"><li>If you build the program yourself, you will need to manually create some of the folders I talk about below.<br />
</li>
</ul>
		Place your .build.info in <span style="font-style: italic;" class="mycode_i">CASCHost folder/wwwroot/SystemFiles/</span>.<br />
<br />
		Place your custom files in <span style="font-style: italic;" class="mycode_i">CASCHost folder/wwwroot/Data/</span> with the correct structure (e.g. <span style="font-style: italic;" class="mycode_i">wwwroot/Data/Character/Human/...</span>).<br />
<br />
		Open the file <span style="font-style: italic;" class="mycode_i">CASCHost folder/appsettings.json </span>to edit:<ul class="mycode_list"><li>RebuildPassword - use this field if you would like CASCHost to require a password when issuing rebuild commands from a browser.<br />
<br />
</li>
<li>HostDomain - your server domain in the form <span style="font-style: italic;" class="mycode_i">domain</span><span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">:</span></span><span style="font-style: italic;" class="mycode_i">port</span>. IP addresses are not supported, apparently.<br />
<br />
						Leave as "localhost:5100" to use the pre-patched WoW.exe.<br />
<br />
						SqlConnection - the IP address of your SQL server, the username and password (typically, trinity/trinity), and the name for the database CASCHost should use. Sometimes you might need to create the database yourself instead of letting CASCHost do it.<br />
<br />
</li>
<li>Locale - the localisation of your server and client(s), e.g. enUS, deDE, enGB, ruRU, etc.<br />
</li>
</ul>
		(Optional) To publicly host your custom files for other players to download, open the file <span style="font-style: italic;" class="mycode_i">CASCHost folder/hosting.json</span>, and add your <span style="font-style: italic;" class="mycode_i">domain</span><span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">:</span></span><span style="font-style: italic;" class="mycode_i">port </span>to the urls list.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Patching WoW.exe</span><br />
<br />
Spoiler<br />
<br />
				Apply the TrinityCore Connection Patcher to your WoW.exe.<br />
<br />
				Open this WoW.exe in 010 Editor.<br />
<br />
				Search (Ctrl+F) for 'trinity'. The first occurence should look like this:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_15-31-54.png.cb972b26b583e3d20da07a59cc224673.png" loading="lazy"  alt="[Image: 2018-11-19_15-31-54.png.cb972b26b583e3d2...224673.png]" class="mycode_img" /><br />
<br />
				Place your cursor before 'trinity' in the column on the right, as shown on the screenshot, and type your domain, a semicolon, and port (same as the HostDomain in CASCHost settings). Add to that '/versions'. The result should look like:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_15-37-14.png.6e5e7e86c5b3f12205ac290e3996bd69.png" loading="lazy"  alt="[Image: 2018-11-19_15-37-14.png.6e5e7e86c5b3f122...96bd69.png]" class="mycode_img" /><br />
<br />
				The colouring conveniently indicates where the string you just typed ends. Now go to the respective location in the left column (in the case of this screenshot, it is right before 2F). Then just type 0s until you get to the already present 00s like this:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_15-41-30.png.f830b1ae5c07ff31290d55ff0d5d185c.png" loading="lazy"  alt="[Image: 2018-11-19_15-41-30.png.f830b1ae5c07ff31...5d185c.png]" class="mycode_img" /><br />
<br />
				Move to the string below and perform the same algorithm to type up 'yourdomain:port/cdns' and remove the extra characters:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_15-43-34.png.019da88bc0dec046f75db9f9f98da727.png" loading="lazy"  alt="[Image: 2018-11-19_15-43-34.png.019da88bc0dec046...8da727.png]" class="mycode_img" /><br />
<br />
				Save the executable and close 010 Editor.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Patching Arctium WoW Launcher.exe</span><br />
<br />
Spoiler<br />
<br />
				Open your Arctium WoW Client Launcher.exe in 010 Editor.<br />
<br />
				Search (Ctrl+F) for 'trinity'. The first occurence should look like this:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2019_04/image.png.154a2d24a364757beb968ca519f831fb.png" loading="lazy"  alt="[Image: image.png.154a2d24a364757beb968ca519f831fb.png]" class="mycode_img" /><br />
<br />
				Place your cursor before 'trinity' in the column on the right, as shown on the screenshot, and type your domain, a semicolon, and port (same as the HostDomain in CASCHost settings). Add to that '/versions'. The result should look like:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2019_04/image.png.c7b1fe6c6061e56bff47f5590a230c11.png" loading="lazy"  alt="[Image: image.png.c7b1fe6c6061e56bff47f5590a230c11.png]" class="mycode_img" /><br />
<br />
				The colouring conveniently indicates where the string you just typed ends. Now go to the respective location in the left column (in the case of this screenshot, it is right before 2F). Then just type 0s until you get to the end of the line like this:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2019_04/image.png.b3959823d90186ad084132028dcfccea.png" loading="lazy"  alt="[Image: image.png.b3959823d90186ad084132028dcfccea.png]" class="mycode_img" /><br />
<br />
				Go back to Patching WoW.exe and perform only the step where you edit the /cdns url, not /versions.<br />
<br />
				Save the executable and close 010 Editor.<br />
<br />
	You can now run <span style="font-style: italic;" class="mycode_i">Start.bat </span>from your CASCHost folder and, once that loads, start WoW.exe/Arctium Launcher. The client should begin downloading the files you placed in <span style="font-style: italic;" class="mycode_i">CASCHost folder/wwwroot/Data/</span> (don't worry, it will download whatever it needs from Blizzard servers as well, but your files have priority).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Managing CASCHost</span><ul class="mycode_list"><li>While CASCHost is running, you may add/edit/remove files in the Data folder. In order for the changes to take effect, you must open your browser and go to <a href="http://yourdomain" target="_blank" rel="noopener" class="mycode_url">http://yourdomain</a>:port/rebuild<br />
<br />
				In the default case, it will be <a href="http://localhost:5100/rebuild" target="_blank" rel="noopener" class="mycode_url">http://localhost:5100/rebuild</a><br />
<br />
				If you have set up a rebuild password in CASCHost settings, you will need to go to <a href="http://yourdomain" target="_blank" rel="noopener" class="mycode_url">http://yourdomain</a>:port/rebuild_yourpassword<br />
<br />
</li>
<li>To stop CASCHost, press Ctrl+C in the window, and choose Y.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Troubleshooting</span><br />
<br />
	For all of your CASCHost troubles (a file not appearing/updating/being removed, etc.), there is a simple algorithm: try the first step, move to 2 if it doesn't help. It might sometimes be helpful to clear the client cache between steps.<br />
<br />
		Rebuild.<br />
<br />
		Stop CASCHost and run it again.<br />
<br />
		Stop CASCHost, delete the <span style="font-style: italic;" class="mycode_i">Output</span> folder (in <span style="font-style: italic;" class="mycode_i">wwwroot/</span>), and run it again. This might take some time if there are a lot of files.<br />
<br />
		Stop CASCHost, delete the <span style="font-style: italic;" class="mycode_i">Output</span> folder, open the CASCHost database with your SQL editor of choice and delete the <span style="font-style: italic;" class="mycode_i">root_entries</span> table (<span style="font-weight: bold;" class="mycode_b">Warning: this will lead to all of your custom FileDataIDs being jumbled up!</span>), run it again.<br />
<br />
		Complain <a href="https://discord.gg/uqAc6wX" target="_blank" rel="noopener" class="mycode_url">on Discord</a>.<br />
<br />
		Create an issue <a href="https://github.com/WowDevTools/CASCHost/issues" target="_blank" rel="noopener" class="mycode_url">on GitHub</a>.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Conclusion</span><br />
<br />
	I am hoping this guide will answer most questions and resolve most problems people have when introducing themselves to CASCHost. As a semi-experienced user myself, I might have made some mistakes while writing it, and so will welcome any constructive criticism.<br />
<br />
	Regardless, I would like to credit and thank the developers of CASCHost: <span style="font-style: italic;" class="mycode_i"><a href="https://www.wowmodding.net/profile/558-barncastle/" target="_blank" rel="noopener" class="mycode_url">@barncastle</a></span>, <span style="font-style: italic;" class="mycode_i">Maku</span>, <span style="font-style: italic;" class="mycode_i"><a href="https://www.wowmodding.net/profile/19-luzifix/" target="_blank" rel="noopener" class="mycode_url">@luzifix</a></span>, and <span style="font-style: italic;" class="mycode_i">tspearman </span>for, well, developing it, and writing an informative readme. <img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_16-21-24.png.44985418dae813ac418c07f78dde04d7.png" loading="lazy"  alt="[Image: 2018-11-19_16-21-24.png.44985418dae813ac...de04d7.png]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_16-21-24.png.44985418dae813ac418c07f78dde04d7.png" loading="lazy"  alt="[Image: 2018-11-19_16-21-24.png.44985418dae813ac...de04d7.png]" class="mycode_img" /><span style="font-weight: bold;" class="mycode_b">Introduction</span><br />
<br />
	Originating from Heroes of the Storm (CASC '1.0'), the Content Addressable Storage Container is a new file system for WoW, introduced in Warlords of Draenor as a replacement for MPQ archives (CASC '2.0'). As such, it needs to be worked with in order to use custom game files in WoD, Legion, and BfA. CASCHost is a tool for just that.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tools and resources</span><ul class="mycode_list"><li><a href="https://www.wowmodding.net/files/file/171-caschost/" target="_blank" rel="noopener" class="mycode_url">CASCHost itself</a><br />
<br />
</li>
<li>Patched WoW.exe<br />
<br />
				If you are running your server and client on the same machine, you can download a suitable WoW.exe <a href="https://www.wowmodding.net/files/file/174-caschost-patched-wowexe/" target="_blank" rel="noopener" class="mycode_url">here</a>.<br />
<br />
				Alternatively, keep reading for an instruction on how to patch the exe yourself.<br />
<br />
						This will require <a href="https://www.wowmodding.net/files/file/175-010-editor/" target="_blank" rel="noopener" class="mycode_url">010 Editor</a> and the TrinityCore Connection Patcher.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">As of TC Master 8.0.1, the TC patcher is no longer operational. Chances are, you will be using the Arctium Launcher instead. If you follow my instructions on patching WoW.exe, the Launcher will not work, as it also overwrites the versions url. Read on for an instruction on how to patch the Launcher instead! (the exe should be left unedited).</span><ul class="mycode_list"><li>.build.info<br />
<br />
				This file might be in your WoW folder - if it is, use that file for CASCHost as will be described below, and temporarily remove it from your client. <span style="font-style: italic;" class="mycode_i">While this file is in the same folder as WoW.exe, the latter will ignore your custom CASC and only download files from Blizzard servers.</span><br />
<br />
				Alternatively, you can always get one <a href="https://www.wowmodding.net/files/file/173-caschost-buildinfo/" target="_blank" rel="noopener" class="mycode_url">here</a>. Make sure to choose the correct version.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">The Technique</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Installation</span><br />
<br />
		Download CASCHost from the link above (either the pre-built version, or clone it from GitHub and build yourself).<ul class="mycode_list"><li>If you build the program yourself, you will need to manually create some of the folders I talk about below.<br />
</li>
</ul>
		Place your .build.info in <span style="font-style: italic;" class="mycode_i">CASCHost folder/wwwroot/SystemFiles/</span>.<br />
<br />
		Place your custom files in <span style="font-style: italic;" class="mycode_i">CASCHost folder/wwwroot/Data/</span> with the correct structure (e.g. <span style="font-style: italic;" class="mycode_i">wwwroot/Data/Character/Human/...</span>).<br />
<br />
		Open the file <span style="font-style: italic;" class="mycode_i">CASCHost folder/appsettings.json </span>to edit:<ul class="mycode_list"><li>RebuildPassword - use this field if you would like CASCHost to require a password when issuing rebuild commands from a browser.<br />
<br />
</li>
<li>HostDomain - your server domain in the form <span style="font-style: italic;" class="mycode_i">domain</span><span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">:</span></span><span style="font-style: italic;" class="mycode_i">port</span>. IP addresses are not supported, apparently.<br />
<br />
						Leave as "localhost:5100" to use the pre-patched WoW.exe.<br />
<br />
						SqlConnection - the IP address of your SQL server, the username and password (typically, trinity/trinity), and the name for the database CASCHost should use. Sometimes you might need to create the database yourself instead of letting CASCHost do it.<br />
<br />
</li>
<li>Locale - the localisation of your server and client(s), e.g. enUS, deDE, enGB, ruRU, etc.<br />
</li>
</ul>
		(Optional) To publicly host your custom files for other players to download, open the file <span style="font-style: italic;" class="mycode_i">CASCHost folder/hosting.json</span>, and add your <span style="font-style: italic;" class="mycode_i">domain</span><span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b">:</span></span><span style="font-style: italic;" class="mycode_i">port </span>to the urls list.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Patching WoW.exe</span><br />
<br />
Spoiler<br />
<br />
				Apply the TrinityCore Connection Patcher to your WoW.exe.<br />
<br />
				Open this WoW.exe in 010 Editor.<br />
<br />
				Search (Ctrl+F) for 'trinity'. The first occurence should look like this:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_15-31-54.png.cb972b26b583e3d20da07a59cc224673.png" loading="lazy"  alt="[Image: 2018-11-19_15-31-54.png.cb972b26b583e3d2...224673.png]" class="mycode_img" /><br />
<br />
				Place your cursor before 'trinity' in the column on the right, as shown on the screenshot, and type your domain, a semicolon, and port (same as the HostDomain in CASCHost settings). Add to that '/versions'. The result should look like:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_15-37-14.png.6e5e7e86c5b3f12205ac290e3996bd69.png" loading="lazy"  alt="[Image: 2018-11-19_15-37-14.png.6e5e7e86c5b3f122...96bd69.png]" class="mycode_img" /><br />
<br />
				The colouring conveniently indicates where the string you just typed ends. Now go to the respective location in the left column (in the case of this screenshot, it is right before 2F). Then just type 0s until you get to the already present 00s like this:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_15-41-30.png.f830b1ae5c07ff31290d55ff0d5d185c.png" loading="lazy"  alt="[Image: 2018-11-19_15-41-30.png.f830b1ae5c07ff31...5d185c.png]" class="mycode_img" /><br />
<br />
				Move to the string below and perform the same algorithm to type up 'yourdomain:port/cdns' and remove the extra characters:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_15-43-34.png.019da88bc0dec046f75db9f9f98da727.png" loading="lazy"  alt="[Image: 2018-11-19_15-43-34.png.019da88bc0dec046...8da727.png]" class="mycode_img" /><br />
<br />
				Save the executable and close 010 Editor.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Patching Arctium WoW Launcher.exe</span><br />
<br />
Spoiler<br />
<br />
				Open your Arctium WoW Client Launcher.exe in 010 Editor.<br />
<br />
				Search (Ctrl+F) for 'trinity'. The first occurence should look like this:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2019_04/image.png.154a2d24a364757beb968ca519f831fb.png" loading="lazy"  alt="[Image: image.png.154a2d24a364757beb968ca519f831fb.png]" class="mycode_img" /><br />
<br />
				Place your cursor before 'trinity' in the column on the right, as shown on the screenshot, and type your domain, a semicolon, and port (same as the HostDomain in CASCHost settings). Add to that '/versions'. The result should look like:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2019_04/image.png.c7b1fe6c6061e56bff47f5590a230c11.png" loading="lazy"  alt="[Image: image.png.c7b1fe6c6061e56bff47f5590a230c11.png]" class="mycode_img" /><br />
<br />
				The colouring conveniently indicates where the string you just typed ends. Now go to the respective location in the left column (in the case of this screenshot, it is right before 2F). Then just type 0s until you get to the end of the line like this:<br />
<img src="https://www.wowmodding.net/uploads/monthly_2019_04/image.png.b3959823d90186ad084132028dcfccea.png" loading="lazy"  alt="[Image: image.png.b3959823d90186ad084132028dcfccea.png]" class="mycode_img" /><br />
<br />
				Go back to Patching WoW.exe and perform only the step where you edit the /cdns url, not /versions.<br />
<br />
				Save the executable and close 010 Editor.<br />
<br />
	You can now run <span style="font-style: italic;" class="mycode_i">Start.bat </span>from your CASCHost folder and, once that loads, start WoW.exe/Arctium Launcher. The client should begin downloading the files you placed in <span style="font-style: italic;" class="mycode_i">CASCHost folder/wwwroot/Data/</span> (don't worry, it will download whatever it needs from Blizzard servers as well, but your files have priority).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Managing CASCHost</span><ul class="mycode_list"><li>While CASCHost is running, you may add/edit/remove files in the Data folder. In order for the changes to take effect, you must open your browser and go to <a href="http://yourdomain" target="_blank" rel="noopener" class="mycode_url">http://yourdomain</a>:port/rebuild<br />
<br />
				In the default case, it will be <a href="http://localhost:5100/rebuild" target="_blank" rel="noopener" class="mycode_url">http://localhost:5100/rebuild</a><br />
<br />
				If you have set up a rebuild password in CASCHost settings, you will need to go to <a href="http://yourdomain" target="_blank" rel="noopener" class="mycode_url">http://yourdomain</a>:port/rebuild_yourpassword<br />
<br />
</li>
<li>To stop CASCHost, press Ctrl+C in the window, and choose Y.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Troubleshooting</span><br />
<br />
	For all of your CASCHost troubles (a file not appearing/updating/being removed, etc.), there is a simple algorithm: try the first step, move to 2 if it doesn't help. It might sometimes be helpful to clear the client cache between steps.<br />
<br />
		Rebuild.<br />
<br />
		Stop CASCHost and run it again.<br />
<br />
		Stop CASCHost, delete the <span style="font-style: italic;" class="mycode_i">Output</span> folder (in <span style="font-style: italic;" class="mycode_i">wwwroot/</span>), and run it again. This might take some time if there are a lot of files.<br />
<br />
		Stop CASCHost, delete the <span style="font-style: italic;" class="mycode_i">Output</span> folder, open the CASCHost database with your SQL editor of choice and delete the <span style="font-style: italic;" class="mycode_i">root_entries</span> table (<span style="font-weight: bold;" class="mycode_b">Warning: this will lead to all of your custom FileDataIDs being jumbled up!</span>), run it again.<br />
<br />
		Complain <a href="https://discord.gg/uqAc6wX" target="_blank" rel="noopener" class="mycode_url">on Discord</a>.<br />
<br />
		Create an issue <a href="https://github.com/WowDevTools/CASCHost/issues" target="_blank" rel="noopener" class="mycode_url">on GitHub</a>.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Conclusion</span><br />
<br />
	I am hoping this guide will answer most questions and resolve most problems people have when introducing themselves to CASCHost. As a semi-experienced user myself, I might have made some mistakes while writing it, and so will welcome any constructive criticism.<br />
<br />
	Regardless, I would like to credit and thank the developers of CASCHost: <span style="font-style: italic;" class="mycode_i"><a href="https://www.wowmodding.net/profile/558-barncastle/" target="_blank" rel="noopener" class="mycode_url">@barncastle</a></span>, <span style="font-style: italic;" class="mycode_i">Maku</span>, <span style="font-style: italic;" class="mycode_i"><a href="https://www.wowmodding.net/profile/19-luzifix/" target="_blank" rel="noopener" class="mycode_url">@luzifix</a></span>, and <span style="font-style: italic;" class="mycode_i">tspearman </span>for, well, developing it, and writing an informative readme. <img src="https://www.wowmodding.net/uploads/monthly_2018_11/2018-11-19_16-21-24.png.44985418dae813ac418c07f78dde04d7.png" loading="lazy"  alt="[Image: 2018-11-19_16-21-24.png.44985418dae813ac...de04d7.png]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] How to change starting area location (Easy going)]]></title>
			<link>https://elijahketchersid.com/forums/thread-217.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:51 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-217.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Index:</span><br />
- What you need<br />
- Step 1 till 3<br />
- One-Look-Understandable-Picture<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What you need:</span><br />
<br />
- a WoW 3.3.5a Trinity Server<br />
- your World of Warcraft _world-Database<br />
__________________________________<br />
For Custom port-points:<br />
- Noggit for a Custom map<br />
- Your builded patch<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step 1:</span><br />
Go ingame to a nice area, there you want your players to start up. When you found your place - press ingame the Admintask ".gps" to get the coordinates.<br />
<br />
Note: You get also the sightvew (orientation)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step 2:</span><br />
Go to your world-database -&gt; table: playercreatinfo. So you can see now the single locations of each race. Insert you coordinates to the single collums.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step 3:</span><br />
Save your work and restart the world. (.server restart 1) and try it =)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">One-Look-Understandable-Picture:</span><br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b"><a href="https://www.wowmodding.net/uploads/monthly_2016_01/gps.png.b5ce8acf4413de5e6b9fe4aaade5b207.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://www.wowmodding.net/uploads/monthly_2016_01/gps.thumb.png.d6fda8ab6f6e16e991ceacb0f27f90ec.png" loading="lazy"  alt="[Image: gps.thumb.png.d6fda8ab6f6e16e991ceacb0f27f90ec.png]" class="mycode_img" /></a></span></span>]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Index:</span><br />
- What you need<br />
- Step 1 till 3<br />
- One-Look-Understandable-Picture<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What you need:</span><br />
<br />
- a WoW 3.3.5a Trinity Server<br />
- your World of Warcraft _world-Database<br />
__________________________________<br />
For Custom port-points:<br />
- Noggit for a Custom map<br />
- Your builded patch<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step 1:</span><br />
Go ingame to a nice area, there you want your players to start up. When you found your place - press ingame the Admintask ".gps" to get the coordinates.<br />
<br />
Note: You get also the sightvew (orientation)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step 2:</span><br />
Go to your world-database -&gt; table: playercreatinfo. So you can see now the single locations of each race. Insert you coordinates to the single collums.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step 3:</span><br />
Save your work and restart the world. (.server restart 1) and try it =)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">One-Look-Understandable-Picture:</span><br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b"><a href="https://www.wowmodding.net/uploads/monthly_2016_01/gps.png.b5ce8acf4413de5e6b9fe4aaade5b207.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://www.wowmodding.net/uploads/monthly_2016_01/gps.thumb.png.d6fda8ab6f6e16e991ceacb0f27f90ec.png" loading="lazy"  alt="[Image: gps.thumb.png.d6fda8ab6f6e16e991ceacb0f27f90ec.png]" class="mycode_img" /></a></span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Charakter Startpunkt verändern (Leicht)]]></title>
			<link>https://elijahketchersid.com/forums/thread-216.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:51 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-216.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Index:</span><br />
- Was wir brauchen<br />
<br />
	- Schritt 1 bis 3<br />
<br />
	- "Auf-den-ersten-blick-alles-verständlich"-Bild<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Was wir brauchen:</span><br />
<br />
- ein WoW 3.3.5a Trinity Server<br />
<br />
	- deine World of Warcraft _world-Datenbank<br />
<br />
	__________________________________<br />
<br />
	Für Custom Portpunkte:<br />
<br />
	- Noggit für eine Custom Karte<br />
<br />
	- Dein eingebauten Patch<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Schritt 1:</span><br />
<br />
Geh dazu Ingame an einen Platz den du dir wünscht und der dir gefällt - wo die Spieler starten sollen. Nun gib den Adminbefehl ".gps" ein damit wir diese Koordinaten bekommen.<br />
<br />
	Notiz: Sogar die Blickrichtung kannst du für dich entscheiden. Wäre in dem Fall "orientation".<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Schritt 2:</span><br />
Geh zu deiner Welt-Datenbank (in Navicat oder vergleichbares) worlddatabase -&gt; table: playercreatinfo. Hier siehst du nun die einzelnen location Punkte der einzelnen Rassen und Klassen. Ab der Spalte "Map" beginnen wir die neuen Koordinaten einzusetzen. Probier es für den Anfang nur mal mit dem ersten (Race 1: Mensch, Class 1: Krieger)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Schritt 3:</span><br />
Speicher deine Arbeit und restarte die Welt. (Via Konsole oder ingame: ".server restart 1") Dannach probier es mal aus.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">"Auf-den-ersten-blick-alles-verständlich"-Bild:</span><br />
<br />
<a href="https://www.wowmodding.net/uploads/monthly_2016_01/gps.png.b44f06d65282c89004998ce59f405e9d.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://www.wowmodding.net/uploads/monthly_2016_01/gps.thumb.png.d935bfd8daec32154ebfd0c17430c5f7.png" loading="lazy"  alt="[Image: gps.thumb.png.d935bfd8daec32154ebfd0c17430c5f7.png]" class="mycode_img" /></a>]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Index:</span><br />
- Was wir brauchen<br />
<br />
	- Schritt 1 bis 3<br />
<br />
	- "Auf-den-ersten-blick-alles-verständlich"-Bild<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Was wir brauchen:</span><br />
<br />
- ein WoW 3.3.5a Trinity Server<br />
<br />
	- deine World of Warcraft _world-Datenbank<br />
<br />
	__________________________________<br />
<br />
	Für Custom Portpunkte:<br />
<br />
	- Noggit für eine Custom Karte<br />
<br />
	- Dein eingebauten Patch<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Schritt 1:</span><br />
<br />
Geh dazu Ingame an einen Platz den du dir wünscht und der dir gefällt - wo die Spieler starten sollen. Nun gib den Adminbefehl ".gps" ein damit wir diese Koordinaten bekommen.<br />
<br />
	Notiz: Sogar die Blickrichtung kannst du für dich entscheiden. Wäre in dem Fall "orientation".<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Schritt 2:</span><br />
Geh zu deiner Welt-Datenbank (in Navicat oder vergleichbares) worlddatabase -&gt; table: playercreatinfo. Hier siehst du nun die einzelnen location Punkte der einzelnen Rassen und Klassen. Ab der Spalte "Map" beginnen wir die neuen Koordinaten einzusetzen. Probier es für den Anfang nur mal mit dem ersten (Race 1: Mensch, Class 1: Krieger)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Schritt 3:</span><br />
Speicher deine Arbeit und restarte die Welt. (Via Konsole oder ingame: ".server restart 1") Dannach probier es mal aus.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">"Auf-den-ersten-blick-alles-verständlich"-Bild:</span><br />
<br />
<a href="https://www.wowmodding.net/uploads/monthly_2016_01/gps.png.b44f06d65282c89004998ce59f405e9d.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://www.wowmodding.net/uploads/monthly_2016_01/gps.thumb.png.d935bfd8daec32154ebfd0c17430c5f7.png" loading="lazy"  alt="[Image: gps.thumb.png.d935bfd8daec32154ebfd0c17430c5f7.png]" class="mycode_img" /></a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Day & Night, what can we do ?]]></title>
			<link>https://elijahketchersid.com/forums/thread-215.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-215.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Summary</span><ul class="mycode_list"><li>Introduction<br />
<br />
</li>
<li>Required tools<br />
<br />
</li>
<li>Day and Night<br />
<br />
</li>
<li>Useless or .. Useful ?<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">SATURDAY NIGHT FEVER</span><br />
<br />
	Hi people, today, as you can see, we will create two events, play with SmartAI, find a link between our events and SmartAI... Yes, we will create an event that starts at a time of day and ends at another, and an other will takes place to complete our empty time slot.<br />
<br />
	And... our NPCS will react with those two events !<br />
<br />
<a href="https://www.youtube.com/embed/YFjHJPUwhps?feature=oembed" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/embed/YFjHJPUwhp...ure=oembed</a><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Looks like it's time to gear up !</span><ul class="mycode_list"><li>Navicat MySQL, PHPMyAdmin, SQLYog, HeidiSQL (the software one, not the little girl), any SQL editor you love !<br />
<br />
</li>
<li>Your WoW client<br />
<br />
</li>
<li>SAI Editor (WAIT ! Why we'll use a software ? Because... I am lazy.)<br />
</li>
</ul>
	Actually I use SAIEditor 1.4.3, they did an update recently but I don't like it so much, something change and I allow only one thing to change...<br />
<br />
<img src="https://45.media.tumblr.com/65773811c8233d9afe907767b0f39da8/tumblr_nv08t2DeVS1qiulxoo1_400.gif" loading="lazy"  alt="[Image: tumblr_nv08t2DeVS1qiulxoo1_400.gif]" class="mycode_img" /><br />
<br />
	Here is the 1.4.3 version : <a href="http://www.mediafire.com/download/tymxj4231uupa3x/SAI-Editor+1.4.3.rar" target="_blank" rel="noopener" class="mycode_url">http://www.mediafire.com/download/tymxj4...+1.4.3.rar</a><br />
<br />
	It's time to go !<br />
<br />
	 <span style="font-weight: bold;" class="mycode_b">Day and Night</span><br />
<br />
	First, we need <span style="font-weight: bold;" class="mycode_b">game_event</span>. <a href="https://trinitycore.atlassian.net/wiki/display/tc/game_event" target="_blank" rel="noopener" class="mycode_url">Structure of game_event</a><br />
<br />
From there, create your events, here's mine :<br />
<br />
<img src="http://puu.sh/lf7Cm/5803562785.png" loading="lazy"  alt="[Image: 5803562785.png]" class="mycode_img" /><br />
<br />
	(Nuit means Night in French)<br />
<br />
	Night will start at 7:30pm and ends at 7:30am, Day will start at 7:30am and ends at 7:30pm, easy right ?<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Yes ! But... ?</span><br />
<br />
<img src="http://puu.sh/nEZmp/127da6232e.png" loading="lazy"  alt="[Image: 127da6232e.png]" class="mycode_img" /><br />
<br />
	I didn't explained it a lot, yes, you're right... We'll play with those events to spawn npcs, and make them perform tasks. For example, it's 7pm and you want 5 npcs start a patrol around your city ? Create the patrol and place your NPCs GUIDs in game_event_creature with the night eventID.<br />
<br />
Complicated ? Wait...<br />
<br />
Even before all, why you should do this? To give attractiveness to your areas, an active city with NPCs who move helps immersion, more than stucked NPCs all day.<br />
<br />
Let's start with one NPC, we'll make him appears and disappears following our events.<br />
<br />
We need to open <span style="font-weight: bold;" class="mycode_b">game_event_creature</span>. <a href="https://trinitycore.atlassian.net/wiki/display/tc/game_event_creature" target="_blank" rel="noopener" class="mycode_url">Structure of game_event_creature</a><br />
<br />
<img src="http://puu.sh/lf8lu/de46951c14.jpg" loading="lazy"  alt="[Image: de46951c14.jpg]" class="mycode_img" /><br />
<br />
							My NPC GUID is 2019864.<br />
<br />
							So, in the second column, I write 2019864.<br />
<br />
							When my server is restarted, my NPC won't be visible during my "Day" event, because I choose to show him only at night (with event 25).<br />
<br />
Going back to my patrol's idea.<br />
<br />
For this tutorial, I'll use only one NPC (I'm too lazy to create a full patrol <img src="https://www.wowmodding.net/uploads/emoticons/sad.png" loading="lazy"  alt="[Image: sad.png]" class="mycode_img" /> )<br />
<br />
What is he going to do ? At the time of night event, He will appear and begin to follow a waypoint path (I hope you know how to make a waypoint path) with SmartAI.<br />
<br />
							Here is Herigran Cayton.<br />
<br />
<img src="http://puu.sh/lf8ur/807f4c7130.jpg" loading="lazy"  alt="[Image: 807f4c7130.jpg]" class="mycode_img" /><br />
<br />
							Herigran works all day, but when night comes, he becomes... Batm... No, he just goes home and sleep.<br />
<br />
							So it's time to help him to starts his path when it's 7:30pm. Open SAI Editor.<br />
<br />
When you'll befinished setting up the software and found your creature's ID, you'll do this :<br />
<br />
<img src="http://puu.sh/lf8zZ/6a9550c127.png" loading="lazy"  alt="[Image: 6a9550c127.png]" class="mycode_img" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Explanations : </span><br />
<br />
							First part : EVENT_GAME_EVENT_START<br />
<br />
							"When event starts"<br />
<br />
							Second part : ACTION_WP_START<br />
<br />
							"Start waypoint path"<br />
<br />
							Third part : TARGET_SELF<br />
<br />
							"On yourself."<br />
<br />
							When all of this settings are selected, the "parameters" parts update themselves (it's a king of magic ♫).<br />
<br />
To better clarify the situation, you need to know Herigran's ID is 60077 and his waypoint path ID is 60077 too and this path is situated in <span style="font-weight: bold;" class="mycode_b">waypoints_data. </span>When you create a waypoint path with TrinityCore (same for Mangos) every point is added in <span style="font-weight: bold;" class="mycode_b">waypoints</span>, so, it means you <span style="font-weight: bold;" class="mycode_b">MUST </span>move your waypoints from <span style="font-weight: bold;" class="mycode_b">waypoints</span> to <span style="font-weight: bold;" class="mycode_b">waypoints_data </span>(be careful, the structure is different).<br />
<br />
Well, we know Herigran starts his path at night,  in technical language it gives :<br />
<br />
<span style="font-style: italic;" class="mycode_i">"When event 25 starts, Creature 60077 starts her waypoints path 60077 on herself."</span><br />
<br />
							And you'll see him starts his path at 7:30pm BUT ! Problem. He won't move when night will end and day will start.<br />
<br />
							We will continue to use only our night event. if a EVENT_GAME_EVENT_START condition exists, a EVENT_GAME_EVENT_END condition exists too !<br />
<br />
							Herigran will do the reverted path we did for him before, actually we can't just make him follow the same path, you'll have to do an inverted one, let's call it waypoint 60078 (60077 arena =&gt; home, 60078 home =&gt; arena)<br />
<br />
							you can choose the same points you set before, just invert them, waypoint 1 becomes waypoint 30, waypoint 2 becomes waypoint 29...<br />
<br />
							Technical language :<br />
<br />
<span style="font-style: italic;" class="mycode_i">"When event 25 ends, Creature 60077 starts her waypoints path 60078 on herself."</span><br />
<br />
							And tomorrow I'll see Herigran working in his office !<br />
<br />
							I know I used less images for this part, feel free to ask if you need one or two, I'll update my post !<br />
<br />
							I give you my SmartAI script (from Herigran) it could be useful or not ^^<br />
<br />
-- Herigran Cayton SAI<br />
SET @ENTRY := 60077;<br />
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;<br />
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;<br />
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES<br />
(@ENTRY,0,0,0,68,0,100,0,25,0,0,0,53,0,60077,0,0,0,0,1,0,0,0,0,0,0,0,"Herigran Cayton - On Game Event 25 Started - Start Waypoint"),<br />
(@ENTRY,0,1,0,69,0,100,0,25,0,0,0,53,0,60078,0,0,0,0,1,0,0,0,0,0,0,0,"Herigran Cayton - On Game Event 25 Ended - Start Waypoint");<br />
<br />
							Here is one example you can do with SmartAI and events, you want more ideas ?<br />
<br />
							I'm working on Elwynn today, I'll make more wolves and thieves and at night, you'll meet more thieves, but at day, more wolves, only with everything I explained here ! The only limitation is your imagination <img src="https://www.wowmodding.net/uploads/emoticons/smile.png" loading="lazy"  alt="[Image: smile.png]" class="mycode_img" /><br />
<br />
							Have fun guys !]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Summary</span><ul class="mycode_list"><li>Introduction<br />
<br />
</li>
<li>Required tools<br />
<br />
</li>
<li>Day and Night<br />
<br />
</li>
<li>Useless or .. Useful ?<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">SATURDAY NIGHT FEVER</span><br />
<br />
	Hi people, today, as you can see, we will create two events, play with SmartAI, find a link between our events and SmartAI... Yes, we will create an event that starts at a time of day and ends at another, and an other will takes place to complete our empty time slot.<br />
<br />
	And... our NPCS will react with those two events !<br />
<br />
<a href="https://www.youtube.com/embed/YFjHJPUwhps?feature=oembed" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/embed/YFjHJPUwhp...ure=oembed</a><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Looks like it's time to gear up !</span><ul class="mycode_list"><li>Navicat MySQL, PHPMyAdmin, SQLYog, HeidiSQL (the software one, not the little girl), any SQL editor you love !<br />
<br />
</li>
<li>Your WoW client<br />
<br />
</li>
<li>SAI Editor (WAIT ! Why we'll use a software ? Because... I am lazy.)<br />
</li>
</ul>
	Actually I use SAIEditor 1.4.3, they did an update recently but I don't like it so much, something change and I allow only one thing to change...<br />
<br />
<img src="https://45.media.tumblr.com/65773811c8233d9afe907767b0f39da8/tumblr_nv08t2DeVS1qiulxoo1_400.gif" loading="lazy"  alt="[Image: tumblr_nv08t2DeVS1qiulxoo1_400.gif]" class="mycode_img" /><br />
<br />
	Here is the 1.4.3 version : <a href="http://www.mediafire.com/download/tymxj4231uupa3x/SAI-Editor+1.4.3.rar" target="_blank" rel="noopener" class="mycode_url">http://www.mediafire.com/download/tymxj4...+1.4.3.rar</a><br />
<br />
	It's time to go !<br />
<br />
	 <span style="font-weight: bold;" class="mycode_b">Day and Night</span><br />
<br />
	First, we need <span style="font-weight: bold;" class="mycode_b">game_event</span>. <a href="https://trinitycore.atlassian.net/wiki/display/tc/game_event" target="_blank" rel="noopener" class="mycode_url">Structure of game_event</a><br />
<br />
From there, create your events, here's mine :<br />
<br />
<img src="http://puu.sh/lf7Cm/5803562785.png" loading="lazy"  alt="[Image: 5803562785.png]" class="mycode_img" /><br />
<br />
	(Nuit means Night in French)<br />
<br />
	Night will start at 7:30pm and ends at 7:30am, Day will start at 7:30am and ends at 7:30pm, easy right ?<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Yes ! But... ?</span><br />
<br />
<img src="http://puu.sh/nEZmp/127da6232e.png" loading="lazy"  alt="[Image: 127da6232e.png]" class="mycode_img" /><br />
<br />
	I didn't explained it a lot, yes, you're right... We'll play with those events to spawn npcs, and make them perform tasks. For example, it's 7pm and you want 5 npcs start a patrol around your city ? Create the patrol and place your NPCs GUIDs in game_event_creature with the night eventID.<br />
<br />
Complicated ? Wait...<br />
<br />
Even before all, why you should do this? To give attractiveness to your areas, an active city with NPCs who move helps immersion, more than stucked NPCs all day.<br />
<br />
Let's start with one NPC, we'll make him appears and disappears following our events.<br />
<br />
We need to open <span style="font-weight: bold;" class="mycode_b">game_event_creature</span>. <a href="https://trinitycore.atlassian.net/wiki/display/tc/game_event_creature" target="_blank" rel="noopener" class="mycode_url">Structure of game_event_creature</a><br />
<br />
<img src="http://puu.sh/lf8lu/de46951c14.jpg" loading="lazy"  alt="[Image: de46951c14.jpg]" class="mycode_img" /><br />
<br />
							My NPC GUID is 2019864.<br />
<br />
							So, in the second column, I write 2019864.<br />
<br />
							When my server is restarted, my NPC won't be visible during my "Day" event, because I choose to show him only at night (with event 25).<br />
<br />
Going back to my patrol's idea.<br />
<br />
For this tutorial, I'll use only one NPC (I'm too lazy to create a full patrol <img src="https://www.wowmodding.net/uploads/emoticons/sad.png" loading="lazy"  alt="[Image: sad.png]" class="mycode_img" /> )<br />
<br />
What is he going to do ? At the time of night event, He will appear and begin to follow a waypoint path (I hope you know how to make a waypoint path) with SmartAI.<br />
<br />
							Here is Herigran Cayton.<br />
<br />
<img src="http://puu.sh/lf8ur/807f4c7130.jpg" loading="lazy"  alt="[Image: 807f4c7130.jpg]" class="mycode_img" /><br />
<br />
							Herigran works all day, but when night comes, he becomes... Batm... No, he just goes home and sleep.<br />
<br />
							So it's time to help him to starts his path when it's 7:30pm. Open SAI Editor.<br />
<br />
When you'll befinished setting up the software and found your creature's ID, you'll do this :<br />
<br />
<img src="http://puu.sh/lf8zZ/6a9550c127.png" loading="lazy"  alt="[Image: 6a9550c127.png]" class="mycode_img" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Explanations : </span><br />
<br />
							First part : EVENT_GAME_EVENT_START<br />
<br />
							"When event starts"<br />
<br />
							Second part : ACTION_WP_START<br />
<br />
							"Start waypoint path"<br />
<br />
							Third part : TARGET_SELF<br />
<br />
							"On yourself."<br />
<br />
							When all of this settings are selected, the "parameters" parts update themselves (it's a king of magic ♫).<br />
<br />
To better clarify the situation, you need to know Herigran's ID is 60077 and his waypoint path ID is 60077 too and this path is situated in <span style="font-weight: bold;" class="mycode_b">waypoints_data. </span>When you create a waypoint path with TrinityCore (same for Mangos) every point is added in <span style="font-weight: bold;" class="mycode_b">waypoints</span>, so, it means you <span style="font-weight: bold;" class="mycode_b">MUST </span>move your waypoints from <span style="font-weight: bold;" class="mycode_b">waypoints</span> to <span style="font-weight: bold;" class="mycode_b">waypoints_data </span>(be careful, the structure is different).<br />
<br />
Well, we know Herigran starts his path at night,  in technical language it gives :<br />
<br />
<span style="font-style: italic;" class="mycode_i">"When event 25 starts, Creature 60077 starts her waypoints path 60077 on herself."</span><br />
<br />
							And you'll see him starts his path at 7:30pm BUT ! Problem. He won't move when night will end and day will start.<br />
<br />
							We will continue to use only our night event. if a EVENT_GAME_EVENT_START condition exists, a EVENT_GAME_EVENT_END condition exists too !<br />
<br />
							Herigran will do the reverted path we did for him before, actually we can't just make him follow the same path, you'll have to do an inverted one, let's call it waypoint 60078 (60077 arena =&gt; home, 60078 home =&gt; arena)<br />
<br />
							you can choose the same points you set before, just invert them, waypoint 1 becomes waypoint 30, waypoint 2 becomes waypoint 29...<br />
<br />
							Technical language :<br />
<br />
<span style="font-style: italic;" class="mycode_i">"When event 25 ends, Creature 60077 starts her waypoints path 60078 on herself."</span><br />
<br />
							And tomorrow I'll see Herigran working in his office !<br />
<br />
							I know I used less images for this part, feel free to ask if you need one or two, I'll update my post !<br />
<br />
							I give you my SmartAI script (from Herigran) it could be useful or not ^^<br />
<br />
-- Herigran Cayton SAI<br />
SET @ENTRY := 60077;<br />
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;<br />
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;<br />
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES<br />
(@ENTRY,0,0,0,68,0,100,0,25,0,0,0,53,0,60077,0,0,0,0,1,0,0,0,0,0,0,0,"Herigran Cayton - On Game Event 25 Started - Start Waypoint"),<br />
(@ENTRY,0,1,0,69,0,100,0,25,0,0,0,53,0,60078,0,0,0,0,1,0,0,0,0,0,0,0,"Herigran Cayton - On Game Event 25 Ended - Start Waypoint");<br />
<br />
							Here is one example you can do with SmartAI and events, you want more ideas ?<br />
<br />
							I'm working on Elwynn today, I'll make more wolves and thieves and at night, you'll meet more thieves, but at day, more wolves, only with everything I explained here ! The only limitation is your imagination <img src="https://www.wowmodding.net/uploads/emoticons/smile.png" loading="lazy"  alt="[Image: smile.png]" class="mycode_img" /><br />
<br />
							Have fun guys !]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] [Tutorial] Add Launcher & Patcher Support For Your Server]]></title>
			<link>https://elijahketchersid.com/forums/thread-214.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-214.html</guid>
			<description><![CDATA[Add Launcher &amp; Patcher Support<br />
<br />
<a href="https://www.wowmodding.net/files/file/77-multi-launcher-patcher/?do=embed" target="_blank" rel="noopener" class="mycode_url">https://www.wowmodding.net/files/file/77.../?do=embed</a><br />
<br />
<img src="http://i.imgur.com/g4eRkg3.png" loading="lazy"  alt="[Image: g4eRkg3.png]" class="mycode_img" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Core Features</span><br />
<br />
		Download your server patches automatically<br />
<br />
		Automate server joining process<br />
<br />
		Keep patches up to date<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tutorial</span><br />
<br />
<img src="http://waloria.com/gifs/setup-adminsuite.gif" loading="lazy"  alt="[Image: setup-adminsuite.gif]" class="mycode_img" /><br />
<br />
		1. Fill in your server's name<br />
<br />
		2. Fill in your server website's URL (i.e <a href="https://www.wowmodding.net/%7Boption%7D" target="_blank" rel="noopener" class="mycode_url">www.waloria.com</a>, waloria.com or <a href="https://www.wowmodding.net/%7Boption%7D" target="_blank" rel="noopener" class="mycode_url">http://waloria.com</a>)<br />
<br />
		3. Select the correct version<br />
<br />
		4. Enter the name of the remote directory where patchfiles will be found (i.e downloads)<br />
<br />
		5. Enter the name of the remote directory where the download folder with patches is located (i.e downloads)<br />
<br />
		6. Fill in your server's realmlist<br />
<br />
		7. Click Generate<br />
<br />
		8. Click configure patches<br />
<br />
		9. Click select patches<br />
<br />
		10. Select all the patches that the server should automatically download<br />
<br />
		11. Click configure<br />
<br />
		12. Open application's folder<br />
<br />
		13. Transfer the server.dat to your website's root directory (i.e waloria.com/)<br />
<br />
		14. Transfer the patchfile.dat to your remote download directory<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Result - How To Patch, Connect &amp; Play</span><br />
<br />
<img src="http://waloria.com/gifs/result-adminsuite.gif" loading="lazy"  alt="[Image: result-adminsuite.gif]" class="mycode_img" /><br />
<br />
		Thanks for following my tutorial and I do hope you find use for the launcher - it should make it easier for you to distribute your server's patches and keep your player's clients up to date. Please tell me what you think, I'd love to hear your opinions! <img src="https://www.wowmodding.net/uploads/emoticons/smile.png" loading="lazy"  alt="[Image: smile.png]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[Add Launcher &amp; Patcher Support<br />
<br />
<a href="https://www.wowmodding.net/files/file/77-multi-launcher-patcher/?do=embed" target="_blank" rel="noopener" class="mycode_url">https://www.wowmodding.net/files/file/77.../?do=embed</a><br />
<br />
<img src="http://i.imgur.com/g4eRkg3.png" loading="lazy"  alt="[Image: g4eRkg3.png]" class="mycode_img" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Core Features</span><br />
<br />
		Download your server patches automatically<br />
<br />
		Automate server joining process<br />
<br />
		Keep patches up to date<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tutorial</span><br />
<br />
<img src="http://waloria.com/gifs/setup-adminsuite.gif" loading="lazy"  alt="[Image: setup-adminsuite.gif]" class="mycode_img" /><br />
<br />
		1. Fill in your server's name<br />
<br />
		2. Fill in your server website's URL (i.e <a href="https://www.wowmodding.net/%7Boption%7D" target="_blank" rel="noopener" class="mycode_url">www.waloria.com</a>, waloria.com or <a href="https://www.wowmodding.net/%7Boption%7D" target="_blank" rel="noopener" class="mycode_url">http://waloria.com</a>)<br />
<br />
		3. Select the correct version<br />
<br />
		4. Enter the name of the remote directory where patchfiles will be found (i.e downloads)<br />
<br />
		5. Enter the name of the remote directory where the download folder with patches is located (i.e downloads)<br />
<br />
		6. Fill in your server's realmlist<br />
<br />
		7. Click Generate<br />
<br />
		8. Click configure patches<br />
<br />
		9. Click select patches<br />
<br />
		10. Select all the patches that the server should automatically download<br />
<br />
		11. Click configure<br />
<br />
		12. Open application's folder<br />
<br />
		13. Transfer the server.dat to your website's root directory (i.e waloria.com/)<br />
<br />
		14. Transfer the patchfile.dat to your remote download directory<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Result - How To Patch, Connect &amp; Play</span><br />
<br />
<img src="http://waloria.com/gifs/result-adminsuite.gif" loading="lazy"  alt="[Image: result-adminsuite.gif]" class="mycode_img" /><br />
<br />
		Thanks for following my tutorial and I do hope you find use for the launcher - it should make it easier for you to distribute your server's patches and keep your player's clients up to date. Please tell me what you think, I'd love to hear your opinions! <img src="https://www.wowmodding.net/uploads/emoticons/smile.png" loading="lazy"  alt="[Image: smile.png]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Extracting maps, vmaps, mmaps]]></title>
			<link>https://elijahketchersid.com/forums/thread-213.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-213.html</guid>
			<description><![CDATA[There are actually quite a lot of people who keep having problems just because of either outdated server side maps, or because they can't extract them with modified client properly. So, I've written this tutorial. I know that my way of doing this thing may be rather unclean and someone might point out that those are not things one is supposed to do, BUT they prevent from happening absolutely all kinds of errors and mistakes I've ever encountered so far. TC extractors seem to be not very well written for modded clients, at least they used to be very bad whenever it came to extracting custom stuff.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">1 - What are they for?</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">maps</span> - Maps are here to let server know where are map tiles and which area IDs are on them (and where). Its possible that they contain even more data (I honestly don't know), but this is the most important basics we commonly need maps for.<br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">vmaps</span> - Vector maps are here mostly to let server know where are WMOs and their interiors. This gives server possibility to prevent NPCs from attacking players they clearly can't see, for example, NPCs from building's basement won't attack player when he's just going around building. They are just optional, but highly recommended to have.<br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">mmaps</span> - Movement maps are here to give server information about collisions, so it can make NPCs move in optimal cases only though paths which would be reachable by player as well. So, basically, instead of just jumping on 10yd high rock, they try to find a way up on it. Again, optional, but in most cases good to have.<br />
</li>
</ul>
	So, in general, when you don't have up-to-date map files for your custom zones, NPCs can behave in a really buggy and weird way, but what also can't work properly are custom graveyards, fishing loots, who lists, general chats and more area based stuff like that.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">2 - Getting extractors</span><br />
<br />
	First of all, determine, which maps you want to have on your server. Only maps are really essential, vmaps and mmaps are optional. All 3 maps can be about 2,5-2,7GB big, if you choose to use just maps, they will get much smaller. If you are using repack, you most likely get extractors (or otherwise it sucks even more hard, than most of repacks do) with it. If you've compiled your own core, you should be able to find extractors in folder to which your server binaries were generated. You should get mapextractor.exe, mmaps_generator.exe, vmap4extractor.exe, vmap4assembler.exe from there.<br />
<br />
	If you use a repack and don't have extractors there, find another repack or compile your own core. Using extractors from different revisions of TC might work for you, but it also may not and I can't recommend you to do so. If you have compiled your own core and you don't have extractors, you have most likely disabled their compilation in CMake. Enable them there (they are usually in TOOLS) and re-compile your TC.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">3 - Preparation</span><br />
<br />
	I highly recommend to copy your WoW client and make client which will serve only for extracting server side stuff. We'll kinda break some things here and our modified client might even stop working. Otherwise at least make backups of all MPQ's you will edit.<br />
<br />
	Put all 4 extractors into WoW's root directory (where WoW.exe is located). Go to your Data directory. Make sure there are only following MPQs: common, common-2, expansion, lichking, patch, patch-2, patch-3. Delete (or move out) all other (custom) MPQs you may have there.<br />
<br />
	Now, normally you should be able to put your stuff into patch-4, but I've already encountered situation when extractors cleverly detected my client as WotLK client and happily ignored patch-4. So, I would recommend you to put all your custom stuff (models, ADTs, WDTs, everything you have in your custom patches) into patch-3. If you are going to use patch-3.mpq, open it and go to Operations menu, choose Change Hash Table Size and increase it to maximum. Otherwise your stuff likely won't fit in it.<br />
<br />
	There's one more thing you need to do here, in case you have edited any blizzlike maps. What I've encountered in past was that extractors were using blizzlike WDT files (and ADTs in them), while completely ignoring my own custom version of that WDT saved in patch-3. Having multiple versions of map in different MPQs also led commonly to extracting data from outdated versions. So, to make really absolutely sure that extractors will actually read your and not blizzlike stuff and stuff which is up-to-date, you need to do one of the following, depending on what kind of edits you did. If you have...:<ul class="mycode_list"><li>... only edited a few ADTs of a continent, just place them into World/Maps/(mapname)/ folder into MPQ where blizzlike version of those ADTs is.<br />
<br />
</li>
<li>... edited WDT of that continent to make it bigger/smaller, extract all blizzlike ADTs and WDT of that continent, delete them from blizzlike MPQs, merge them with your custom and edited ones, delete any ADTs you have deleted if you have deleted any from original map (so you will make one big folder with ALL data of that map which is up-to-date, with both unedited ADTs and all ADTs you have edited) and put it into patch-3.<br />
<br />
</li>
<li>... completely deleted all data of some blizzlike map to make wholly new one on its ID, just delete all blizzlike files of that map (even if blizzlike version was in patch-3 itself!), put yours into patch-3 and you're done.<br />
</li>
</ul>
	The last thing you need to do is to go to your locale folder in Data folder (enGB, enUS, ruRU, deDE... whatever you have) and open the second last locale MPQ there (patch-enGB-3, patch-enUS-3...). Put all your edited DBCs into its DBFilesClient folder.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">4 - Extraction itself</span><br />
<br />
	Go to WoW's root folder, open Wordpad and enter into it the following:<br />
<br />
vmap4extractor.exe<br />
md vmaps<br />
md mmaps<br />
vmap4assembler.exe Buildings vmaps<br />
pause<br />
<br />
	Save it as whatever with .bat extension, like "extract_vmaps.bat" into WoW's root folder. Now run mapextractor.exe. When its done, run your .bat file you have created. When that is done, run mmapextractor.exe. Ofc, if you don't want to use mmaps or even vmaps at all, skip last or last two steps.<br />
<br />
	If this is not the first time you are creating server-side maps (you are re-generating/updating them), I HIGHLY recommend deleting ALL old server-side maps and completely replacing them with new ones, so no old files remain there.<br />
<br />
	Thats all, copy/upload your maps, vmaps and mmaps folders to your server's data folder and everything should work fine and be up-to-date.<br />
<br />
	A little note: the newest version of TC2 seems to be working with some new server side files, called cameras. They are supposed to be extracted with maps. If thats what your extractor's have created, just put them into server's data folder as well ofc.]]></description>
			<content:encoded><![CDATA[There are actually quite a lot of people who keep having problems just because of either outdated server side maps, or because they can't extract them with modified client properly. So, I've written this tutorial. I know that my way of doing this thing may be rather unclean and someone might point out that those are not things one is supposed to do, BUT they prevent from happening absolutely all kinds of errors and mistakes I've ever encountered so far. TC extractors seem to be not very well written for modded clients, at least they used to be very bad whenever it came to extracting custom stuff.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">1 - What are they for?</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">maps</span> - Maps are here to let server know where are map tiles and which area IDs are on them (and where). Its possible that they contain even more data (I honestly don't know), but this is the most important basics we commonly need maps for.<br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">vmaps</span> - Vector maps are here mostly to let server know where are WMOs and their interiors. This gives server possibility to prevent NPCs from attacking players they clearly can't see, for example, NPCs from building's basement won't attack player when he's just going around building. They are just optional, but highly recommended to have.<br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">mmaps</span> - Movement maps are here to give server information about collisions, so it can make NPCs move in optimal cases only though paths which would be reachable by player as well. So, basically, instead of just jumping on 10yd high rock, they try to find a way up on it. Again, optional, but in most cases good to have.<br />
</li>
</ul>
	So, in general, when you don't have up-to-date map files for your custom zones, NPCs can behave in a really buggy and weird way, but what also can't work properly are custom graveyards, fishing loots, who lists, general chats and more area based stuff like that.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">2 - Getting extractors</span><br />
<br />
	First of all, determine, which maps you want to have on your server. Only maps are really essential, vmaps and mmaps are optional. All 3 maps can be about 2,5-2,7GB big, if you choose to use just maps, they will get much smaller. If you are using repack, you most likely get extractors (or otherwise it sucks even more hard, than most of repacks do) with it. If you've compiled your own core, you should be able to find extractors in folder to which your server binaries were generated. You should get mapextractor.exe, mmaps_generator.exe, vmap4extractor.exe, vmap4assembler.exe from there.<br />
<br />
	If you use a repack and don't have extractors there, find another repack or compile your own core. Using extractors from different revisions of TC might work for you, but it also may not and I can't recommend you to do so. If you have compiled your own core and you don't have extractors, you have most likely disabled their compilation in CMake. Enable them there (they are usually in TOOLS) and re-compile your TC.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">3 - Preparation</span><br />
<br />
	I highly recommend to copy your WoW client and make client which will serve only for extracting server side stuff. We'll kinda break some things here and our modified client might even stop working. Otherwise at least make backups of all MPQ's you will edit.<br />
<br />
	Put all 4 extractors into WoW's root directory (where WoW.exe is located). Go to your Data directory. Make sure there are only following MPQs: common, common-2, expansion, lichking, patch, patch-2, patch-3. Delete (or move out) all other (custom) MPQs you may have there.<br />
<br />
	Now, normally you should be able to put your stuff into patch-4, but I've already encountered situation when extractors cleverly detected my client as WotLK client and happily ignored patch-4. So, I would recommend you to put all your custom stuff (models, ADTs, WDTs, everything you have in your custom patches) into patch-3. If you are going to use patch-3.mpq, open it and go to Operations menu, choose Change Hash Table Size and increase it to maximum. Otherwise your stuff likely won't fit in it.<br />
<br />
	There's one more thing you need to do here, in case you have edited any blizzlike maps. What I've encountered in past was that extractors were using blizzlike WDT files (and ADTs in them), while completely ignoring my own custom version of that WDT saved in patch-3. Having multiple versions of map in different MPQs also led commonly to extracting data from outdated versions. So, to make really absolutely sure that extractors will actually read your and not blizzlike stuff and stuff which is up-to-date, you need to do one of the following, depending on what kind of edits you did. If you have...:<ul class="mycode_list"><li>... only edited a few ADTs of a continent, just place them into World/Maps/(mapname)/ folder into MPQ where blizzlike version of those ADTs is.<br />
<br />
</li>
<li>... edited WDT of that continent to make it bigger/smaller, extract all blizzlike ADTs and WDT of that continent, delete them from blizzlike MPQs, merge them with your custom and edited ones, delete any ADTs you have deleted if you have deleted any from original map (so you will make one big folder with ALL data of that map which is up-to-date, with both unedited ADTs and all ADTs you have edited) and put it into patch-3.<br />
<br />
</li>
<li>... completely deleted all data of some blizzlike map to make wholly new one on its ID, just delete all blizzlike files of that map (even if blizzlike version was in patch-3 itself!), put yours into patch-3 and you're done.<br />
</li>
</ul>
	The last thing you need to do is to go to your locale folder in Data folder (enGB, enUS, ruRU, deDE... whatever you have) and open the second last locale MPQ there (patch-enGB-3, patch-enUS-3...). Put all your edited DBCs into its DBFilesClient folder.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">4 - Extraction itself</span><br />
<br />
	Go to WoW's root folder, open Wordpad and enter into it the following:<br />
<br />
vmap4extractor.exe<br />
md vmaps<br />
md mmaps<br />
vmap4assembler.exe Buildings vmaps<br />
pause<br />
<br />
	Save it as whatever with .bat extension, like "extract_vmaps.bat" into WoW's root folder. Now run mapextractor.exe. When its done, run your .bat file you have created. When that is done, run mmapextractor.exe. Ofc, if you don't want to use mmaps or even vmaps at all, skip last or last two steps.<br />
<br />
	If this is not the first time you are creating server-side maps (you are re-generating/updating them), I HIGHLY recommend deleting ALL old server-side maps and completely replacing them with new ones, so no old files remain there.<br />
<br />
	Thats all, copy/upload your maps, vmaps and mmaps folders to your server's data folder and everything should work fine and be up-to-date.<br />
<br />
	A little note: the newest version of TC2 seems to be working with some new server side files, called cameras. They are supposed to be extracted with maps. If thats what your extractor's have created, just put them into server's data folder as well ofc.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Enable X race X class Cata(+?)]]></title>
			<link>https://elijahketchersid.com/forums/thread-212.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-212.html</guid>
			<description><![CDATA[Hi, this is a tutorial I made because of the lacking info and general stagnation in this modding area post WotLK. I still haven't set up a MoP, WoD or Legion client so not sure but I'm thinking the process should be the same or similar. I'm not aware of any all race all class patches around other then 335a ones, so if anyone tries this at higher branches let me know if it worked.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">DBC</span><br />
<br />
	So in 4.3.4. you still need to change only these 2 DBCs:<br />
<br />
	CharBaseInfo.dbc<br />
<br />
	CharStartOutfit.dbc<br />
<br />
	We'll be using <a href="http://modcraft.superparanoid.de/viewtopic.php?f=59&amp;t=10692" target="_blank" rel="noopener" class="mycode_url">WDBX Editor</a> for both, CharBaseInfo.dbc - 'load definition' choose WoD and use the wiki for values.<br />
<a href="https://trinitycore.atlassian.net/wiki/display/tc/ChrRaces" target="_blank" rel="noopener" class="mycode_url">https://trinitycore.atlassian.net/wiki/d...c/ChrRaces</a><br />
<a href="https://trinitycore.atlassian.net/wiki/display/tc/ChrClasses" target="_blank" rel="noopener" class="mycode_url">https://trinitycore.atlassian.net/wiki/d...ChrClasses</a><br />
<br />
	In CharStartOutfit.dbc you have race,class,sex and starter gear item IDs, just double check files after WDBX save not sure but I think I had to resave changes twice there.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SQL</span><br />
<br />
	After you're done with DBCs you need to change the SQLs so start up your MySQL server and open your preferred tool Heidi/SQLyog/workbench then go world-table. Change these tables:<br />
<br />
<span style="font-style: italic;" class="mycode_i">player_levelstats<br />
	playercreateinfo<br />
	playercreateinfo_action</span><br />
<br />
	Note on <span style="font-style: italic;" class="mycode_i">player_levelstats</span> it could possibly already have your custom race-class characters inside, so browse thru its table data and make sure. I'm noting this bc the other day while I was setting all this up and creating my first custom class/race I kept getting the SQL error duplicate key and all the time my character actually had its stats there but they can be arranged really weird. Like my char had stats from level 10 to 85(missing first 9 levels that I've added), or the level 80-85 stats are placed way back at the end.<br />
<br />
	There are more playercreate.. tables my character didn't need editing those(UD pala), but if you're making a hunter or other classes browse them all.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">MPQ</span><br />
<br />
	Once you done that, all that is left is packing your 2 DBCs in a MPQ making a patch and adding it to wow/data/.. Name it appropriately like <span style="font-style: italic;" class="mycode_i">wow-update-base-28792.mpq</span> something, restart your server and check it out. Then maybe you'll be able to make your second class peasant gorlock mud splasher characters. That can never be glorious like my UD pala Champion of the hack <a href="https://gyazo.com/8913bbf09f12bb16a3333dee8acc9d3c" target="_blank" rel="noopener" class="mycode_url">https://gyazo.com/8913bbf09f12bb16a3333dee8acc9d3c</a> first X class-race combo that the universe has seen since WotLK, finished creating him yesterday he was the test bunny <img src="https://www.wowmodding.net/uploads/emoticons/tongue.png" loading="lazy"  alt="[Image: tongue.png]" class="mycode_img" /><br />
<br />
	*on a much brighter note I haven't done too much testing with him but seems he's really not having any problems like the WotLK hacked characters language,talents,spells etc. probably due to Cata enabling new race class combos by default so maybe its set to work better then WotLK in that regard.]]></description>
			<content:encoded><![CDATA[Hi, this is a tutorial I made because of the lacking info and general stagnation in this modding area post WotLK. I still haven't set up a MoP, WoD or Legion client so not sure but I'm thinking the process should be the same or similar. I'm not aware of any all race all class patches around other then 335a ones, so if anyone tries this at higher branches let me know if it worked.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">DBC</span><br />
<br />
	So in 4.3.4. you still need to change only these 2 DBCs:<br />
<br />
	CharBaseInfo.dbc<br />
<br />
	CharStartOutfit.dbc<br />
<br />
	We'll be using <a href="http://modcraft.superparanoid.de/viewtopic.php?f=59&amp;t=10692" target="_blank" rel="noopener" class="mycode_url">WDBX Editor</a> for both, CharBaseInfo.dbc - 'load definition' choose WoD and use the wiki for values.<br />
<a href="https://trinitycore.atlassian.net/wiki/display/tc/ChrRaces" target="_blank" rel="noopener" class="mycode_url">https://trinitycore.atlassian.net/wiki/d...c/ChrRaces</a><br />
<a href="https://trinitycore.atlassian.net/wiki/display/tc/ChrClasses" target="_blank" rel="noopener" class="mycode_url">https://trinitycore.atlassian.net/wiki/d...ChrClasses</a><br />
<br />
	In CharStartOutfit.dbc you have race,class,sex and starter gear item IDs, just double check files after WDBX save not sure but I think I had to resave changes twice there.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SQL</span><br />
<br />
	After you're done with DBCs you need to change the SQLs so start up your MySQL server and open your preferred tool Heidi/SQLyog/workbench then go world-table. Change these tables:<br />
<br />
<span style="font-style: italic;" class="mycode_i">player_levelstats<br />
	playercreateinfo<br />
	playercreateinfo_action</span><br />
<br />
	Note on <span style="font-style: italic;" class="mycode_i">player_levelstats</span> it could possibly already have your custom race-class characters inside, so browse thru its table data and make sure. I'm noting this bc the other day while I was setting all this up and creating my first custom class/race I kept getting the SQL error duplicate key and all the time my character actually had its stats there but they can be arranged really weird. Like my char had stats from level 10 to 85(missing first 9 levels that I've added), or the level 80-85 stats are placed way back at the end.<br />
<br />
	There are more playercreate.. tables my character didn't need editing those(UD pala), but if you're making a hunter or other classes browse them all.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">MPQ</span><br />
<br />
	Once you done that, all that is left is packing your 2 DBCs in a MPQ making a patch and adding it to wow/data/.. Name it appropriately like <span style="font-style: italic;" class="mycode_i">wow-update-base-28792.mpq</span> something, restart your server and check it out. Then maybe you'll be able to make your second class peasant gorlock mud splasher characters. That can never be glorious like my UD pala Champion of the hack <a href="https://gyazo.com/8913bbf09f12bb16a3333dee8acc9d3c" target="_blank" rel="noopener" class="mycode_url">https://gyazo.com/8913bbf09f12bb16a3333dee8acc9d3c</a> first X class-race combo that the universe has seen since WotLK, finished creating him yesterday he was the test bunny <img src="https://www.wowmodding.net/uploads/emoticons/tongue.png" loading="lazy"  alt="[Image: tongue.png]" class="mycode_img" /><br />
<br />
	*on a much brighter note I haven't done too much testing with him but seems he's really not having any problems like the WotLK hacked characters language,talents,spells etc. probably due to Cata enabling new race class combos by default so maybe its set to work better then WotLK in that regard.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Créez vos PNJs en jeu grâce à Dress NPC !]]></title>
			<link>https://elijahketchersid.com/forums/thread-211.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-211.html</guid>
			<description><![CDATA[Coucou toi ! Aujourd'hui on va apprendre à utiliser Dress NPC by Rochet2 pour créer des PNJs qui claquent la classe en jeu !<br />
<br />
	Tout d'abord, p'tite musique pour se mettre dans le mood : <a href="http://rainymood.com/watch?v=Gf-8cEBZJNg" target="_blank" rel="noopener" class="mycode_url">Rainymood, le site qui fait pluie pluie</a><br />
<br />
.: Sommaire :.<ul class="mycode_list"><li>Introduction<br />
<br />
</li>
<li>Outils requis<br />
<br />
</li>
<li>Créer le display du PNJ<br />
<br />
</li>
<li>Créer la requête SQL du PNJ<br />
<br />
</li>
<li>Profits &#36;&#36;<br />
</li>
</ul>
.: D'abord on l'introduit... :.<br />
<br />
	Tout d'abord, il est nécessaire pour vous de comprendre une chose : Je ne vous expliquerais pas comment l'installer. C'est un .diff à appliquer dans vos sources, si vous lisez deux lignes d'anglais vous saurez le faire, dans ce tuto vous allez apprendre à utiliser <a href="http://rochet2.github.io/Dress-NPCs.html" target="_blank" rel="noopener" class="mycode_url">Dress NPC</a>.<br />
<br />
	Alors, ce truc c'est quoi ? En gros c'est un créateur de DisplayID pour PNJ, un créateur d'apparence si vous voulez. Alors pourquoi l'utiliser plutôt que de faire le truc tradi du genre blinder une DBC ou deux, créer un BLP et créer un patch ? Bah tout simplement parce que ça ne nécessite aucune de ces étapes-ci. Vous commencez à comprendre ? Des PNJs custom sans créer de MPQ, c'est une révolution.<br />
<br />
<img src="https://i.ytimg.com/vi/9aTdVwYIlYo/hqdefault.jpg" loading="lazy"  alt="[Image: hqdefault.jpg]" class="mycode_img" /><br />
<br />
	C'est bon, t'as compris l'idée ? Bravo, à ce niveau Polytech t'ouvre ses portes (mais juste ses portes d'entrées ou de conciergerie, pas de salle de classe)<br />
<br />
.: On rince les outils :.<br />
<br />
	Petite liste d'outils utiles (nécessaires même !) :<ul class="mycode_list"><li><a href="http://www.mediafire.com/file/908dnhoyqawb16l/WoWModelViewer.7z" target="_blank" rel="noopener" class="mycode_url">Wow Model Viewer</a><br />
<br />
</li>
<li>Un logiciel de gestion de DB, normalement si vous avez un peu suivi après l'installation du script de Dress NPC vous avez eu un script SQL pour créer une table dans votre World, on va notamment travailler dessus.<br />
<br />
</li>
<li>Tout simplement, un client WoW.<br />
</li>
</ul>
.: QUOI SA GUEULE ? ♫ :.<br />
<br />
	Tout d'abord on va commencer avec WoW Model Viewer, pour les habitués vous savez en quoi il consiste, on va pas s'éterniser dessus, vous le lancez et vous allez dans le dossier character à gauche et vous choisissez la race que vous voulez exploiter :v !<br />
<br />
	Aujourd'hui moi j'ai choisi un humain male. J'en profite pour dire que je vais habiller mon humain uniquement avec des fringues from TLK, parce que... Bah parce que.<br />
<br />
	Après la séance d'habillage, voici mon cobaye (oui j'utilise les models HD, oui les humains sont en release, non j'donne pas de lien, débrouillez vous) :<br />
<br />
<img src="https://puu.sh/uWhyR/381678f9a4.jpg" loading="lazy"  alt="[Image: 381678f9a4.jpg]" class="mycode_img" /><br />
<br />
	Vous l'aurez compris, grâce aux caractéristiques entrées à droite, on va se débrouiller pour que mon PNJ ressemble à ça en jeu. C'est là qu'on passe au remplissage DB.<br />
<br />
.: Je code avec le... ♫ :.<br />
<br />
	Ici, deux tables seront utilisées :<ul class="mycode_list"><li>creature_template_outfits (il s'agit de celle ajoutée par le patch de Rochet)<br />
<br />
</li>
<li>creature_template (créer le pnj, on va passer très vite dessus je vous ferais pas une création à 100% je vous dirai juste ce qu'il faut mettre)<br />
</li>
</ul>
	Tout d'abord, creature_template_outfits.<br />
<br />
	Vous le remarquerez, Rochet2 a eu l'extrême délicatesse de laisser une ligne exemple.<br />
<br />
<img src="https://puu.sh/uWhKW/50d06a47c7.png" loading="lazy"  alt="[Image: 50d06a47c7.png]" class="mycode_img" /><br />
<br />
	On décortique :<br />
<br />
	Maintenant on entre dans le vif du sujet, les fameuses caractéristiques utilisées sur WoW Model Viewer. :<ul class="mycode_list"><li>entry : c'est évident, c'est l'ID que vous utiliserez pour votre DisplayID, ici j'utiliserai 70177.<br />
<br />
</li>
<li>race : c'est clair aussi, l'ID de la race du futur pnj, ici vu que c'est un humain on met 1, si vous voulez la liste des IDs vous l'aurez <a href="https://trinitycore.atlassian.net/wiki/display/tc/ChrRaces" target="_blank" rel="noopener" class="mycode_url">ChrRaces</a> =&gt; <span style="font-weight: bold;" class="mycode_b">ATTENTION A BIEN PRENDRE L'ID ET PAS LA VALUE</span><br />
<br />
</li>
<li>class : n'ayant pas trop trop compris l'intérêt de cette colonne, on met 1.<br />
<br />
</li>
<li>gender : le sexe du pnj, 0 si c'est un monsieur, 1 si c'est une madame.<br />
</li>
</ul>
	Et voici l'habillage :<ul class="mycode_list"><li>skin : la couleur de peau, dans mon exemple : 4<br />
<br />
</li>
<li>face : le visage (face type), dans mon exemple : 2<br />
<br />
</li>
<li>hair : la coiffure, par défaut comme dans WMW la coiffure et la couleur des cheveux sont inversées, dans cette table le hair style passe avant le hair color : 1<br />
<br />
</li>
<li>haircolor : pas besoin de faire un dessin, ici 0<br />
<br />
</li>
<li>facialhair : la barbe/piercings... ici : 7<br />
</li>
</ul>
	Avant de nous lancer, on va juste se mettre d'accords sur un point, si vous utilisez un itemID (le premier nombre entre crochets) celui-ci doit être affiché en positif dans la table, en revanche si vous utilisez le DisplayID (le second nombre) il devra être précédé d'un -.<ul class="mycode_list"><li>head : la tête, dans mon exemple : -47051 (DisplayID)<br />
<br />
</li>
<li>shoulders : 0 il n'en porte pas.<br />
<br />
</li>
<li>body : 6833 (ItemID, vous comprenez maintenant je pense)<br />
<br />
</li>
<li>chest : 1486<br />
<br />
</li>
<li>waist : -16782<br />
<br />
</li>
<li>legs : 7519<br />
<br />
</li>
<li>feet : 7522<br />
<br />
</li>
<li>wrists : 0<br />
<br />
</li>
<li>hands : -10508<br />
<br />
</li>
<li>back : 0<br />
<br />
</li>
<li>tabard : 0<br />
</li>
</ul>
	A priori tout est bon, on enregistre.<br />
<br />
	Maintenant dans creature_template je vous laisse créer votre PNJ, la seule chose à faire concernant le displayID est d'écrire dans la case modelid1 ou modelid2... c'est -70177. Pourquoi le - ? Afin que le serveur fasse la distinction entre la DB et le client qui je vous le rappelle n'a subi aucune modification au cours de la création de ce DisplayID.<br />
<br />
.: *Musique badass de Man at arms* :.<br />
<br />
	Et voici mon PNJ en jeu :<br />
<br />
<img src="https://puu.sh/uWiM4/267a2d994a.jpg" loading="lazy"  alt="[Image: 267a2d994a.jpg]" class="mycode_img" /><br />
<br />
	Aucun défaut, pas de modif client, vous pouvez vous lâcher.<br />
<br />
	N'hésitez pas si ça vous amuse de montrer ce que vous avez fait en jeu, ça peut inspirer des gens qui passeront après vous.<br />
<br />
	Ce tutoriel est terminé, si vous avez des questions n'hésitez pas, si vous avez besoin de support vous savez où est la section adaptée.]]></description>
			<content:encoded><![CDATA[Coucou toi ! Aujourd'hui on va apprendre à utiliser Dress NPC by Rochet2 pour créer des PNJs qui claquent la classe en jeu !<br />
<br />
	Tout d'abord, p'tite musique pour se mettre dans le mood : <a href="http://rainymood.com/watch?v=Gf-8cEBZJNg" target="_blank" rel="noopener" class="mycode_url">Rainymood, le site qui fait pluie pluie</a><br />
<br />
.: Sommaire :.<ul class="mycode_list"><li>Introduction<br />
<br />
</li>
<li>Outils requis<br />
<br />
</li>
<li>Créer le display du PNJ<br />
<br />
</li>
<li>Créer la requête SQL du PNJ<br />
<br />
</li>
<li>Profits &#36;&#36;<br />
</li>
</ul>
.: D'abord on l'introduit... :.<br />
<br />
	Tout d'abord, il est nécessaire pour vous de comprendre une chose : Je ne vous expliquerais pas comment l'installer. C'est un .diff à appliquer dans vos sources, si vous lisez deux lignes d'anglais vous saurez le faire, dans ce tuto vous allez apprendre à utiliser <a href="http://rochet2.github.io/Dress-NPCs.html" target="_blank" rel="noopener" class="mycode_url">Dress NPC</a>.<br />
<br />
	Alors, ce truc c'est quoi ? En gros c'est un créateur de DisplayID pour PNJ, un créateur d'apparence si vous voulez. Alors pourquoi l'utiliser plutôt que de faire le truc tradi du genre blinder une DBC ou deux, créer un BLP et créer un patch ? Bah tout simplement parce que ça ne nécessite aucune de ces étapes-ci. Vous commencez à comprendre ? Des PNJs custom sans créer de MPQ, c'est une révolution.<br />
<br />
<img src="https://i.ytimg.com/vi/9aTdVwYIlYo/hqdefault.jpg" loading="lazy"  alt="[Image: hqdefault.jpg]" class="mycode_img" /><br />
<br />
	C'est bon, t'as compris l'idée ? Bravo, à ce niveau Polytech t'ouvre ses portes (mais juste ses portes d'entrées ou de conciergerie, pas de salle de classe)<br />
<br />
.: On rince les outils :.<br />
<br />
	Petite liste d'outils utiles (nécessaires même !) :<ul class="mycode_list"><li><a href="http://www.mediafire.com/file/908dnhoyqawb16l/WoWModelViewer.7z" target="_blank" rel="noopener" class="mycode_url">Wow Model Viewer</a><br />
<br />
</li>
<li>Un logiciel de gestion de DB, normalement si vous avez un peu suivi après l'installation du script de Dress NPC vous avez eu un script SQL pour créer une table dans votre World, on va notamment travailler dessus.<br />
<br />
</li>
<li>Tout simplement, un client WoW.<br />
</li>
</ul>
.: QUOI SA GUEULE ? ♫ :.<br />
<br />
	Tout d'abord on va commencer avec WoW Model Viewer, pour les habitués vous savez en quoi il consiste, on va pas s'éterniser dessus, vous le lancez et vous allez dans le dossier character à gauche et vous choisissez la race que vous voulez exploiter :v !<br />
<br />
	Aujourd'hui moi j'ai choisi un humain male. J'en profite pour dire que je vais habiller mon humain uniquement avec des fringues from TLK, parce que... Bah parce que.<br />
<br />
	Après la séance d'habillage, voici mon cobaye (oui j'utilise les models HD, oui les humains sont en release, non j'donne pas de lien, débrouillez vous) :<br />
<br />
<img src="https://puu.sh/uWhyR/381678f9a4.jpg" loading="lazy"  alt="[Image: 381678f9a4.jpg]" class="mycode_img" /><br />
<br />
	Vous l'aurez compris, grâce aux caractéristiques entrées à droite, on va se débrouiller pour que mon PNJ ressemble à ça en jeu. C'est là qu'on passe au remplissage DB.<br />
<br />
.: Je code avec le... ♫ :.<br />
<br />
	Ici, deux tables seront utilisées :<ul class="mycode_list"><li>creature_template_outfits (il s'agit de celle ajoutée par le patch de Rochet)<br />
<br />
</li>
<li>creature_template (créer le pnj, on va passer très vite dessus je vous ferais pas une création à 100% je vous dirai juste ce qu'il faut mettre)<br />
</li>
</ul>
	Tout d'abord, creature_template_outfits.<br />
<br />
	Vous le remarquerez, Rochet2 a eu l'extrême délicatesse de laisser une ligne exemple.<br />
<br />
<img src="https://puu.sh/uWhKW/50d06a47c7.png" loading="lazy"  alt="[Image: 50d06a47c7.png]" class="mycode_img" /><br />
<br />
	On décortique :<br />
<br />
	Maintenant on entre dans le vif du sujet, les fameuses caractéristiques utilisées sur WoW Model Viewer. :<ul class="mycode_list"><li>entry : c'est évident, c'est l'ID que vous utiliserez pour votre DisplayID, ici j'utiliserai 70177.<br />
<br />
</li>
<li>race : c'est clair aussi, l'ID de la race du futur pnj, ici vu que c'est un humain on met 1, si vous voulez la liste des IDs vous l'aurez <a href="https://trinitycore.atlassian.net/wiki/display/tc/ChrRaces" target="_blank" rel="noopener" class="mycode_url">ChrRaces</a> =&gt; <span style="font-weight: bold;" class="mycode_b">ATTENTION A BIEN PRENDRE L'ID ET PAS LA VALUE</span><br />
<br />
</li>
<li>class : n'ayant pas trop trop compris l'intérêt de cette colonne, on met 1.<br />
<br />
</li>
<li>gender : le sexe du pnj, 0 si c'est un monsieur, 1 si c'est une madame.<br />
</li>
</ul>
	Et voici l'habillage :<ul class="mycode_list"><li>skin : la couleur de peau, dans mon exemple : 4<br />
<br />
</li>
<li>face : le visage (face type), dans mon exemple : 2<br />
<br />
</li>
<li>hair : la coiffure, par défaut comme dans WMW la coiffure et la couleur des cheveux sont inversées, dans cette table le hair style passe avant le hair color : 1<br />
<br />
</li>
<li>haircolor : pas besoin de faire un dessin, ici 0<br />
<br />
</li>
<li>facialhair : la barbe/piercings... ici : 7<br />
</li>
</ul>
	Avant de nous lancer, on va juste se mettre d'accords sur un point, si vous utilisez un itemID (le premier nombre entre crochets) celui-ci doit être affiché en positif dans la table, en revanche si vous utilisez le DisplayID (le second nombre) il devra être précédé d'un -.<ul class="mycode_list"><li>head : la tête, dans mon exemple : -47051 (DisplayID)<br />
<br />
</li>
<li>shoulders : 0 il n'en porte pas.<br />
<br />
</li>
<li>body : 6833 (ItemID, vous comprenez maintenant je pense)<br />
<br />
</li>
<li>chest : 1486<br />
<br />
</li>
<li>waist : -16782<br />
<br />
</li>
<li>legs : 7519<br />
<br />
</li>
<li>feet : 7522<br />
<br />
</li>
<li>wrists : 0<br />
<br />
</li>
<li>hands : -10508<br />
<br />
</li>
<li>back : 0<br />
<br />
</li>
<li>tabard : 0<br />
</li>
</ul>
	A priori tout est bon, on enregistre.<br />
<br />
	Maintenant dans creature_template je vous laisse créer votre PNJ, la seule chose à faire concernant le displayID est d'écrire dans la case modelid1 ou modelid2... c'est -70177. Pourquoi le - ? Afin que le serveur fasse la distinction entre la DB et le client qui je vous le rappelle n'a subi aucune modification au cours de la création de ce DisplayID.<br />
<br />
.: *Musique badass de Man at arms* :.<br />
<br />
	Et voici mon PNJ en jeu :<br />
<br />
<img src="https://puu.sh/uWiM4/267a2d994a.jpg" loading="lazy"  alt="[Image: 267a2d994a.jpg]" class="mycode_img" /><br />
<br />
	Aucun défaut, pas de modif client, vous pouvez vous lâcher.<br />
<br />
	N'hésitez pas si ça vous amuse de montrer ce que vous avez fait en jeu, ça peut inspirer des gens qui passeront après vous.<br />
<br />
	Ce tutoriel est terminé, si vous avez des questions n'hésitez pas, si vous avez besoin de support vous savez où est la section adaptée.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] [Trinity] Adding Custom Titles]]></title>
			<link>https://elijahketchersid.com/forums/thread-210.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-210.html</guid>
			<description><![CDATA[Heyo!<br />
<br />
	First and foremost, you must have at the very least, a repack that requires you to get your own .dbc files. I use my own compiled servers, so I'm unsure if repacks extract .dbc's or not.<br />
<br />
	Anywho, let's officially begin!<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tools Needed:</span><br />
<br />
	     MyDBCEditor<br />
<br />
	     Ladrik's MPQ Editor<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step One:</span><br />
<br />
	This is the easy part, open your .dbc folder and locate a file called <span style="font-style: italic;" class="mycode_i">CharTitles.dbc</span>. Do yourself a favor and copy this .dbc and place it somewhere just in case you mess up and have to try again. Or if you want to simply "back up" and restart from scratch. I usually place mine on my Desktop.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step Two:</span><br />
<br />
	This may get complicated! I'm kidding, this is an easy tutorial that doesn't require much though. <img src="https://www.lordcraft.net/uploads/emoticons/10_wink.png" loading="lazy"  alt="[Image: 10_wink.png]" class="mycode_img" /><br />
<br />
	You're going take the <span style="font-style: italic;" class="mycode_i">CharTitles.dbc</span> and drag it onto your <span style="font-style: italic;" class="mycode_i">MyDBCEditor.exe</span>. When you've done that, it should look like this:<br />
<br />
<img src="https://www.lordcraft.net/uploads/monthly_2017_04/Untitled.png.97be745af49cae78cda4f00fa4de5e93.png" loading="lazy"  alt="[Image: Untitled.png.97be745af49cae78cda4f00fa4de5e93.png]" class="mycode_img" /><br />
<br />
	Step Three:<br />
<br />
	We're doing good so far! But here's the fun part! You'll see under ID 177 is the Wrathful Gladiator title, right? Right. Right click that, go to the option that says "copy line to..." and type in 178. This should make a copy of the Wrathful Gladiator title. Cool, right? Well, we need to change a couple of things here...<br />
<br />
	1st - Change Wrathful Gladiator %s to whatever title you want.<br />
<br />
	2nd - %s stands for "string" or in this case, a character's name. So "Wrathful Gladiator %s" would be "Wrathful Gladiator Valtorei". Put the %s wherever you need it to be.<br />
<br />
	3rd - Change the title in both locations, leave everything else alone.<br />
<br />
	4th - At the end of the line in column 37, there should be a number "142". For each title you add, increase this by one. In this case, you should make it number 143.<br />
<br />
	5th - Save it and close it!<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step Four:</span><br />
<br />
	Good job! Patch up the .dbc file, make sure it's placed in you data folder, clear your cache, and restart your server! (Make sure the updated .dbc is also in your dbc folder!)<br />
<br />
<img src="https://www.lordcraft.net/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/zTAX73T.jpg&amp;key=9766619c1d71f245bf03650532216702e24c04bd249a190898ce6c16553ab98c" loading="lazy"  alt="[Image: zTAX73T.jpg&amp;key=9766619c1d71f245bf036505...16553ab98c]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[Heyo!<br />
<br />
	First and foremost, you must have at the very least, a repack that requires you to get your own .dbc files. I use my own compiled servers, so I'm unsure if repacks extract .dbc's or not.<br />
<br />
	Anywho, let's officially begin!<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tools Needed:</span><br />
<br />
	     MyDBCEditor<br />
<br />
	     Ladrik's MPQ Editor<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step One:</span><br />
<br />
	This is the easy part, open your .dbc folder and locate a file called <span style="font-style: italic;" class="mycode_i">CharTitles.dbc</span>. Do yourself a favor and copy this .dbc and place it somewhere just in case you mess up and have to try again. Or if you want to simply "back up" and restart from scratch. I usually place mine on my Desktop.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step Two:</span><br />
<br />
	This may get complicated! I'm kidding, this is an easy tutorial that doesn't require much though. <img src="https://www.lordcraft.net/uploads/emoticons/10_wink.png" loading="lazy"  alt="[Image: 10_wink.png]" class="mycode_img" /><br />
<br />
	You're going take the <span style="font-style: italic;" class="mycode_i">CharTitles.dbc</span> and drag it onto your <span style="font-style: italic;" class="mycode_i">MyDBCEditor.exe</span>. When you've done that, it should look like this:<br />
<br />
<img src="https://www.lordcraft.net/uploads/monthly_2017_04/Untitled.png.97be745af49cae78cda4f00fa4de5e93.png" loading="lazy"  alt="[Image: Untitled.png.97be745af49cae78cda4f00fa4de5e93.png]" class="mycode_img" /><br />
<br />
	Step Three:<br />
<br />
	We're doing good so far! But here's the fun part! You'll see under ID 177 is the Wrathful Gladiator title, right? Right. Right click that, go to the option that says "copy line to..." and type in 178. This should make a copy of the Wrathful Gladiator title. Cool, right? Well, we need to change a couple of things here...<br />
<br />
	1st - Change Wrathful Gladiator %s to whatever title you want.<br />
<br />
	2nd - %s stands for "string" or in this case, a character's name. So "Wrathful Gladiator %s" would be "Wrathful Gladiator Valtorei". Put the %s wherever you need it to be.<br />
<br />
	3rd - Change the title in both locations, leave everything else alone.<br />
<br />
	4th - At the end of the line in column 37, there should be a number "142". For each title you add, increase this by one. In this case, you should make it number 143.<br />
<br />
	5th - Save it and close it!<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Step Four:</span><br />
<br />
	Good job! Patch up the .dbc file, make sure it's placed in you data folder, clear your cache, and restart your server! (Make sure the updated .dbc is also in your dbc folder!)<br />
<br />
<img src="https://www.lordcraft.net/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/zTAX73T.jpg&amp;key=9766619c1d71f245bf03650532216702e24c04bd249a190898ce6c16553ab98c" loading="lazy"  alt="[Image: zTAX73T.jpg&amp;key=9766619c1d71f245bf036505...16553ab98c]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Archive] Legion Infrastructure]]></title>
			<link>https://elijahketchersid.com/forums/thread-205.html</link>
			<pubDate>Mon, 03 Nov 2025 12:01:49 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://elijahketchersid.com/forums/member.php?action=profile&uid=1">importer</a>]]></dc:creator>
			<guid isPermaLink="false">https://elijahketchersid.com/forums/thread-205.html</guid>
			<description><![CDATA[Hello,<br />
<br />
	today I want to provide some information on how the new Infrastructure looks like. The main goal of this topic is to help new Legion modders understand how things work now. The following information only show the basics of this topic, but will cover everything you need to get you started.<br />
<br />
Please note that this is a complex topic. If you find any errors please let me know so I can fix them.<br />
<br />
<img src="https://www.wowmodding.net/uploads/monthly_2019_10/302058451_Legioninfrastructure.png.f42ba7b5fbabb59cd6a2fadb2c11cb6a.png" loading="lazy"  alt="[Image: 302058451_Legioninfrastructure.png.f42ba...11cb6a.png]" class="mycode_img" /><br />
<br />
	This Image shows every part of the new Infrastruture you need to know right now. We will now talk about every part in Detail.<br />
<br />
	1. CDN<br />
<br />
	The word CDN is often used as a false name for TACT. A CDN is the combination of TACT and webserver. Since webservers are not a Blizzard thing they are not covered here. The only thing you need to know is that for Legion a simple http based webserver is enough to host your TACT. This has changed in BFA. A CDN serves as a provider for the client to patch itself. Having a complete CDN will allow your client to complete itself by just having a WoW.exe.<br />
<br />
	2. TACT<br />
<br />
	The TACT-Files are a lage amount of files that basically replaced the MPQ files we knew. Its a modern storage that holds <span style="font-weight: bold;" class="mycode_b">ALL FILES OF EVERY LOCALIZATION. You can not only have TACT files of one localization. This is also the place where you will add custom files. Keep in mind that most files within a TACT uses FileDataIDs by now.<br />
	3. Client ant CASC<br />
	Once you connect your client to a CDN it will start downloading files for its selected configuation (e.g OS, localization,...). These files are stored in a CASC. You cannot build a TACT from a CASC. You could theoratically copy these CASC-files to another client to "patch" it but this would be a very bad way of doing things.<br />
	4. Trivia</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Your best bet for starting Legion modding is to setup your own CDN. This way you can always download a fresh client.</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">You cannot / should not add files to your client anymore like you did in early versions of Legion modding</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">You can modify your TACT using Caschost or TACTAdder</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Better make a Backup of your TACT files those are valuable</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">You can download the most recent TACt files from blizzard using BuildBackup</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Older versions of TACT are not available anymore. (But some modders do still have them around)</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">FileDataIDs usually dont change between patches and even expansions</span><br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
	today I want to provide some information on how the new Infrastructure looks like. The main goal of this topic is to help new Legion modders understand how things work now. The following information only show the basics of this topic, but will cover everything you need to get you started.<br />
<br />
Please note that this is a complex topic. If you find any errors please let me know so I can fix them.<br />
<br />
<img src="https://www.wowmodding.net/uploads/monthly_2019_10/302058451_Legioninfrastructure.png.f42ba7b5fbabb59cd6a2fadb2c11cb6a.png" loading="lazy"  alt="[Image: 302058451_Legioninfrastructure.png.f42ba...11cb6a.png]" class="mycode_img" /><br />
<br />
	This Image shows every part of the new Infrastruture you need to know right now. We will now talk about every part in Detail.<br />
<br />
	1. CDN<br />
<br />
	The word CDN is often used as a false name for TACT. A CDN is the combination of TACT and webserver. Since webservers are not a Blizzard thing they are not covered here. The only thing you need to know is that for Legion a simple http based webserver is enough to host your TACT. This has changed in BFA. A CDN serves as a provider for the client to patch itself. Having a complete CDN will allow your client to complete itself by just having a WoW.exe.<br />
<br />
	2. TACT<br />
<br />
	The TACT-Files are a lage amount of files that basically replaced the MPQ files we knew. Its a modern storage that holds <span style="font-weight: bold;" class="mycode_b">ALL FILES OF EVERY LOCALIZATION. You can not only have TACT files of one localization. This is also the place where you will add custom files. Keep in mind that most files within a TACT uses FileDataIDs by now.<br />
	3. Client ant CASC<br />
	Once you connect your client to a CDN it will start downloading files for its selected configuation (e.g OS, localization,...). These files are stored in a CASC. You cannot build a TACT from a CASC. You could theoratically copy these CASC-files to another client to "patch" it but this would be a very bad way of doing things.<br />
	4. Trivia</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Your best bet for starting Legion modding is to setup your own CDN. This way you can always download a fresh client.</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">You cannot / should not add files to your client anymore like you did in early versions of Legion modding</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">You can modify your TACT using Caschost or TACTAdder</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Better make a Backup of your TACT files those are valuable</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">You can download the most recent TACt files from blizzard using BuildBackup</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Older versions of TACT are not available anymore. (But some modders do still have them around)</span><br />
<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">FileDataIDs usually dont change between patches and even expansions</span><br />
</li>
</ul>
]]></content:encoded>
		</item>
	</channel>
</rss>