To create quest items you use SQL to implement them into your server database as it contains all the server-side content.
Assuming you are using ArcEmu you will create the quest item by executing a query into the "items" table which holds all item templates.
I'll show an example with the
http://old.wowhead.com/item=50432 quest item, which is an objectve of
http://old.wowhead.com/quest=33[spoiler:18dwvk4m]INSERT INTO `items` (
`entry`,
`class`, `subclass`, `field4`, `name1`,
`displayid`,
`quality`, `flags`, `faction`, `buyprice`, `sellprice`,
`inventorytype`,
`allowableclass`,
`allowablerace`, `itemlevel`, `requiredlevel`, `RequiredSkill`, `RequiredSkillRank`, `RequiredSpell`, `RequiredPlayerRank1`, `RequiredPlayerRank2`, `RequiredFaction`, `RequiredFactionStanding`, `Unique`, `maxcount`, `ContainerSlots`, `itemstatscount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScaledStatsDistributionId`, `ScaledStatsDistributionFlags`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `range`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`,
`bonding`, `description`, `page_id`, `page_language`, `page_material`,
`quest_id`, `lock_id`, `lock_material`, `sheathID`, `randomprop`, `randomsuffix`, `block`, `itemset`, `MaxDurability`, `ZoneNameID`, `mapid`, `bagfamily`, `TotemCategory`, `socket_color_1`, `unk201_3`, `socket_color_2`, `unk201_5`, `socket_color_3`, `unk201_7`, `socket_bonus`, `GemProperties`, `ReqDisenchantSkill`, `ArmorDamageModifier`, `existingduration`, `ItemLimitCategoryId`, `HolidayId`) VALUES (50432, 12, 0, -1, 'Diseased Wolf Pelt', 8952, 1, 0, 0, 0, 0, 0, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 4, '', 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0);[/spoiler:18dwvk4m]
Entry: Obviously the entry id of your item. Use something unique that hasnt been stored in the db already.
class: Define what type of item you are creating. Consumable/Bag/Weapon(1h Axe, 2h Sword etc.) /Gems(red,blue etc.) /Armor(cloth, leader, mail etc.) / Projectiles, mounts and any other type of items.
Since this is a quest item '12' is used. The quest item class use no subclass so you can skip that.
Displayid: The display id of your item.
Quality: 0 = Poor
1 = Common
2 = Uncommon
3 = Rare
4 = Epic
5 = Legendary
6 = Artifact
7 = Heirloom
Since all quest items is commom quality, 1 is used.
Inventorytype: 0 = Non-Equipped.
Allowablerace/class: -1 = All races/classes
Bounding: 4 = Quest Item. Other options might be, 1 for bind on equip, 2 for bind on equip, 3 for bound on use & 0 not bounding at all.
Quest_Id: This column is used if the item is starting a quest. Since this is an objective of an already started quest so 0 is used.
To link the quest item with your quest you open quests table and put the quest item entry in ReqItemId1-6, then fill the number of count of that item thats required in ReqItemCount1-6.
If you were to use tc or mangos just use their wiki, it's pretty equal and after all just use your common sense.
TC:
http://www.trinitycore.info/Item_template_tc2MaNGOS:
http://getmangos.com/wiki/Item_template(You'll see that it's barely any diffrent between tc & mangos structure)