From a3d359e1cc4f40328f898653a5cc3b9711a522e6 Mon Sep 17 00:00:00 2001 From: Yehonal Date: Sun, 17 Feb 2019 21:34:28 +0100 Subject: Import all wiki page from old wiki (links to fix) --- docs/Auth-Database.md | 12 + docs/Banned_addons.md | 8 + docs/Bountysource.md | 20 ++ docs/CMake-options.md | 9 + docs/Character-Database.md | 96 ++++++ docs/Coding-Standards.md | 33 ++ docs/Contribute.md | 85 +++++ docs/Create-a-Module.md | 119 +++++++ docs/Create-a-Script.md | 23 ++ docs/Create-a-new-Hook.md | 5 + docs/Creating-Accounts.md | 39 +++ docs/Database-Setup.md | 45 +++ docs/Database-Structure.md | 9 + docs/Dealing-with-SQL-files.md | 35 ++ docs/Directory-Structure.md | 49 +++ docs/Extract-Client-Data.md | 43 +++ docs/FAQ.md | 25 ++ docs/Hooks-Bash.md | 7 + docs/Hooks-Cmake.md | 11 + docs/How-to-ask-for-help.md | 87 +++++ ...rinityCore-commits-of-specific-code-addition.md | 43 +++ docs/How-to-spot-db-struct-diff-commits.md | 35 ++ docs/How-to-test-DB-only-changes.md | 63 ++++ docs/How-to-test-a-PR.md | 130 +++++++ ...e-performance-by-disabling-optional-features.md | 4 + docs/Install-with-Docker.md | 168 +++++++++ docs/Original-SunwellCore-Description.md | 383 +++++++++++++++++++++ docs/Previous-Version-Documentation.md | 2 + docs/Project-Versioning.md | 42 +++ docs/Remote-Access.md | 86 +++++ docs/Requirements.md | 74 ++++ docs/SQL-Versioning.md | 72 ++++ docs/Syncing-your-fork.md | 21 ++ docs/The-Modular-Structure.md | 43 +++ docs/The-Staging-Branch.md | 14 + docs/Update.md | 26 ++ docs/Upgrade-from-pre-2.0.0-to-latest-master.md | 21 ++ docs/World-Database.md | 159 +++++++++ docs/access_requirement.md | 16 + docs/account.md | 25 ++ docs/account_access.md | 7 + docs/account_banned.md | 10 + docs/account_data.md | 8 + docs/account_instance_times.md | 7 + docs/account_tutorial.md | 13 + docs/achievement_criteria_data.md | 9 + docs/achievement_dbc.md | 11 + docs/achievement_reward.md | 12 + docs/addons.md | 6 + docs/areatrigger_involvedrelation.md | 6 + docs/areatrigger_scripts.md | 6 + docs/areatrigger_tavern.md | 6 + docs/areatrigger_teleport.md | 11 + docs/arena_team.md | 19 + docs/arena_team_member.md | 12 + docs/auctionhouse.md | 14 + docs/autobroadcast.md | 8 + docs/battleground_deserters.md | 7 + docs/battleground_template.md | 17 + docs/battlemaster_entry.md | 6 + docs/broadcast_text.md | 18 + docs/bugreport.md | 7 + docs/calendar_events.md | 13 + docs/calendar_invites.md | 12 + docs/channels.md | 11 + docs/channels_bans.md | 7 + docs/channels_rights.md | 10 + docs/character_account_data.md | 8 + docs/character_achievement.md | 7 + docs/character_achievement_progress.md | 8 + docs/character_action.md | 9 + docs/character_arena_stats.md | 8 + docs/character_aura.md | 20 ++ docs/character_banned.md | 10 + docs/character_battleground_random.md | 5 + docs/character_brew_of_the_month.md | 6 + docs/character_declinedname.md | 10 + docs/character_entry_point.md | 12 + docs/character_equipmentsets.md | 29 ++ docs/character_gifts.md | 8 + docs/character_glyphs.md | 12 + docs/character_homebind.md | 10 + docs/character_instance.md | 8 + docs/character_inventory.md | 8 + docs/character_pet.md | 21 ++ docs/character_pet_declinedname.md | 11 + docs/character_queststatus.md | 18 + docs/character_queststatus_daily.md | 7 + docs/character_queststatus_monthly.md | 6 + docs/character_queststatus_rewarded.md | 7 + docs/character_queststatus_seasonal.md | 7 + docs/character_queststatus_weekly.md | 6 + docs/character_reputation.md | 8 + docs/character_skills.md | 8 + docs/character_social.md | 8 + docs/character_spell.md | 7 + docs/character_spell_cooldown.md | 9 + docs/character_stats.md | 35 ++ docs/character_talent.md | 7 + docs/characters.md | 75 ++++ docs/cheaters.md | 18 + docs/command.md | 7 + docs/conditions.md | 19 + docs/corpse.md | 22 ++ docs/creature.md | 24 ++ docs/creature_addon.md | 11 + docs/creature_classlevelstats.md | 17 + docs/creature_equip_template.md | 10 + docs/creature_formations.md | 11 + docs/creature_loot_template.md | 11 + docs/creature_model_info.md | 9 + docs/creature_onkill_reputation.md | 14 + docs/creature_questender.md | 6 + docs/creature_questitem.md | 7 + docs/creature_queststarter.md | 6 + docs/creature_respawn.md | 8 + docs/creature_summon_groups.md | 14 + docs/creature_template.md | 83 +++++ docs/creature_template_addon.md | 11 + docs/creature_template_locale.md | 9 + docs/creature_text.md | 77 +++++ docs/db_script_string.md | 14 + docs/disables.md | 10 + docs/disenchant_loot_template.md | 11 + docs/event_scripts.md | 14 + docs/exploration_basexp.md | 6 + docs/fishing_loot_template.md | 11 + docs/game_event.md | 12 + docs/game_event_arena_seasons.md | 6 + docs/game_event_battleground_holiday.md | 6 + docs/game_event_condition.md | 10 + docs/game_event_condition_save.md | 7 + docs/game_event_creature.md | 6 + docs/game_event_creature_quest.md | 7 + docs/game_event_gameobject.md | 6 + docs/game_event_gameobject_quest.md | 7 + docs/game_event_model_equip.md | 8 + docs/game_event_npc_vendor.md | 11 + docs/game_event_npcflag.md | 7 + docs/game_event_pool.md | 6 + docs/game_event_prerequisite.md | 6 + docs/game_event_quest_condition.md | 8 + docs/game_event_save.md | 7 + docs/game_event_seasonal_questrelation.md | 6 + docs/game_graveyard_zone.md | 7 + docs/game_tele.md | 11 + docs/game_weather.md | 18 + docs/gameobject.md | 21 ++ docs/gameobject_addon.md | 7 + docs/gameobject_loot_template.md | 11 + docs/gameobject_questender.md | 6 + docs/gameobject_questitem.md | 7 + docs/gameobject_queststarter.md | 6 + docs/gameobject_respawn.md | 8 + docs/gameobject_template.md | 41 +++ docs/gameobject_template_locale.md | 9 + docs/gm_subsurvey.md | 8 + docs/gm_survey.md | 10 + docs/gm_ticket.md | 24 ++ docs/gossip_menu.md | 6 + docs/gossip_menu_option.md | 15 + docs/group_member.md | 9 + docs/groups.md | 21 ++ docs/guild.md | 16 + docs/guild_bank_eventlog.md | 13 + docs/guild_bank_item.md | 8 + docs/guild_bank_right.md | 9 + docs/guild_bank_tab.md | 9 + docs/guild_eventlog.md | 11 + docs/guild_member.md | 9 + docs/guild_member_withdraw.md | 12 + docs/guild_rank.md | 9 + docs/how-to-work-with-conf-files.md | 58 ++++ docs/installation_0.x.md | 171 +++++++++ docs/installation_1.x.md | 158 +++++++++ docs/instance.md | 10 + docs/instance_encounters.md | 9 + docs/instance_reset.md | 7 + docs/instance_template.md | 8 + docs/ip2nation.md | 6 + docs/ip2nationCountries.md | 11 + docs/ip_banned.md | 9 + docs/item_enchantment_template.md | 7 + docs/item_instance.md | 18 + docs/item_loot_storage.md | 9 + docs/item_loot_template.md | 11 + docs/item_refund_instance.md | 8 + docs/item_set_names.md | 8 + docs/item_soulbound_trade_data.md | 6 + docs/item_template.md | 143 ++++++++ docs/lag_reports.md | 13 + docs/lfg_data.md | 7 + docs/lfg_dungeon_rewards.md | 8 + docs/lfg_dungeon_template.md | 10 + docs/linked_respawn.md | 7 + docs/locales_achievement_reward.md | 21 ++ docs/locales_broadcast_text.md | 22 ++ docs/locales_creature_text.md | 15 + docs/locales_gossip_menu_option.md | 22 ++ docs/locales_item.md | 22 ++ docs/locales_item_set_names.md | 13 + docs/locales_npc_text.md | 133 +++++++ docs/locales_page_text.md | 13 + docs/locales_points_of_interest.md | 13 + docs/locales_quest.md | 94 +++++ docs/log_arena_fights.md | 17 + docs/log_arena_memberstats.md | 14 + docs/log_encounter.md | 10 + docs/log_money.md | 13 + docs/logs.md | 9 + docs/mail.md | 18 + docs/mail_items.md | 7 + docs/mail_level_reward.md | 8 + docs/mail_loot_template.md | 11 + docs/milling_loot_template.md | 11 + docs/npc_spellclick_spells.md | 8 + docs/npc_text.md | 86 +++++ docs/npc_trainer.md | 10 + docs/npc_vendor.md | 10 + docs/outdoorpvp_template.md | 7 + docs/page_text.md | 8 + docs/pet_aura.md | 19 + docs/pet_levelstats.md | 16 + docs/pet_name_generation.md | 8 + docs/pet_spell.md | 7 + docs/pet_spell_cooldown.md | 7 + docs/petition.md | 8 + docs/petition_sign.md | 9 + docs/pickpocketing_loot_template.md | 11 + docs/player_classlevelstats.md | 8 + docs/player_factionchange_achievement.md | 6 + docs/player_factionchange_items.md | 8 + docs/player_factionchange_quests.md | 6 + docs/player_factionchange_reputations.md | 6 + docs/player_factionchange_spells.md | 8 + docs/player_factionchange_titles.md | 6 + docs/player_levelstats.md | 12 + docs/player_xp_for_level.md | 6 + docs/playercreateinfo.md | 12 + docs/playercreateinfo_action.md | 9 + docs/playercreateinfo_item.md | 8 + docs/playercreateinfo_spell.md | 8 + docs/playercreateinfo_spell_custom.md | 8 + docs/points_of_interest.md | 11 + docs/pool_creature.md | 8 + docs/pool_gameobject.md | 8 + docs/pool_pool.md | 8 + docs/pool_quest.md | 7 + docs/pool_quest_save.md | 6 + docs/pool_template.md | 7 + docs/prospecting_loot_template.md | 11 + docs/pvpstats_battlegrounds.md | 9 + docs/pvpstats_players.md | 18 + docs/quest_poi.md | 12 + docs/quest_poi_points.md | 9 + docs/quest_template.md | 129 +++++++ docs/quest_template_addon.md | 21 ++ docs/realmcharacters.md | 7 + docs/realmlist.md | 16 + docs/reference_loot_template.md | 11 + docs/release_0.x.md | 3 + docs/release_1.x.md | 3 + docs/reputation_reward_rate.md | 12 + docs/reputation_spillover_template.md | 17 + docs/requirements_0.x.md | 56 +++ docs/requirements_1.x.md | 52 +++ docs/reserved_name.md | 5 + docs/script_waypoint.md | 11 + docs/skill_discovery_template.md | 8 + docs/skill_extra_item_template.md | 8 + docs/skill_fishing_base_level.md | 6 + docs/skinning_loot_template.md | 11 + docs/smart_scripts.md | 32 ++ docs/spell_area.md | 14 + docs/spell_bonus_data.md | 10 + docs/spell_custom_attr.md | 6 + docs/spell_dbc.md | 100 ++++++ docs/spell_enchant_proc_data.md | 8 + docs/spell_group.md | 7 + docs/spell_group_stack_rules.md | 7 + docs/spell_linked_spell.md | 8 + docs/spell_loot_template.md | 11 + docs/spell_mixology.md | 6 + docs/spell_pet_auras.md | 8 + docs/spell_proc.md | 19 + docs/spell_proc_event.md | 15 + docs/spell_ranks.md | 7 + docs/spell_required.md | 6 + docs/spell_script_names.md | 6 + docs/spell_scripts.md | 15 + docs/spell_target_position.md | 11 + docs/spell_threat.md | 8 + docs/spelldifficulty_dbc.md | 9 + docs/transports.md | 8 + docs/trinity_string.md | 14 + docs/uptime.md | 9 + docs/vehicle_accessory.md | 11 + docs/vehicle_template_accessory.md | 11 + docs/version.md | 8 + docs/version_db_auth.md | 7 + docs/version_db_characters.md | 7 + docs/version_db_world.md | 7 + docs/warden_action.md | 6 + docs/warden_checks.md | 12 + docs/waypoint_data.md | 15 + docs/waypoint_scripts.md | 15 + docs/waypoints.md | 10 + docs/worldstates.md | 7 + 308 files changed, 6268 insertions(+) create mode 100644 docs/Auth-Database.md create mode 100644 docs/Banned_addons.md create mode 100644 docs/Bountysource.md create mode 100644 docs/CMake-options.md create mode 100644 docs/Character-Database.md create mode 100644 docs/Coding-Standards.md create mode 100644 docs/Contribute.md create mode 100644 docs/Create-a-Module.md create mode 100644 docs/Create-a-Script.md create mode 100644 docs/Create-a-new-Hook.md create mode 100644 docs/Creating-Accounts.md create mode 100644 docs/Database-Setup.md create mode 100644 docs/Database-Structure.md create mode 100644 docs/Dealing-with-SQL-files.md create mode 100644 docs/Directory-Structure.md create mode 100644 docs/Extract-Client-Data.md create mode 100644 docs/FAQ.md create mode 100644 docs/Hooks-Bash.md create mode 100644 docs/Hooks-Cmake.md create mode 100644 docs/How-to-ask-for-help.md create mode 100644 docs/How-to-find-TrinityCore-commits-of-specific-code-addition.md create mode 100644 docs/How-to-spot-db-struct-diff-commits.md create mode 100644 docs/How-to-test-DB-only-changes.md create mode 100644 docs/How-to-test-a-PR.md create mode 100644 docs/Improve-performance-by-disabling-optional-features.md create mode 100644 docs/Install-with-Docker.md create mode 100644 docs/Original-SunwellCore-Description.md create mode 100644 docs/Previous-Version-Documentation.md create mode 100644 docs/Project-Versioning.md create mode 100644 docs/Remote-Access.md create mode 100644 docs/Requirements.md create mode 100644 docs/SQL-Versioning.md create mode 100644 docs/Syncing-your-fork.md create mode 100644 docs/The-Modular-Structure.md create mode 100644 docs/The-Staging-Branch.md create mode 100644 docs/Update.md create mode 100644 docs/Upgrade-from-pre-2.0.0-to-latest-master.md create mode 100644 docs/World-Database.md create mode 100644 docs/access_requirement.md create mode 100644 docs/account.md create mode 100644 docs/account_access.md create mode 100644 docs/account_banned.md create mode 100644 docs/account_data.md create mode 100644 docs/account_instance_times.md create mode 100644 docs/account_tutorial.md create mode 100644 docs/achievement_criteria_data.md create mode 100644 docs/achievement_dbc.md create mode 100644 docs/achievement_reward.md create mode 100644 docs/addons.md create mode 100644 docs/areatrigger_involvedrelation.md create mode 100644 docs/areatrigger_scripts.md create mode 100644 docs/areatrigger_tavern.md create mode 100644 docs/areatrigger_teleport.md create mode 100644 docs/arena_team.md create mode 100644 docs/arena_team_member.md create mode 100644 docs/auctionhouse.md create mode 100644 docs/autobroadcast.md create mode 100644 docs/battleground_deserters.md create mode 100644 docs/battleground_template.md create mode 100644 docs/battlemaster_entry.md create mode 100644 docs/broadcast_text.md create mode 100644 docs/bugreport.md create mode 100644 docs/calendar_events.md create mode 100644 docs/calendar_invites.md create mode 100644 docs/channels.md create mode 100644 docs/channels_bans.md create mode 100644 docs/channels_rights.md create mode 100644 docs/character_account_data.md create mode 100644 docs/character_achievement.md create mode 100644 docs/character_achievement_progress.md create mode 100644 docs/character_action.md create mode 100644 docs/character_arena_stats.md create mode 100644 docs/character_aura.md create mode 100644 docs/character_banned.md create mode 100644 docs/character_battleground_random.md create mode 100644 docs/character_brew_of_the_month.md create mode 100644 docs/character_declinedname.md create mode 100644 docs/character_entry_point.md create mode 100644 docs/character_equipmentsets.md create mode 100644 docs/character_gifts.md create mode 100644 docs/character_glyphs.md create mode 100644 docs/character_homebind.md create mode 100644 docs/character_instance.md create mode 100644 docs/character_inventory.md create mode 100644 docs/character_pet.md create mode 100644 docs/character_pet_declinedname.md create mode 100644 docs/character_queststatus.md create mode 100644 docs/character_queststatus_daily.md create mode 100644 docs/character_queststatus_monthly.md create mode 100644 docs/character_queststatus_rewarded.md create mode 100644 docs/character_queststatus_seasonal.md create mode 100644 docs/character_queststatus_weekly.md create mode 100644 docs/character_reputation.md create mode 100644 docs/character_skills.md create mode 100644 docs/character_social.md create mode 100644 docs/character_spell.md create mode 100644 docs/character_spell_cooldown.md create mode 100644 docs/character_stats.md create mode 100644 docs/character_talent.md create mode 100644 docs/characters.md create mode 100644 docs/cheaters.md create mode 100644 docs/command.md create mode 100644 docs/conditions.md create mode 100644 docs/corpse.md create mode 100644 docs/creature.md create mode 100644 docs/creature_addon.md create mode 100644 docs/creature_classlevelstats.md create mode 100644 docs/creature_equip_template.md create mode 100644 docs/creature_formations.md create mode 100644 docs/creature_loot_template.md create mode 100644 docs/creature_model_info.md create mode 100644 docs/creature_onkill_reputation.md create mode 100644 docs/creature_questender.md create mode 100644 docs/creature_questitem.md create mode 100644 docs/creature_queststarter.md create mode 100644 docs/creature_respawn.md create mode 100644 docs/creature_summon_groups.md create mode 100644 docs/creature_template.md create mode 100644 docs/creature_template_addon.md create mode 100644 docs/creature_template_locale.md create mode 100644 docs/creature_text.md create mode 100644 docs/db_script_string.md create mode 100644 docs/disables.md create mode 100644 docs/disenchant_loot_template.md create mode 100644 docs/event_scripts.md create mode 100644 docs/exploration_basexp.md create mode 100644 docs/fishing_loot_template.md create mode 100644 docs/game_event.md create mode 100644 docs/game_event_arena_seasons.md create mode 100644 docs/game_event_battleground_holiday.md create mode 100644 docs/game_event_condition.md create mode 100644 docs/game_event_condition_save.md create mode 100644 docs/game_event_creature.md create mode 100644 docs/game_event_creature_quest.md create mode 100644 docs/game_event_gameobject.md create mode 100644 docs/game_event_gameobject_quest.md create mode 100644 docs/game_event_model_equip.md create mode 100644 docs/game_event_npc_vendor.md create mode 100644 docs/game_event_npcflag.md create mode 100644 docs/game_event_pool.md create mode 100644 docs/game_event_prerequisite.md create mode 100644 docs/game_event_quest_condition.md create mode 100644 docs/game_event_save.md create mode 100644 docs/game_event_seasonal_questrelation.md create mode 100644 docs/game_graveyard_zone.md create mode 100644 docs/game_tele.md create mode 100644 docs/game_weather.md create mode 100644 docs/gameobject.md create mode 100644 docs/gameobject_addon.md create mode 100644 docs/gameobject_loot_template.md create mode 100644 docs/gameobject_questender.md create mode 100644 docs/gameobject_questitem.md create mode 100644 docs/gameobject_queststarter.md create mode 100644 docs/gameobject_respawn.md create mode 100644 docs/gameobject_template.md create mode 100644 docs/gameobject_template_locale.md create mode 100644 docs/gm_subsurvey.md create mode 100644 docs/gm_survey.md create mode 100644 docs/gm_ticket.md create mode 100644 docs/gossip_menu.md create mode 100644 docs/gossip_menu_option.md create mode 100644 docs/group_member.md create mode 100644 docs/groups.md create mode 100644 docs/guild.md create mode 100644 docs/guild_bank_eventlog.md create mode 100644 docs/guild_bank_item.md create mode 100644 docs/guild_bank_right.md create mode 100644 docs/guild_bank_tab.md create mode 100644 docs/guild_eventlog.md create mode 100644 docs/guild_member.md create mode 100644 docs/guild_member_withdraw.md create mode 100644 docs/guild_rank.md create mode 100644 docs/how-to-work-with-conf-files.md create mode 100644 docs/installation_0.x.md create mode 100644 docs/installation_1.x.md create mode 100644 docs/instance.md create mode 100644 docs/instance_encounters.md create mode 100644 docs/instance_reset.md create mode 100644 docs/instance_template.md create mode 100644 docs/ip2nation.md create mode 100644 docs/ip2nationCountries.md create mode 100644 docs/ip_banned.md create mode 100644 docs/item_enchantment_template.md create mode 100644 docs/item_instance.md create mode 100644 docs/item_loot_storage.md create mode 100644 docs/item_loot_template.md create mode 100644 docs/item_refund_instance.md create mode 100644 docs/item_set_names.md create mode 100644 docs/item_soulbound_trade_data.md create mode 100644 docs/item_template.md create mode 100644 docs/lag_reports.md create mode 100644 docs/lfg_data.md create mode 100644 docs/lfg_dungeon_rewards.md create mode 100644 docs/lfg_dungeon_template.md create mode 100644 docs/linked_respawn.md create mode 100644 docs/locales_achievement_reward.md create mode 100644 docs/locales_broadcast_text.md create mode 100644 docs/locales_creature_text.md create mode 100644 docs/locales_gossip_menu_option.md create mode 100644 docs/locales_item.md create mode 100644 docs/locales_item_set_names.md create mode 100644 docs/locales_npc_text.md create mode 100644 docs/locales_page_text.md create mode 100644 docs/locales_points_of_interest.md create mode 100644 docs/locales_quest.md create mode 100644 docs/log_arena_fights.md create mode 100644 docs/log_arena_memberstats.md create mode 100644 docs/log_encounter.md create mode 100644 docs/log_money.md create mode 100644 docs/logs.md create mode 100644 docs/mail.md create mode 100644 docs/mail_items.md create mode 100644 docs/mail_level_reward.md create mode 100644 docs/mail_loot_template.md create mode 100644 docs/milling_loot_template.md create mode 100644 docs/npc_spellclick_spells.md create mode 100644 docs/npc_text.md create mode 100644 docs/npc_trainer.md create mode 100644 docs/npc_vendor.md create mode 100644 docs/outdoorpvp_template.md create mode 100644 docs/page_text.md create mode 100644 docs/pet_aura.md create mode 100644 docs/pet_levelstats.md create mode 100644 docs/pet_name_generation.md create mode 100644 docs/pet_spell.md create mode 100644 docs/pet_spell_cooldown.md create mode 100644 docs/petition.md create mode 100644 docs/petition_sign.md create mode 100644 docs/pickpocketing_loot_template.md create mode 100644 docs/player_classlevelstats.md create mode 100644 docs/player_factionchange_achievement.md create mode 100644 docs/player_factionchange_items.md create mode 100644 docs/player_factionchange_quests.md create mode 100644 docs/player_factionchange_reputations.md create mode 100644 docs/player_factionchange_spells.md create mode 100644 docs/player_factionchange_titles.md create mode 100644 docs/player_levelstats.md create mode 100644 docs/player_xp_for_level.md create mode 100644 docs/playercreateinfo.md create mode 100644 docs/playercreateinfo_action.md create mode 100644 docs/playercreateinfo_item.md create mode 100644 docs/playercreateinfo_spell.md create mode 100644 docs/playercreateinfo_spell_custom.md create mode 100644 docs/points_of_interest.md create mode 100644 docs/pool_creature.md create mode 100644 docs/pool_gameobject.md create mode 100644 docs/pool_pool.md create mode 100644 docs/pool_quest.md create mode 100644 docs/pool_quest_save.md create mode 100644 docs/pool_template.md create mode 100644 docs/prospecting_loot_template.md create mode 100644 docs/pvpstats_battlegrounds.md create mode 100644 docs/pvpstats_players.md create mode 100644 docs/quest_poi.md create mode 100644 docs/quest_poi_points.md create mode 100644 docs/quest_template.md create mode 100644 docs/quest_template_addon.md create mode 100644 docs/realmcharacters.md create mode 100644 docs/realmlist.md create mode 100644 docs/reference_loot_template.md create mode 100644 docs/release_0.x.md create mode 100644 docs/release_1.x.md create mode 100644 docs/reputation_reward_rate.md create mode 100644 docs/reputation_spillover_template.md create mode 100644 docs/requirements_0.x.md create mode 100644 docs/requirements_1.x.md create mode 100644 docs/reserved_name.md create mode 100644 docs/script_waypoint.md create mode 100644 docs/skill_discovery_template.md create mode 100644 docs/skill_extra_item_template.md create mode 100644 docs/skill_fishing_base_level.md create mode 100644 docs/skinning_loot_template.md create mode 100644 docs/smart_scripts.md create mode 100644 docs/spell_area.md create mode 100644 docs/spell_bonus_data.md create mode 100644 docs/spell_custom_attr.md create mode 100644 docs/spell_dbc.md create mode 100644 docs/spell_enchant_proc_data.md create mode 100644 docs/spell_group.md create mode 100644 docs/spell_group_stack_rules.md create mode 100644 docs/spell_linked_spell.md create mode 100644 docs/spell_loot_template.md create mode 100644 docs/spell_mixology.md create mode 100644 docs/spell_pet_auras.md create mode 100644 docs/spell_proc.md create mode 100644 docs/spell_proc_event.md create mode 100644 docs/spell_ranks.md create mode 100644 docs/spell_required.md create mode 100644 docs/spell_script_names.md create mode 100644 docs/spell_scripts.md create mode 100644 docs/spell_target_position.md create mode 100644 docs/spell_threat.md create mode 100644 docs/spelldifficulty_dbc.md create mode 100644 docs/transports.md create mode 100644 docs/trinity_string.md create mode 100644 docs/uptime.md create mode 100644 docs/vehicle_accessory.md create mode 100644 docs/vehicle_template_accessory.md create mode 100644 docs/version.md create mode 100644 docs/version_db_auth.md create mode 100644 docs/version_db_characters.md create mode 100644 docs/version_db_world.md create mode 100644 docs/warden_action.md create mode 100644 docs/warden_checks.md create mode 100644 docs/waypoint_data.md create mode 100644 docs/waypoint_scripts.md create mode 100644 docs/waypoints.md create mode 100644 docs/worldstates.md (limited to 'docs') diff --git a/docs/Auth-Database.md b/docs/Auth-Database.md new file mode 100644 index 0000000..51c9887 --- /dev/null +++ b/docs/Auth-Database.md @@ -0,0 +1,12 @@ +[[Database Structure|Database Structure]] > [[Auth-Database|Auth-Database]] +* [[Account|account]] +* [[Account_access|account_access]] +* [[Account_banned|account_banned]] +* [[Autobroadcast|autobroadcast]] +* [[Ip_banned|ip_banned]] +* [[Ip2nation|ip2nation]] +* [[Ip2nationCountries|ip2nationCountries]] +* [[Logs|logs]] +* [[Realmcharacters|realmcharacters]] +* [[Realmlist|realmlist]] +* [[Version_db_auth|version_db_auth]] diff --git a/docs/Banned_addons.md b/docs/Banned_addons.md new file mode 100644 index 0000000..b9d7bb8 --- /dev/null +++ b/docs/Banned_addons.md @@ -0,0 +1,8 @@ +[[Database Structure|Database Structure]] > [[Character-Database|Character-Database]] > [[banned_addons|banned_addons]] + +Column | Type | Description +--- | --- | --- +Id | int(10) unsigned | +Name | varchar(255) | +Version | varchar(255) | +Timestamp | timestamp | diff --git a/docs/Bountysource.md b/docs/Bountysource.md new file mode 100644 index 0000000..f5e18a2 --- /dev/null +++ b/docs/Bountysource.md @@ -0,0 +1,20 @@ +Bountysource is a crowdfunding platform that allows people to sponsor any open source projects by placing "bounties" (money rewards) for the resolution of issues reported on GitHub. Whoever will fix that issue, will get the money from the bounty. + +So if you want to support a specific issue resolution, or the AzerothCore project in general, you can place bounties to our [open issues](https://github.com/azerothcore/azerothcore-wotlk/issues). + +Issues can be just bugs or even core feature requests. If you want to sponsor a non-existing issue, feel free to create it first and then apply the bounty on it. + +https://www.bountysource.com/teams/azerothcore/bounties + +I want to underline that solving the issue and claiming the bounty **is NOT restricted to AC staff only, everyone can do it! :)** + +This is how Bountysource works: + +1) Users fund bounties on open issues or feature requests they want to see addressed. +2) Developers create solutions which closes the issues and claim the corresponding bounties on Bountysource. +3) Backers can accept or reject the claims. +4) If accepted, Bountysource pays the bounties to the developer. + +## Other resources + +- [Official Bountysource FAQs](https://github.com/bountysource/core/wiki/Frequently-Asked-Questions) \ No newline at end of file diff --git a/docs/CMake-options.md b/docs/CMake-options.md new file mode 100644 index 0000000..ec0536c --- /dev/null +++ b/docs/CMake-options.md @@ -0,0 +1,9 @@ +If you want to disable performance improvement, add this flag `-DENABLE_EXTRAS=0` + +If you want to enable extra logs, add this flag: `-DENABLE_EXTRAS=1 -DENABLE_EXTRA_LOGS=1` + + +Other options are available here: + +* https://github.com/azerothcore/azerothcore-wotlk/blob/master/conf/config.cmake.dist +* https://github.com/azerothcore/azerothcore-wotlk/blob/master/src/cmake/showoptions.cmake \ No newline at end of file diff --git a/docs/Character-Database.md b/docs/Character-Database.md new file mode 100644 index 0000000..04e2e0a --- /dev/null +++ b/docs/Character-Database.md @@ -0,0 +1,96 @@ +[[Database Structure|Database Structure]] > [[Character-Database|Character-Database]] +* [[Account_data|account_data]] +* [[Account_instance_times|account_instance_times]] +* [[Account_tutorial|account_tutorial]] +* [[Addons|addons]] +* [[Arena_team|arena_team]] +* [[Arena_team_member|arena_team_member]] +* [[Auctionhouse|auctionhouse]] +* [[Banned_addons|banned_addons]] +* [[Battleground_deserters|battleground_deserters]] +* [[Bugreport|bugreport]] +* [[Calendar_events|calendar_events]] +* [[Calendar_invites|calendar_invites]] +* [[Channels|channels]] +* [[Channels_bans|channels_bans]] +* [[Channels_rights|channels_rights]] +* [[Character_account_data|character_account_data]] +* [[Character_achievement|character_achievement]] +* [[Character_achievement_progress|character_achievement_progress]] +* [[Character_action|character_action]] +* [[Character_arena_stats|character_arena_stats]] +* [[Character_aura|character_aura]] +* [[Character_banned|character_banned]] +* [[Character_battleground_random|character_battleground_random]] +* [[Character_brew_of_the_month|character_brew_of_the_month]] +* [[Character_declinedname|character_declinedname]] +* [[Character_entry_point|character_entry_point]] +* [[Character_equipmentsets|character_equipmentsets]] +* [[Character_gifts|character_gifts]] +* [[Character_glyphs|character_glyphs]] +* [[Character_homebind|character_homebind]] +* [[Character_instance|character_instance]] +* [[Character_inventory|character_inventory]] +* [[Character_pet|character_pet]] +* [[Character_pet_declinedname|character_pet_declinedname]] +* [[Character_queststatus|character_queststatus]] +* [[Character_queststatus_daily|character_queststatus_daily]] +* [[Character_queststatus_monthly|character_queststatus_monthly]] +* [[Character_queststatus_rewarded|character_queststatus_rewarded]] +* [[Character_queststatus_seasonal|character_queststatus_seasonal]] +* [[Character_queststatus_weekly|character_queststatus_weekly]] +* [[Character_reputation|character_reputation]] +* [[Character_skills|character_skills]] +* [[Character_social|character_social]] +* [[Character_spell|character_spell]] +* [[Character_spell_cooldown|character_spell_cooldown]] +* [[Character_stats|character_stats]] +* [[Character_talent|character_talent]] +* [[Characters|characters]] +* [[Cheaters|cheaters]] +* [[Corpse|corpse]] +* [[Creature_respawn|creature_respawn]] +* [[Game_event_condition_save|game_event_condition_save]] +* [[Game_event_save|game_event_save]] +* [[Gameobject_respawn|gameobject_respawn]] +* [[Gm_subsurvey|gm_subsurvey]] +* [[Gm_survey|gm_survey]] +* [[Gm_ticket|gm_ticket]] +* [[Group_member|group_member]] +* [[Groups|groups]] +* [[Guild|guild]] +* [[Guild_bank_eventlog|guild_bank_eventlog]] +* [[Guild_bank_item|guild_bank_item]] +* [[Guild_bank_right|guild_bank_right]] +* [[Guild_bank_tab|guild_bank_tab]] +* [[Guild_eventlog|guild_eventlog]] +* [[Guild_member|guild_member]] +* [[Guild_member_withdraw|guild_member_withdraw]] +* [[Guild_rank|guild_rank]] +* [[Instance|instance]] +* [[Instance_reset|instance_reset]] +* [[Item_instance|item_instance]] +* [[Item_loot_storage|item_loot_storage]] +* [[Item_refund_instance|item_refund_instance]] +* [[Item_soulbound_trade_data|item_soulbound_trade_data]] +* [[Lag_reports|lag_reports]] +* [[Lfg_data|lfg_data]] +* [[Log_arena_fights|log_arena_fights]] +* [[Log_arena_memberstats|log_arena_memberstats]] +* [[Log_encounter|log_encounter]] +* [[Log_money|log_money]] +* [[Mail|mail]] +* [[Mail_items|mail_items]] +* [[Pet_aura|pet_aura]] +* [[Pet_spell|pet_spell]] +* [[Pet_spell_cooldown|pet_spell_cooldown]] +* [[Petition|petition]] +* [[Petition_sign|petition_sign]] +* [[Pool_quest_save|pool_quest_save]] +* [[Pvpstats_battlegrounds|pvpstats_battlegrounds]] +* [[Pvpstats_players|pvpstats_players]] +* [[Reserved_name|reserved_name]] +* [[Uptime|uptime]] +* [[Version_db_characters|version_db_characters]] +* [[Warden_action|warden_action]] +* [[Worldstates|worldstates]] diff --git a/docs/Coding-Standards.md b/docs/Coding-Standards.md new file mode 100644 index 0000000..46da312 --- /dev/null +++ b/docs/Coding-Standards.md @@ -0,0 +1,33 @@ +**Under working...** + + + +## Cpp inclusions + +### **In PCH files:** + +headers that doesn't have to be modified often + +### **Cpp:** + +all needed headers. To improve compilation speed, you can add headers that are often used inside PCH files. + +### **In other headers (.h) files:** + +only necessary inclusions that contains references to elements directly used in this header. + +For example, if your header is using the class Player as a function parameter, of course you need to #include "Player.h" otherwise it won't compile. But try to avoid inclusions that contains elements only used by the .cpp files if you don't really need it. It is useless and can generate various issues that can't be always solved with [forward-declaration](https://en.wikipedia.org/wiki/Forward_declaration). + + +## Cpp Syntax: + +We don't have lots of restriction on coding styles ( brackets orders etc. ) , because with a modular structure is quite impossible to control it at 100%. However you MUST follow these rules : + +- We DO NOT ACCEPT tabs in code, you must convert tabs in 4 spaces ( you can change your IDE/editor settings, they must have this option, otherwise uninstall it ) + +- Use CamelCase for classes, UPPER_CASE for defines and pascalCase for properties and functions. + + +**Under working...** + + diff --git a/docs/Contribute.md b/docs/Contribute.md new file mode 100644 index 0000000..872e567 --- /dev/null +++ b/docs/Contribute.md @@ -0,0 +1,85 @@ +You can contribute in several ways to AzerothCore: + +- [commenting an open issue](https://github.com/azerothcore/azerothcore-wotlk/wiki/Contribute#how-to-comment-an-issue) + +- [opening an issue](https://github.com/azerothcore/azerothcore-wotlk/wiki/Contribute#how-to-open-an-issue) + +- [testing a pull request](https://github.com/azerothcore/azerothcore-wotlk/wiki/How-to-test-a-PR) + +- [testing DB-only changes](https://github.com/azerothcore/azerothcore-wotlk/wiki/How-to-test-DB-only-changes) + +- [creating a pull request](https://github.com/azerothcore/azerothcore-wotlk/wiki/Contribute#how-to-create-a-pull-request) + +- [improving our wiki](https://github.com/azerothcore/azerothcore-wotlk/wiki/Contribute#improve-the-wiki) +## General information + +To contribute, you obviously need a github account. + +## How to comment an issue + +You can help much by checking the [issues](https://github.com/azerothcore/azerothcore-wotlk/issues) and joining their discussions. + +One thing you can do is to update your core and check if the issue is still valid on your revision, then you can write a comment **including the commit hash**. + +## How to open an issue + +Important things to do before reporting a bug: + +**1) Update your core to the latest AzerothCore revision and check whether the bug is still there** + +**2) Search among the [issues](https://github.com/azerothcore/azerothcore-wotlk/issues) to check if someone has already reported the bug, in that case you have just to comment the issue to confirm the bug (including your core revision)** + +If **(and only if)** the bug hasn't been reported yet, you can [open an issue](https://github.com/azerothcore/azerothcore-wotlk/issues/new) and include: + +- the **description of the bug**, including any useful **links** and **IDs/GUIDs/names** of any related entities (NPCs, spells, gameobjects, etc..) +- the **core revision (commit hash)** of the AzerothCore you are running on, **do not write just "latest version"** even if you have just updated your core +- if it is about a build problem, it would be useful to know also your **operating system** and **compiler version** + +## How to test a Pull Request + +- Read [How to test a PR](https://github.com/azerothcore/azerothcore-wotlk/wiki/How-to-test-a-PR). + +## How to create a Pull Request + +Official GitHub tutorial [here](https://help.github.com/articles/creating-a-pull-request/). + +In order to create a Pull Request (PR), you have to fork the AzerothCore repository (via your web browser, using the top-right Fork button) and clone your fork locally with `git clone https://github.com/YOUR_USERNAME/azerothcore-wotlk.git`. + +If you already have a local fork, remember to [sync it](https://github.com/azerothcore/azerothcore-wotlk/wiki/Syncing-your-fork) before creating a new Pull Request to avoid conflicts. + +Open a terminal and move to your local clone of the fork, then create a new branch by typing: + +`git checkout -b my-branch` (Note: **my-branch** is an arbitrary name, choose whatever you want here) + +Now add your changes to the code. + +**IMPORTANT:** If you are going to add some database contents or structure changes, read [how to deal with SQL files](https://github.com/azerothcore/azerothcore-wotlk/wiki/Dealing-with-SQL-files) first. + +Then you can commit your changes and push them: + +``` +## Select all your modified files +git add . +## Commit your changes (you can simply type "git commit -v" too) +git commit -v -m "Commit message here" +## origin = your git remote (the url of your fork) +git push origin my-branch +``` + +Now via web open your repository, switch to your new branch and click on _New pull request_ and compare our original repo/master branch with your fork/my-branch. + +**IMPORTANT:** remember to create **one separate PR for each feature/fix (use a separate branch for each PR)** + +### Describe the testing steps + +Please describe how other users should test your PR. This way people can easily check it and it will be faster to be merged. + +### Giving credit to the author of code + +If you want to submit code written by someone else, you can give credits to the author when you commit: + +`git commit --author="AuthorName " -am "Commit message here"` + +## Improve the Wiki + +Do you want to improve or add a page to our wiki? Good! Let's discuss it using [our chat](https://discord.gg/PaqQRkd). \ No newline at end of file diff --git a/docs/Create-a-Module.md b/docs/Create-a-Module.md new file mode 100644 index 0000000..b434afc --- /dev/null +++ b/docs/Create-a-Module.md @@ -0,0 +1,119 @@ +Before start we suggest you to read [[Documentation about modular structure|The-Modular-Structure]] to understand the way AzerothCore works. + +## **How to create a module** + + +### Ressources + +- Module template: [https://github.com/azerothcore/skeleton-module](https://github.com/azerothcore/skeleton-module) +- Script template: https://github.com/azerothcore/azerothcore-boilerplates +- All the hooks in the core are listed in [ScriptMgr.cpp](https://github.com/azerothcore/azerothcore-wotlk/blob/master/src/server/game/Scripting/ScriptMgr.cpp). If you need custom hooks, they can be added to the core. + + + +### **The Basis** + +1. Create a folder inside modules/ directory + +2. Create a CMakeLists.txt file in the root path of your module +it will be automatically detected by cmake when you [re]configure your project. + +3. Now you can develop add anything to the main project, such as some scripts or +even an entire library + +Note: we suggest to use the [[directory structure|Directory-Structure]] standards of AzerothCore to better organize your modules and be familiar with main project. + +### **Add the first script** + +1. Before continue, we suggest you to follow our guide on how to create a script for AzerothCore + +2. After you’ve created your script you’ve to create a .h file to handle the script loading. + + For example ( Assuming you’ve created an src folder ): + + **src/loader.h** + + `void AddMyCustomScripts();` + + NOTE: AddMyCustomScripts is composed by: + + Add (Prefix) + + MyCustom (An unique name identifier for your script to avoid function collisions) + + Scripts ( Suffix ) + +3. Now you’ve to include your loader in your cmake using a simple MACRO ( Assuming that your script is called MyCustom.cpp ): + +``` +AC_ADD_SCRIPT("${CMAKE_CURRENT_LIST_DIR}/src/MyCustom.cpp") +AC_ADD_SCRIPT_LOADER("MyCustom" "${CMAKE_CURRENT_LIST_DIR}/src/loader.h") +``` + +First parameter is your module identifier + +Second parameter is the path of your loader header. + +Now you can add all scripts you want to your server just creating their instances inside AddMyCustomScripts() function, or using cmake macro above. + +### **Create a custom configuration file** + +if you need to add a custom configuration file to your module that will be installed with server, the steps are very simple. + +Before starting, you should have created the loader files described previously. + +1. Create a world script with this basic structure: + + +``` + #include "Configuration/Config.h" + #include "ScriptMgr.h" + + class MyWorldScript : public WorldScript + + { + public: + + MyWorldScript() : WorldScript("MyWorldScript") { } + + void OnBeforeConfigLoad(bool reload) override + { + if (!reload) { + std::string conf_path = _CONF_DIR; + std::string cfg_file = conf_path + "/my_custom.conf"; + sConfigMgr->LoadMore(cfg_file.c_str()); + } + } + }; + + void AddMyWorldScripts() + { + new MyWorldScript(); + } +``` + +2. Add your AddMyWorldScripts to your CMakeLists.txt created before + +3. Create a cmake file that must be loaded after binary installation and add this to your module CMakeLists.txt: + + ``` + ADD_HOOK(AFTER_WORLDSERVER_CMAKE "${CMAKE_CURRENT_LIST_DIR}/after_ws_install.cmake") + ``` + + of course you can call your file as you want , the AFTER_WORLDSERVER_CMAKE hook will be launched as soon as AzerothCore prepare the worldserver installation. + +4. Inside this new cmake file you’ve to put this instructions: + +``` +install(FILES "${CMAKE_SOURCE_DIR}/your_path/my_custom.conf.dist" DESTINATION ${CONF_DIR}) +``` + +Change "your_path" part with path to your conf file, for example: + +/modules/my_module/conf/my_custom.conf.dist + +### **Add your db files to db_assembler** + +you are able to create base, updates and custom sql that will be automatically loaded in our db_assembler + +**work in progress….** diff --git a/docs/Create-a-Script.md b/docs/Create-a-Script.md new file mode 100644 index 0000000..bc319a1 --- /dev/null +++ b/docs/Create-a-Script.md @@ -0,0 +1,23 @@ +# Script vs module + +On AzerothCore, we don't really use the usual scripts like in other emulators. Instead, we work with modules which are way more practical to use. See https://github.com/azerothcore/azerothcore-wotlk/wiki/Create-a-Module + + +# Scripts + +You still want to make a simple script before switching to modules? Read below. + + +## How to learn + +If you never made any script before, you can study some of the **[modules' scripts](http://www.azerothcore.org/modules-catalogue/)**, compare, dissect etc... If you find some open issues, fix them to improve your skills! + + +## How to create a script from scratch + +You can use this as a base: https://github.com/azerothcore/azerothcore-boilerplates + + +## How to add your custom script to AzerothCore + +For your script to be compiled, read the README.md **[here](https://github.com/azerothcore/azerothcore-wotlk/blob/master/src/server/scripts/Custom/README.md)** \ No newline at end of file diff --git a/docs/Create-a-new-Hook.md b/docs/Create-a-new-Hook.md new file mode 100644 index 0000000..ebf2ccb --- /dev/null +++ b/docs/Create-a-new-Hook.md @@ -0,0 +1,5 @@ +Sometime you need some new hooks for your custom module + +there are few steps to create it and you can see a real example here: + +https://github.com/azerothcore/azerothcore-wotlk/commit/15b1a99b55bf01cd6975cc4da3994778d36edb35 \ No newline at end of file diff --git a/docs/Creating-Accounts.md b/docs/Creating-Accounts.md new file mode 100644 index 0000000..3a72f32 --- /dev/null +++ b/docs/Creating-Accounts.md @@ -0,0 +1,39 @@ +# Verifying Your Installation + +Your initial installation of AzerothCore will come with 10 default test accounts. These accounts are named test1 through test10. The default password for all of these accounts is `a` (literally the letter). These accounts can be used to test your worldserver functionality without needing to create an account immediately. + +> If you choose to leave your test accounts on your server then it is recommended to log into each of them and change the password. You can create a character on the account, enter the game and use the `.account password` command to modify it. + +# Creating Your First Account + +Your first account will need to be created from the worldserver console. After you start the worldserver it will function as an interactive console. In your worldserver console you can use the following command to create a new user: + +`account create ` + +Note that any gm commands issued from the worldconsole do not require a . in front of them as all inputs are considered server commands. This will create a basic account with no admin rights. Here is an example of creating an account with the name acoreuser and abc123 as the password: + +`account create acoreuser abc123` + +# Modifying Account GM Levels + +From the worldserver console you can use the account set gmlevel command to modify the gm rights for user. The available levels range from 0 (no access) to 3 (most access). The following command is used to set gm levels for an account: + +`account set gmlevel ` + +The realm ID indicates what realm their account will have GM access to. If you only have one realm or if you want the account to have blanket gm privleges to all realms just use -1. Otherwise you will use the realm id in your auth.realmlist table. To give our acoreuser full gm rights on all realms we'd run the following command: + +`account set gmlevel acoreuser 3 -1` + +# Higher Level Access + +It is possible to give a user level 4 GM access which will give them the ability to do account management in-game. This is not recommended as they will have access not only to create, but also delete accounts. If you want to provide them this access you can either use your preferred MySQL application to modify the needed tables or do it from the mysql command line. If doing it from the MySQL console just use the following command: + +`UPDATE auth.account_access AS access +INNER JOIN auth.account AS account ON access.id = account.id +SET gmlevel = '4' WHERE name = '';` + +In this case we are assuming you used the default database name of auth. If you named your database differently make sure to change it in the preceding code. If we wanted to change our acoreuser to a GM level of 4 we would execute the following sql command: + +`UPDATE auth.account_access AS access +INNER JOIN auth.account AS account ON access.id = account.id +SET gmlevel = '4' WHERE name = 'acoreuser';` \ No newline at end of file diff --git a/docs/Database-Setup.md b/docs/Database-Setup.md new file mode 100644 index 0000000..f028c01 --- /dev/null +++ b/docs/Database-Setup.md @@ -0,0 +1,45 @@ +You can setup the database manually or using the automated script. + +## Setup the DB using the automated script (recommended) + +### Edit script configuration + +- Copy the file `conf/config.sh.dist` to `conf/config.sh` +- Open the `conf/config.sh` with any text editor +- Go to the secion `DB EXPORTER/IMPORTER CONFIGURATIONS` +- Edit the variables accordingly, e.g. you most likely need to edit `MYSQL_USER` and `MYSQL_PASS` variables putting your mysql server settings. + +### Run the script + +**Note**: if you're using MySQL 5.7, first run `mysql -e "SET GLOBAL sql_mode = '';" -u root -p` first (replace `root` with your mysql user). + +- Run `bash apps/db_assembler/db_assembler.sh` +- Select `import-all: Assemble & Import all` +- Once the process is finished, you can exit the script. + +## Setup the DB using the automated script manually + +### MySQL client tool + +In order to set up your database, you can use whatever MySQL client you like. Some examples are [HeidiSQL](http://www.heidisql.com/download.php), [SequelPro](http://www.sequelpro.com/) and [phpMyAdmin](https://www.phpmyadmin.net/). + +We will assume that you already know how to perform the basic tasks like creating a new database, selecting a database and importing a SQL dump file. If you don't, don't worry: it's very easy and you will find a lot of guides on Google, whatever MySQL client tool you're using. + +### Creating the databases + +Create three empty databases: + +- `acore_world` +- `acore_characters` +- `acore_auth` + + +### Importing the SQL files + +The SQL files are located under `/data/sql/` directory. + +In `data/sql/base` there are the files to create the base structure & contents for the 3 database (world, auth and characters). + +Similarly, in `data/sql/updates` there are the updates that our developers add with time. + +Importing those files manually one by one is a long process that can be automated. The script `apps/db_assembler/db_assembler.sh` allows you to assemble those files (i.e. merge them together), so the process of importing them will be faster. diff --git a/docs/Database-Structure.md b/docs/Database-Structure.md new file mode 100644 index 0000000..aa07ce4 --- /dev/null +++ b/docs/Database-Structure.md @@ -0,0 +1,9 @@ +* [[Auth Database|Auth-Database]] +* [[Character Database|Character-Database]] +* [[World Database|World-Database]] + +Generated with that tool: https://github.com/Kaev/MySQL-To-CSharp + +**WARNING**: we are restructuring our DB, meanwhile some tables may have a different structure (or missing documentation). Meanwhile, you can have a look at the TC DB documentation to fill the gaps: + +https://trinitycore.atlassian.net/wiki/spaces/tc/pages/74663833/World+3.3.5 \ No newline at end of file diff --git a/docs/Dealing-with-SQL-files.md b/docs/Dealing-with-SQL-files.md new file mode 100644 index 0000000..8efef40 --- /dev/null +++ b/docs/Dealing-with-SQL-files.md @@ -0,0 +1,35 @@ +## SQL Format + +If you are not confident with the SQL language, we suggest to read [this tutorial](http://www.w3schools.com/sql/default.asp) before starting. + +Also remember to: + +- always use [UPDATE](http://www.w3schools.com/sql/sql_update.asp) in order to change the value of fields of **existing rows** + +- use [INSERT](http://www.w3schools.com/sql/sql_insert.asp) in order to insert **new rows only**, but be sure to avoid import errors using [DELETE](http://www.w3schools.com/sql/sql_delete.asp) before INSERT + +- surround any table or field name with `backticks`, and string values with `single quotes`, example: + +``UPDATE `table_name` SET `field_I_want_to_change` = 'new string value' WHERE `entry` = 10 ;`` + +## How to create an sql update file + +This kind of procedure is pretty simple and allow any kind of dev, but also testers, to avoid multiple import of the same queries. + +We can proceed by steps: + +1. Go into **data/sql/updates** and choose the **pending** folder corresponding to the database you apply your SQL to (pending_db_auth or pending_db_characters or pending_db_world). + +2. Run the create_sql.sh script with your bash console. On **Windows**: Use `git bash` (right click on the file). On **Unix/Linux/OSX**: run it from the terminal directly or with "bash create_sql.sh" or execute it with a double click. + +3. Now you'll have a file called **rev_[a_long_number].sql** , you can open it and add your queries into. + +4. Commit with Git and push to github. Follow our tutorial to create a Pull Request. + + +-------- +This feature grants you ( dev / tester / user ) to: + +- create PR without going crazy with the alter table header, but avoiding multiple imports +- avoid wrong order of updates +- avoid data inconsistency if an sql generates an error \ No newline at end of file diff --git a/docs/Directory-Structure.md b/docs/Directory-Structure.md new file mode 100644 index 0000000..ea41164 --- /dev/null +++ b/docs/Directory-Structure.md @@ -0,0 +1,49 @@ +AzerothCore and our modules is following directory structure standard from hw-core: + +Standard Directory Structure + +This structure is conformed to our [[modular architecture|The-Modular-Structure]] + +##  AzerothCore Wotlk directory structure: + +- **bin** + contains binaries/scripts for this project + +- **conf** + Project configuration files + + +- **data** + All data such as sql, documents etc. + +- **modules** + - **acore** + - **game-framework** + Package that contains the framework to implement a wow server + + - **extractors** + Collection of ClientData extractors tools + + + - **[other-modules]** + + - **worldengine** + - **deps** + package that contains required legacy 3rd party deps for worldengine. In future will will use dedicated modules + + + - **nucleus** + [Re]sources required by entire worldengine system + + - **[other-modules]** + All other modules from worldengine, such as lib-collision etc. We will use only them required by azerothcore project. + + - **uwd** + mostly tools and other useful modules + + + - **hw-core** + generic cross-language and cross-platform libraries + +- **src** + All sources strictly related to this application/project and wotlk server version \ No newline at end of file diff --git a/docs/Extract-Client-Data.md b/docs/Extract-Client-Data.md new file mode 100644 index 0000000..d44e3a5 --- /dev/null +++ b/docs/Extract-Client-Data.md @@ -0,0 +1,43 @@ +# Windows + +## Extracting DBC, Maps, VMaps & MMaps +AzerothCore requires certain files obtained from World of Warcraft client. + +1. First of all we need to do a small modification in CMake: check **Grouped** and **Advanced** boxes. Then drop down **Ungrouped Entries** and check **TOOLS** box. (like shown in the image below) + +![](https://i.ibb.co/9ZFsCtH/azeroth-cmake-tools.png) + +Next press Configue and then Generate. + +2. Open **AzerothCore.sln** and Build the solution (Ctrl+Shift+B) + +### Now that you have the source compiled, you can proceed to the next step. + +3. Go to your AzerothCore build directory (E.g. AzerothCore335\build\bin\Release) and copy the following files to your World of Warcraft directory (E.g. D:\World of Warcraft 3.3.5a (no install)) +* **ace.dll** +* **mapextractor.exe** +* **mmaps_generator.exe** +* **vmap4assembler.exe** +* **vmap4extractor.exe** +* **[extract_vmaps.bat](https://pastebin.com/KKMurZ4D)** + +4. First, you must extract **dbc** and **maps**. Go ahead and click on **mapextractor.exe**. You must wait until this process is completed. + +5. Next, we need to extract **Buildings**. Go ahead and click on **vmap4extractor.exe**. You must wait until this process is completed. + +6. Now we need to assembly **vmaps**. Click on **extract_vmaps.bat**. Same thing, you must wait until this process is completed. + +7. Next, we need to extract **mmaps**. Go ahead and click on **mmaps_generator.exe**. +**NOTE: This process will take up to a few hours, depending on your computer specs.** + +Now that everything is completed, you need to copy **dbc**, **maps**, **vmaps** and **mmaps** folders to your AzerothCore build directory (E.g. AzerothCore335\build\bin\Release). + + +*** + + +This guide was written by [mindsear](https://github.com/mindsear). + + + + diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 0000000..8c43e07 --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,25 @@ +## COMMON QUESTIONS + +#### 1 - How can I contribute? I am not a developer, I know nothing useful. + +- You can help us by testing our [Pull Requests](https://github.com/azerothcore/azerothcore-wotlk/wiki/Contribute#how-to-test-a-pull-request), and participating on the github issues' discussions. You can also provide support when you can in our discord, on the popular [stackoverflow](https://stackoverflow.com/questions/tagged/azerothcore) and on other emulation forums (ac-web.org for example). You can also help us with documentation (this wiki, or the readme), we need help with that too! +- If you're a developer, check out this page: https://github.com/azerothcore/azerothcore-wotlk/wiki/Contribute + +#### 2 - Why is AzerothCore using more ram than TrinityCore? + +AzerothCore is based on SunwellCore (a fork from TC). SunwellCore was a public server with 4000 players online and they made sure their core could handle that amount of player easily. Reading data from the ram is much faster than reading